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.

Using RTEMS/VxWorks on ARM® Cortex™ – R4F 32-bit RISC CPU

Other Parts Discussed in Thread: TMS570LS3137

Is there a way to use the following operating system RTEMS http://www.rtems.org/ on ARM® Cortex™ – R4F 32-bit RISC CPU ? Please direct me to the correct documentation for the same.

I wish to use the EPICS system http://www.aps.anl.gov/epics/  which requires the RTEMS OS running. It is possible to run EPICS using VxWorks also. Please let me know if it is possible to do this.

  • Hello,

    Known good and supported operating systems for the Hercules family are noted on this page:  http://www.ti.com/mcu/docs/mcuprodtoolsw.tsp?sectionId=95&tabId=2661&familyId=1870&toolTypeId=1#rtos.  It is possible that other operating systems written for ARM architecture may work, but we cannot provide any confirmation or guidance beyond the products which we have listed.

    I have not heard of customers using the RTEMS product.  A quick review of their Wiki (http://wiki.rtems.org/wiki/index.php/SupportedCPUs) claims "ARM with many CPU models" and "ARM Thumb" are supported.  Unfortunately this is quite a vague statement.  I would recommend that you contact the RTEMS developers for clarification.

    Regards,

    Karl

  • Hi,

    I have been in contact with the RTEMS developers. I am still in the process of figuring out whether the Cortex-R4 CPU on the TMS570LS3137 MCU is supported.

    As far as I have read from the Cortex R4 White Paper http://www.arm.com/files/pdf/Cortex-R4-white-paper.pdf  the CPU implements the ARMv7 architecture.

    And the wiki-page of RTEMS specifies that ARMv7 architecture is supported.

    Please confirm the details about ARMv7 architecture. Then I can proceed with developing a Board Support Package for the TMS570LS3137 chip.

    Regards,

    Pritesh

  • Hi Pritesh,

    Unfortunately it is not as simple as saying "v7" - this is not a complete answer.  There are three profiles of the v7 ARM architecture - v7A (application processors), v7R (real time control), and v7M (microcontroller).  The Cortex R devices are built in the ARM v7R profile.  v7A and v7R are highly compatible, but there are key differences in the memory architecture.  v7A supports the ARM VMSA - virtual memory system architecture, which includes a virtual memory MMU.  v7R supports the ARM PMSA - protected memory system architecture, which applies an MPU instead of the MMU.  

    Common v7A products include Cortex A8, Cortex A9, and Cortex A15.

    Common v7R products include Cortex R4, Cortex R5, and Cortex R7.

    Common v7M products include Cortex M0, Cortex M3, and Cortex M4.

    From the wiki page of the RTEMS web site I can only find this reference:  http://wiki.rtems.org/wiki/index.php/SupportedCPUs, which notes support for "ARM with many CPU models" and "ARM Thumb" which really doesn't provide clarification.  Searching the wiki found another page: http://wiki.rtems.org/wiki/index.php/ARM-EABI  which seems to indicate ARMv7R support in "MultiLib4", but I am not sure if this is just a library or full RTOS support.  If you consider the page on BSPs here:  http://wiki.rtems.org/wiki/index.php/Board_Support_Packages then there are examples for ARM v7M (Stellaris, uses TI Cortex M3) and v7A (BeagleBoard, uses TI Cortex A8).

    Based on the info available, it may work on an ARM v7R product but you will need to contact the RTEMS developers for more info.

    Regards,
    Karl 

  • Pritesh,

    I confirm that Cortex R4 is based on ARMv7-R Architecture.
    TMS570LS3137 is based on Cortex R4.

  • Pritesh,

    What is the status of this thread? Did we answered your question? 

    Please if you are satisfied with our response, please mark is as "verified answer" so we can close this thread.

  • TMS570LS3137 / TMS570LS31 HDK is fully supported by RTEMS 4.11 release and mainline GIT code base.

    BSP directory

    git.rtems.org/.../tms570

    BSP README

    git.rtems.org/.../README

    RTEMS application image can be configured as standalone (tms570ls3137_hdk) with included hardware initialization TMS570_USE_HWINIT_STARTUP=1 when it starts from Flash address 0 and runs required peripherals setup and self-tests or chip initialization can be left on the loader. As part of other project ( rtime.felk.cvut.cz/.../ ), we have implemented automotive XCP protocol over ETHERNET loader.