UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor kgraefe
Visitor
277 Views
Registered: ‎08-21-2019

ZCU102: FreeRTOS does not work on Cortex A53 Cores 2 and 3

Hello,

I am trying to run FreeRTOS on the third or fourth A53 core of the ZCU102. Unfortunately it seems that the scheduler does not fully work on those cores. The issue can be reproduced easily by creating a new FreeRTOS Hello World project with SDK 2019.1:

sdk1.pngsdk2.png

The buggy behavior is that the code prints the first message on serial line and stops after that:

Hello from Freertos example main

The expected output would be:

Hello from Freertos example main
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
Rx task received string from Tx task: Hello World
FreeRTOS Hello World Example PASSED

From my debugging that is because the prvTxTask() never returns from vTaskDelay() so my guess is that there's something wrong with the scheduler.

I observed this in SDK 2018.3 as well. So this thread might also be related.

Tags (2)
0 Kudos
3 Replies
Xilinx Employee
Xilinx Employee
234 Views
Registered: ‎04-15-2011

回复: ZCU102: FreeRTOS does not work on Cortex A53 Cores 2 and 3

@kgraefe I think you don't have a hypervisor, right? If so, I think this is a kind of APU AMP, which is not Xilinx supported configurations. You can find such info in UG1228.

"If the Cortex-A53 processors are operated independently, each running different system software without a common OS or hypervisor between them, they too would be considered as having an asymmetrical relationship to one another. More specifically, they would be said to be running in “unsupervised” AMP mode, indicating that there is no single software coordinating the operation of the Cortex-A53 processors. Note, however, that due to the complexities of a supervised AMP configuration on the Cortex-A53 processors, this is neither a recommended nor a Xilinx-supported configuration for the APU, as is explained in Chapter 3, System Software Considerations."

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor kgraefe
Visitor
213 Views
Registered: ‎08-21-2019

回复: ZCU102: FreeRTOS does not work on Cortex A53 Cores 2 and 3

Thank you for your reply.

I do not have a hypervisor, but in this simple example the other cores are not running at all. So this should still work, right?

Is there a hypervisor for running FreeRTOS on all cores?

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
188 Views
Registered: ‎04-15-2011

回复: ZCU102: FreeRTOS does not work on Cortex A53 Cores 2 and 3

Hi, @kgraefe 

If you are not implementing APU AMP, why don't you run FreeRTOS on A53-0? I am not sure why you have to run FreeRTOS on A53-2 or A53-3?  I suppose running FreeRTOS on A53-2/-3 might not be tested as almost all customers run FreeRTOS on A53-0.

For hypervisor usage, you can refer to below page. 

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842530/XEN+Hypervisor#XENHypervisor-2018.3

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos