Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

Linux/PROCESSOR-SDK-OMAPL138: Loading TI-RTOS DSP Firmware from Linux

$
0
0

Part Number:PROCESSOR-SDK-OMAPL138

Tool/software: Linux

Hi,

So I have a problem being able to load compiled TI-RTOS DSP Firmware from my Linux.

This DSP firmware is a modified TI-RTOS example, it's the USB Audio Example that is compiled for the OMAP-L138.

I have a added a custom resource table to the project and tried to modify the .bld file and the RTSC configuration file using some settings from the MessageQSingle example but the end results in the Linux kernel locking up completely after loading the firmware and the firmware doesn't actually work when loaded this way.

The Firmware works when loaded through the CCS Debug directly into the C6748 inside the chip through a JTAG Debugger.

root@omapl138-lcdk:~/Projects# cd /lib/firmware/
root@omapl138-lcdk:/lib/firmware# ls
ipc           rproc-dsp-fw
root@omapl138-lcdk:/lib/firmware# unlink rproc-dsp-fw
root@omapl138-lcdk:/lib/firmware# ln -s ipc/ti_platforms_evmOMAPL138_DSP/omapl138_usb_audio_dsp.out rproc-dsp-fw
root@omapl138-lcdk:/lib/firmware# ls -l
drwxr-xr-x    3 root     root          4096 Jun  4  2018 ipc
lrwxrwxrwx    1 root     root            59 Mar 26 15:31 rproc-dsp-fw -> ipc/ti_platforms_evmOMAPL138_DSP/omapl138_usb_audio_dsp.out
root@omapl138-lcdk:/lib/firmware# cd /sys/bus/platform/drivers/davinci-rproc/
root@omapl138-lcdk:/sys/bus/platform/drivers/davinci-rproc# echo davinci-rproc.0> unbind
remoteproc remoteproc0: releasing dsp
root@omapl138-lcdk:/sys/bus/platform/drivers/davinci-rproc# echo davinci-rproc.0> bind
davinci-rproc davinci-rproc.0: assigned reserved memory node dsp_cma@c3000000
remoteproc remoteproc0: dsp is available
root@omapl138-lcdk:/sys/bus/platform/drivers/davinci-rproc# remoteproc remoteproc0: powering up dsp
remoteproc remoteproc0: Booting fw image rproc-dsp-fw, size 5462468
virtio_rpmsg_bus virtio0: rpmsg host is online
remoteproc remoteproc0: registered virtio0 (type 7)
remoteproc remoteproc0: remote processor dsp is now up

This is the set of commands executes to copy the built .out file I compiled in the CCS, linking it to the system link file and then using remoteproc to execute it.

Following this, the Linux kernel locks up and the LCDK Boards has to be restarted. The Linux kernel is running from an SD Card.

In order to get the IPC source table to work, I had to modify the RTSC board settings file for the evmOMAPL138.

I had to modify the DDR to be 0xC100000 since IPC uses 0xC0000000 to 0xC1000000.

I attached the configuration, build and the project files.

I want to just be able to load the firmware via the remoteproc and the later attach Shared Memory support to be able utilize the 128 KB of ARM/DSP shared

memory to share data buffers.

(Please visit the site to view this file)

(Please visit the site to view this file)


Viewing all articles
Browse latest Browse all 17527


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>