Open MarcoSpano opened 4 months ago
Thanks @MarcoSpano for pointing out this issue. It could indeed help other in the future. I should really take time to continue this project to get to the point where the main cpu can be helped by the DSP processors...
Good job with this repo, it helped me a lot digging on how to boot even a simple code like 'Hello World' on the C6x core of the BeagleBone AI-64, thank you!
BTW even if examples 0 and 1 (PRU) are working fine out of the box, the same does not apply for the C6x core, at least on my configuration of the BB-AI64. I first tried to check inside the device tree, as you suggested, and I saw only DMA addresses between core 0 and 1 that in my case are swapped (don't know why, but that was not the issue). Digging a bit more, the system during the boot phase already start the C6x cores, so if I launch:
cat /sys/class/remoteproc/remoteproc12/firmware
I get:vision_apps_eaik/vx_app_rtos_linux_c6x_1.out
And after reading the sections of the binary you can spot the difference:
readelf -a /lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c6x_1.out
So apparently the base address in my case starts from
0xa8100000
and not at0xa6100000
, as stated in the device tree.. Changing your.cmd
file accordingly solved the issue. This can be seen also in this file:cat /opt/source/dtb-5.10-ti/src/arm64/k3-j721e-rtos-memory-map.dtsi
I don't know if the configuration I'm using is unusual, anyway I wanted to pointed this issue out if also other people got my same problem.