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!

Showing results for 
Search instead for 
Did you mean: 
Visitor giovanig
Registered: ‎03-12-2018

Is it possible to run FreeRTOS on the R5 using the RPMsg interface (ZCU102)?



I am able to run bare metal code on the R5 processor from the Linux running on the A53 in the ZCU102 platform.


I tried to run the FreeRTOS hello world demo using the same RPMsg procedure (the remoteproc filesystem interface), but I got a runtime error:


[ 6013.718289] remoteproc remoteproc0: powering up ff9a0100.zynqmp_r5_rproc
[ 6013.725404] remoteproc remoteproc0: Booting fw image freertos_hello_world.elf, size 535624
[ 6013.733640] remoteproc remoteproc0: bad phdr da 0x100000 mem 0x27bc0
[ 6013.739928] remoteproc remoteproc0: Failed to load program segments: -22
[ 6013.746664] remoteproc remoteproc0: Boot failed: -22


My question is: is it possible to run FreeRTOS on tha R5 from Linux running on A53 via remoteproc or any other way?




0 Kudos
1 Reply
Visitor giovanig
Registered: ‎03-12-2018

Re: Is it possible to run FreeRTOS on the R5 using the RPMsg interface (ZCU102)?

I was able to solve the problem.


I changed the psu_r5_ddr_0_MEM_0 in the ldscript.ld file to point to a physical memory location that is not used by Linux (reserved in device tree file). Base Address used was 0x3ED00000 and size was 0x00040000.


Another question now:


How to interrupt FreeRTOS from Linux? For instance, to inform that a new data should be read from a shared memory location. Using RPMsg, we can just use rpmsg_send or write to /dev/rpmsg0. 

0 Kudos