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/OMAP-L138: Selection of DSP, target-OS, SDK and host-OS

Part Number: OMAP-L138
Other Parts Discussed in Thread: TMS320C6748, OMAPL138

Tool/software: TI-RTOS

For the development of a mobile audio device we need a high performance DSP with low power consumption and so the choice was made for a C674x core DSP, which could be the TMS320C6748 or the OMAP-L138. The device is continuously processing audio and occasionally it needs to handle communication with a USB host (as device at 12 Mbps) and with a Bluetooth master (through the UART or HPI). The DSP core is too busy handling audio and cannot be used for handling USB/Bluetooth communication and therefore the USB/Bluetooth drivers need to run on another core.

DSP: The TMS320C6748 has two PRU cores, but as I understand from "PRU example overview" (https://e2e.ti.com/support/arm/sitara_arm/f/791/t/542390?tisearch=e2e-sitesearch&keymatch=USB%20on%20PRU) the PRU cores can not handle USB. The OMAP-L138 has an extra ARM core. Therefore, the choice was made for the OMAP-L138. Is this a correct choice?

Target-OS: The DSP core runs without OS, the PRUs are not used and for the ARM core there is the choice for Linux or RTOS. We would prefer to run RTOS on the ARM because we would like to run without external RAM for low power consumption (if that is possible). What is the best option for the ARM core: Linux or RTOS?

SDK: From the information gathered from TI's web site, I guess there are the following choices for the SDK for OMAP-L138:

  1. PROCESSOR-SDK-RTOS-OMAPL138  04_00_00_04, http://software-dl.ti.com/processor-sdk-rtos/esd/OMAPL138/04_00_00_04/index_FDS.html
  2. PROCESSOR-SDK-LINUX-OMAPL138  04_00_00_04, http://software-dl.ti.com/processor-sdk-linux/esd/OMAPL138/04_00_00_04/index_FDS.html
  3. MCSDK 01_01_00_02, http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk/latest1/index_FDS.html

Which SDK to select?

Host-OS: we can use Windows 10 or Ubuntu 14.04.05. On which host-OS we get the most stable environment?

Any help would be appreciated.

  • Hi,

    What is the best option for the ARM core: Linux or RTOS?

    It is possible to run both on ARM core, so you should be fine choosing RTOS if this is your preference. Looping the RTOS team to confirm.

    [/quote]Which SDK to select?[/quote]
    I'd recommend using the PROCESSOR-SDL-*, because MCSDK is quite old now.

    Both windows 10 & ubuntu are supported for RTOS, Ubuntu 14.04 or Ubuntu 16.04 is recommended for linux.

    Best Regards,
    Yordan
  • OMAPL13x/C674x is a good choose for this usecase as it has been used in several portable mobile radio and audio applications as you can see from some of the TI Designs.
    www.ti.com/.../tidep0040
    www.ti.com/.../tidud76a.pdf

    On OMAPL138, we have recently updated the software on this device to provide latest Code Composer Studio and TI RTOS support on both ARM and DSP and also provided a Linux port to the latest 4.4 kernel in Processor SDK so Processor SDK is the recommended software to use for this device.

    Currently supported list of drivers inside the RTOS SDK are provided here:
    processors.wiki.ti.com/.../Processor_SDK_RTOS_Release_Notes

    Linux driver set is much more comprehensive as it includes features like USB drivers that you need for your product. the USB driver support in RTOS is currently under discussion.

    you can do both RTOS and Linux development on Ubuntu 14.04 while you can only do RTOS development on Windows 10 and will need to use a virtual box with Ubuntu to do Linux development. I recommend that you look at the release notes for both SDK version before making the choice.

    Regards,
    Rahul
  • Thanks both Yordan and Rahul for your fast response. This is important information for me and now I know I can go ahead with the OMAP-L138 and the processor SDK. But I am still not sure whether to use RTOS or Linux on the ARM core. As Rahul has mentioned there is no USB driver in the RTOS processor SDK.

    What are the RAM requirements for Linux on the ARM core? Would it be possible to run it from the on-board RAM of the OMAP-L138 without any external RAM?

    Rahul Prabhu said:

    Linux driver set is much more comprehensive as it includes features like USB drivers that you need for your product. the USB driver support in RTOS is currently under discussion.

    If the discussion would lead to provide support for USB on RTOS, then what kind of time frame would be needed to deliver the USB support on RTOS?

    I am also considering taking an existing USB driver (for instance the USB driver in http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/bios_c6sdk/latest/index_FDS.html) and porting it to the RTOS/ARM environment myself. Could you give an indication on how difficult this would be and what kind of troubles I could run into?

    Regards,

    Ad

  • Hi,

    What are the RAM requirements for Linux on the ARM core? Would it be possible to run it from the on-board RAM of the OMAP-L138 without any external RAM?


    See:
    processors.wiki.ti.com/.../C6748_Development_Kit_(LCDK)
    OMAPL138 LCDK has 128 MB of RAM and it is enough to run linux.

    Best Regards,
    Yordan
  • Hi,
    I used the wrong term in my question: I meant "would it be possible to run Linux from the on-chip RAM of the OMAP-L138, maximum 384 KB?"

    Kind Regards,
    Ad
  • No, we don`t support running Linux from Onchip RAM as all of the Linux configuration assumes mDDR/DDR2 memory is attached. This doesn`t mean that it can`t be done but TI Linux SDK baseline doesn`t support this usecase.

    Regards,
    Rahul
  • Hi,

    OK, thanks, clear answer.  I will close this question, because I know which DSP / SDK/ host-OS to use and I can postpone the target-OS decision for later. Maybe later there will be more information about a RTOS-USB driver.

    Thanks for the support.

    Best Regards,

    Ad