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!
08-21-2019 10:05 AM - edited 08-21-2019 10:16 AM
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:
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.
09-02-2019 01:29 AM
@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."
09-03-2019 03:57 AM
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?
09-03-2019 07:25 PM
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