This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS: How to load and run DSP application using remoteproc on Linux.

Other Parts Discussed in Thread: OMAPL138

Tool/software: TI-RTOS

Hi there, I have installed SDK 4.0.0.4 for OMAP L138 device and am able to load and run some default rproc-dsp-fw application but would like to load and run LED flashing non OS application on DSP core.

Is this possible? 

After booting Linux, I did the following steps;

* echo 'stop' > /sys/class/remoteproc/remoteproc0/state 

* echo 'start' > /sys/class/remoteproc/remoteproc0/state 

Got following error: 

unable to find resource table 

remoteproc: boot failed -22

Please, let me know if using remoteproc it's possible to boot any custom DSP application from Linux. Thanks.

  • Hi there, I have added custom resource table from
    C:\ti\ipc_3_46_00_02\packages\ti\ipc\remoteproc\rsc_table_omapl138.h as a *.c file in to LED_Flash DSP app.

    And also added
    /* Override the default resource table with my own */
    var Resource = xdc.useModule('ti.ipc.remoteproc.Resource');
    Resource.customTable = true;

    in the app.cfg file.

    When I run this on the Linux, I get the following error:

    root@omapl138-lcdk:~# 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 remotepro
    c0: powering up dsp
    remoteproc remoteproc0: Booting fw image rproc-dsp-fw, size 4317664
    remoteproc remoteproc0: erroneous trace resource entry
    remoteproc remoteproc0: Failed to process resources: -22
  • Hi,

    Are you running TI RTOS or TI LINUX sdk on your obard, as I see you use linux, right?

    In this case see this wiki:
    processors.wiki.ti.com/.../Processor_Training:_Multimedia
    It shows the procedure for loading/unloading a firmware in TI LINUX SDK.

    Best Regards,
    Yordan
  • Right, found a way to load and run any DSP app from Linux.
    Made the following changes for this to work:
    1) Added the resource table and rsc_types.h file from ipc package to the current DSP app.
    2) Make custom resource table to be used in *.cfg file.
    3) The device tree already reserved memory for IPC; it's from 0xc3000000 of len: 0x1000000
    4) In order for the IPC to work with remoteproc, the linker file in the DSP add needs to start pointing the DDR memory from 0xc3100000; to avoid overlap with IPC.
    5) After re-building the design, replace the dspApp.out file to rproc-dsp-fw and load it to target board at /lib/firmware/

    It works after rebooting Linux ;)