Hi Experts,
What is the special feature in the CMSIS ARM RTX RTOS compared to other commercial RTOS which makes the integration smoother and gives best performance ?
Hello
RTX is a full featured RTOS for ARM processors. Most implementations are for Cortex-M although it has been ported to a Coretx-A9 and I believe to Cortex-R.
Rather than trying to distinguish between it and commercial products: here are some of the main features of RTX:
1) It is free with a BSD type license. This makes it really, really free. It is not a GPL license. There are no royalty or other fees.
2) It was created by ARM and we maintain it.
3) Source code is provided with all versions of Keil MDK 5 and also available here: RTX Real-Time Operating System Version 4.70 Evaluation Software Request
4) These versions are CMSIS-RTOS compliant.
5) Ports exist for Keil, GCC and IAR:
6) Keil uVision has two Kernel Awareness windows that update while the program is running. Other tools vendors can also provide such visibility.
7) Documentation is free on the web: CMSIS-RTOS RTX: Overview
8) The feature set can be found here: RTX Real-Time Operating System RTX has a small footprint and thread switching is quite fast.
9) The new book Getting Started with MDK 5 shows how to create RTX projects: http://www2.keil.com/docs/default-source/default-document-library/mdk5-getting-started.pdf?sfvrsn=0
10) RTX uses the SysTick timer. It does not use any other interrupts. Currently, it is for single CPU processors: not multi-processor configurations.
Hope this helps..
Bob
Hi bobboys,
Thanks for your answer.
May I know is it available for R series and other series of A ?
I would like to make few comparative analysis on the same ?
RTX is more generic: - if a processor has a SysTick timer and the user program is CMSIS-compliant (i.e. has startup_xxx.s and system_xxx.c files) - implementation of CMSIS-RTX is easy and is documented in the references I sent you.
If not, you might have to make some adjustments - but since you have the source code - you can do anything.
ARM DS-5 (www.arm.com/ds5) contains the RTX port for the Renesas RZ which is a single Cortex-A9.
Keil MDK 4 has an example project for the TI TMS570 Cortex-R4 - this is not the CMSIS-RTOS compliant version of RTX - but this can be converted by referencing this appnote: Application Note 264: Migrate from RTX to CMSIS-RTOS
This example does not use a SysTick timer (I assume the TMS570 does not have one) - but uses a different timer.
Remember RTX is not multi-core - but you can run multiple instances of it - one for each core.
If you want to play with RTX: get a supported board and a copy of the eval version of MDK (MDK 5 is best) and try it out. RTX projects in uVision are called RTX_Blinky.
Refer to this appnote to see how RTX runs: Application Note 230: MDK V5.10 Lab for the STM32F4 Discovery Board. This is for the STMicroelectronics STM32F4 Discovery board.
Thank You Bobboys !!
That's exactly what I would like to know.
Hi Bobboys,
One small issue.
I am not able to get the exact RTX code pointed by you for TI TMS570 Cortex-R4. It would be of great help if you attach or point me to any online link for the ported example code.
Thanks,
Techguyz
The project is not listed under TI in MDK 4.7, but under Keil: C:\Keil\ARM\Boards\Keil\MCBTMS570
Not sure how to attach a file ?????? I will find out....
California
Thank you Bob