I’m investigating the DSP processors on the AI-64, and I see that they are up and running on the Debian Linux distribution that comes with the board. For example, looking at “/sys/class/remoteproc/remoteproc12/state” it says “running”. The firmware is “vision_apps_eaik/vx_app_rtos_linux_c6x_1.out”.
In the “/lib/firmware” directory I can see j7-c66_0-fw.tisdk, j7-c66_1-fw.tisdk, and j7-c71_0-fw.tisdk. Also there is a vision_apps_eaik folder under firmware, with a number of “.out” files such as vx_app_rtos_linux_c6x_1.out, etc.
Looking at dmesg, I see the following:
[ 12.956528] k3-dsp-rproc 4d80800000.dsp: configured DSP for remoteproc mode
[ 12.986321] k3-dsp-rproc 4d80800000.dsp: local reset is deasserted for device
[ 13.030984] k3-dsp-rproc 4d81800000.dsp: assigned reserved memory node vision-apps-c66-dma-memory@a8000000
[ 13.044335] k3-dsp-rproc 4d81800000.dsp: configured DSP for remoteproc mode
[ 13.068549] k3-dsp-rproc 4d81800000.dsp: local reset is deasserted for device
[ 13.092159] remoteproc remoteproc12: powering up 4d80800000.dsp
[ 13.098137] remoteproc remoteproc12: Booting fw image vision_apps_eaik/vx_app_rtos_linux_c6x_1.out, size 1461044
[ 13.110395] k3-dsp-rproc 4d80800000.dsp: booting DSP core using boot addr = 0xa8d9a000
[ 13.126120] remoteproc12#vdev0buffer: assigned reserved memory node vision-apps-c66-dma-memory@a9000000
[ 13.148052] remoteproc12#vdev0buffer: registered virtio0 (type 7)
[ 13.154691] remoteproc remoteproc12: remote processor 4d80800000.dsp is now up
SO – MY QUESTION:
How was this built? Is there a CCS project I can clone or download to examine this code? Alternatively, is there a tutorial or code example to demonstrate some basic functionality in the C6x DSP?
I found a similar application for the EVM board, but I can’t find any way to build the EAIK firmware.
There is a “PRU Basics” posting which is very helpful for getting a simple GPIO example running on a PRU, it would be nice if there was something – anything – for the DSPs.