baybay
Junior Member

Offline
Posts: 37
Thank You
-Given: 19
-Receive: 62
|
 |
« Reply #25 on: September 29, 2016, 09:17:58 09:17 » |
|
You can use CMSIS-RTOS api with RTX RTOS. CMSIS-RTOS API supported by some RTOSes. if you need, you can easily change rtos library.. API is the same for your perpective.. only static library will be changed on link time.
|
|
|
|
« Last Edit: September 29, 2016, 11:47:57 23:47 by baybay »
|
Logged
|
|
|
|
monkey
Newbie
Offline
Posts: 20
Thank You
-Given: 74
-Receive: 10
|
 |
« Reply #26 on: October 21, 2016, 07:50:06 07:50 » |
|
I think any RTOS is a great choice and code will become cleaner, but use an "OS" abstraction layer so you can easily change RTOSES in the future. Start with free one of course. Look at what debug support for whatever IDE you use to help check task stacks , timers and mailboxes etc.
Many examples of abstraction layers on NXP, ST sample code. Good luck
|
|
|
|
|
Logged
|
|
|
|
baybay
Junior Member

Offline
Posts: 37
Thank You
-Given: 19
-Receive: 62
|
 |
« Reply #27 on: October 21, 2016, 08:27:22 08:27 » |
|
I think any RTOS is a great choice and code will become cleaner, but use an "OS" abstraction layer so you can easily change RTOSES in the future. Start with free one of course. Look at what debug support for whatever IDE you use to help check task stacks , timers and mailboxes etc.
Many examples of abstraction layers on NXP, ST sample code. Good luck
CMSIS-RTOS api is also abstraction layer.. 
|
|
|
|
|
Logged
|
|
|
|
anotherandrew
Active Member
 
Offline
Posts: 105
Thank You
-Given: 823
-Receive: 23
|
 |
« Reply #28 on: October 23, 2016, 12:13:54 00:13 » |
|
I'm the fan of FreeRTOS; it is fairly generic and seem to be the good standard for all ARM. CMSIS compliant version that comes with STM32Cube is also compatible with other Cortex platform. Different memory allocator allows me to tune per application, and debugging is also straight forward with gdb. Thread implementation is also reasonable with good set of common primitives.
|
|
|
|
|
Logged
|
|
|
|
nPn
Newbie
Offline
Posts: 12
Thank You
-Given: 6
-Receive: 3
|
 |
« Reply #29 on: May 01, 2017, 02:43:21 02:43 » |
|
For what it's worth, un my personal experience the greatest barriers to adopting an OS for a micro project is writing peripheral drivers.
Basic OS stuff, like memory footprint, context switching times, synchronization cost, etc are very competitive across the board. Unless you plan to build devices in massive volume with cheapest parts, it's not worth optimizing small performance deltas.
I like ChibiOS for its simple peripheral drivers (most comprehensive are for STM32), but anything where I need full peripheral functionality and have to write my own driver, I'd look at something like uCOS or RTX since it's easier to write new drivers. Their commercial licensing terms are clearer too, since they have no open source contributors.
|
|
|
|
|
Logged
|
|
|
|
WeSo
Newbie
Offline
Posts: 11
Thank You
-Given: 0
-Receive: 8
|
 |
« Reply #30 on: May 01, 2017, 11:48:26 11:48 » |
|
For what it's worth, un my personal experience the greatest barriers to adopting an OS for a micro project is writing peripheral drivers.
I agree, even the microcontrollers companies themselves have problems with it. For example, TI has its own RTOS (TI-RTOS) which doesn't work (its driver) with the I2S module of CC3200 but nevertheless the driver works perfect with FreeRTOS. Almost 3 years later, add other vote for FreeRTOS.
|
|
|
|
|
Logged
|
|
|
|
ChristosSDR
Newbie
Offline
Posts: 14
Thank You
-Given: 1
-Receive: 1
|
 |
« Reply #31 on: September 22, 2017, 09:42:59 21:42 » |
|
Did a really complex project for STM32F7 when the CPU just announced, used FreeRTOS. It still works absolutely perfect, 2 X I2S, GPIO, LCD, USB Host, streaming Ethernet UDP server and a few more all working timely together just fine. Everything I threw at it it was just doing it the way it supposed to be.
Tried to enhance the project and to port the functionality on a modern quad core, a new SBC with Linux. After some 6month frustration, managed to have it in a shape that could say ..ok but it looks flakey, not robust. Still reverting to the older project when I want to just have a look at something.
A very big thumbs-up on FreeRTOS!!
|
|
|
|
|
Logged
|
|
|
|
bobcat1
Senior Member
  
Offline
Posts: 315
Thank You
-Given: 4622
-Receive: 99
|
 |
« Reply #32 on: June 21, 2025, 08:15:25 20:15 » |
|
Hi
I have done a complex embedded works without an RTOS who include among other : using a graphic display controlling motors reading sensor running complex algorithms .....
here is my opinion :
1. Only use RTOS when you really need hard real time processing
2. Whether you working with Cortex micro (probably most of us) use CMSIS - RTOS rapping
3. RTOS consume memory & processing use the simplest RTOS with the lowest signature for simple task and vice versa.
4. whether you don't find one suitable to your need - write one - it dose's not need to be complex or Pre-emption and can be as simple as a linked list....
All the best
Bobi
|
|
|
|
|
Logged
|
|
|
|
Diecore
Junior Member

Offline
Posts: 88
Thank You
-Given: 59
-Receive: 125
|
 |
« Reply #33 on: March 28, 2026, 11:31:56 23:31 » |
|
Anyone worked with safe-critical RTOSes? What about keil v6? The professional editions is full stack for safe critical applications that is hard to find anywhere else. Full stack I mean safe-critical pre-certified ARM Compiler + Clib + RTOS https://www.keil.arm.com/keil-mdk/#mdk-v6-editions
|
|
|
|
|
Logged
|
|
|
|
Memoly
Junior Member

Offline
Posts: 50
Thank You
-Given: 44
-Receive: 40
|
 |
« Reply #34 on: April 06, 2026, 07:08:56 19:08 » |
|
|
|
|
|
|
Logged
|
|
|
|
|