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.

OMAP-L138 Booting and running DSP code before ARM Linux boot

Other Parts Discussed in Thread: OMAPL138

We have an application that we want to run on the DSP core within 1 second of powering on the device.  So we'd like to boot the DSP first, start the application, then boot the ARM core with Linux, and then ultimately have the DSP be able to communicate with the ARM core.  As I understand from the boot rom, the DSP comes up first then tells the ARM to boot up then the DSP core goes to sleep.  Then typically u boot is run on the ARM and this starts off the Linux boot.  So what is the recommended method to have the ARM run code to before the Linux boot, cause the DSP to boot and run an application?  I have the Smart Grid Infrastructure (SGI) EVM.  Which tools do I need to do this using this EVM?

  • Jeff,

    Please look at the source code implementation of the LED glow example that is provided for the OMAPL138 EVM as mentioned here. I haven`t worked with the Smart Grid Infrastructure board so I am not sure the LEDs are connected to the required GPIOs for you to try this example on your board but understanding of the boot process and implementation should help:

    http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L138

    In the ARM+DSP example, the code on the ARM simply wakes up the DSP and puts the entry point of the application in the HOSTCFG1 to kick off the application on the DSP. I believe you would have to implement something similar before the uboot gets into booting linux to achieve what you have described above.

    Software links to tools is provided on the wiki.

    Regards,

    Rahul

  • Thanks Rahul.  As for the tools, is it recommended to use the Linux version of CCS or the Windows version?

  • Hi Jeff, I'm not sure if you identified the answer to this question yet, but I noticed on the WIKI that the example projects are built for CCS 3.3 so that means you only have Windows option available if you just want to run the example "out of the box."

    Generally speaking Windows or Linux preference is your choice.  ARM side developers may prefer LINUX, DSP side Windows, but you should be able to use either of them.

    I'm curious if you'll need to change your DSP code later to run a different routine or whether this initial boot up code will be the only DSP image and run continuously after this initial boot up.