Next generation RTOS

This forum is dedicated to feedback, discussions about ongoing or future developments, ideas and suggestions regarding the ChibiOS projects are welcome. This forum is NOT for support.

Next generation RTOS

A kernel dedicated to ultra low power applications, tickless timers and supporting explicit hooks for frequency scaling.
7
26%
A kernel supporting real memory protection for stack checks and enhanced safety.
1
4%
A resident RTOS place-able in ROM or into a dedicated Flash area and detached from applications, applications would be loaded with a dedicated bootloader.
4
15%
SMP multicore support.
1
4%
Go instead for integration of more subsystems (TCP/IP, FS, graphics etc).
13
48%
Other?
1
4%
 
Total votes: 27

User avatar
Giovanni
Site Admin
Posts: 14891
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: Next generation RTOS

Post by Giovanni »

levrik wrote:
Abhishek wrote:My suggestion for the next generation of ChibiOS would be ChibiOS++, a C++ implementation of ChibiOS, and not just a wrapper. Especially, I feel that the HAL and device driver implementation should be moved. Being an OOP, it'd probably simplify portability problems across hardware a lot.

Totally agree with that. The HAL is already designed in a OOP-way but implemented in C which is definitely efficient. Implementing the drivers in C++ would transfer a considerable degree of work from designer (who has to take care manually about the interfaces, function-tables etc.) to the compiler. The C++ overhead is, if it's done right, almost negligible (see also The Inefficiency of C++ Fact or Fiction?).

Just my 2 cents.


I considered (and I am still considering) this, my problem is mainly with portability of such an approach, currently ChibiOS is portable even to the most #$%##$ proprietary compilers. If written in C++ it would be limited to G++ and very few decent and expensive commercial compilers.
Except for portability, it would not be hard to rewrite external layers directly in C++ (all interfaces, high level HAL, queues, mailboxes, semaphores, mutexes etc) keeping the core scheduler in C.

Giovanni
mobyfab
Posts: 484
Joined: Sat Nov 19, 2011 6:47 pm
Has thanked: 21 times
Been thanked: 31 times

Re: Next generation RTOS

Post by mobyfab »

Voted for more sub-systems.
That would really ease development and would definitely bring some new users.

Also, a few more ports like lpc17/18xx (Fastest CM3, LCD controller), EFM32 (low power) and Kinetis (awesome peripherals, probably the best CM4 as of now) would be really cool.
User avatar
Giovanni
Site Admin
Posts: 14891
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: Next generation RTOS

Post by Giovanni »

The kernel already supports any Cortex device and apparently most commercial customers are only interested in the kernel.

Also, currently there is not enough development bandwidth to support other families at the same level of the STM32 so most you can realistically expect is some basic support at some point.

Giovanni
mobyfab
Posts: 484
Joined: Sat Nov 19, 2011 6:47 pm
Has thanked: 21 times
Been thanked: 31 times

Re: Next generation RTOS

Post by mobyfab »

I guess this will be the job of the community then :)
User avatar
Giovanni
Site Admin
Posts: 14891
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: Next generation RTOS

Post by Giovanni »

mobyfab wrote:I guess this will be the job of the community then :)


Absolutely, I would like to see other developers taking care of whole MCU families and persist in the effort.

Giovanni
User avatar
levrik
Posts: 26
Joined: Wed Dec 21, 2011 7:35 am

Re: Next generation RTOS

Post by levrik »

Giovanni wrote:[...] my problem is mainly with portability of such an approach, currently ChibiOS is portable even to the most #$%##$ proprietary compilers. If written in C++ it would be limited to G++ and very few decent and expensive commercial compilers. [...]

I'd suspect that gcc/g++ is the compiler of choice for most of the ChibiOS-users ( only a guess ). Most compilers in the list of the officially supported ChibiOS-ports are C++ capable compilers (GCC, IAR, RVCT). The STM8 seems to lack C++ compilers.
Abhishek
Posts: 266
Joined: Wed May 23, 2012 3:15 pm

Re: Next generation RTOS

Post by Abhishek »

There are many commercial offerings for ARM based on Eclipse+GCC+G++, so I think ChibiOS++ on ARM could be a possibility.

Not sure about the two proprietary biggies in the compiler business.
colin
Posts: 149
Joined: Thu Dec 22, 2011 7:44 pm

Re: Next generation RTOS

Post by colin »

I only use gcc/g++, except for 8051 where I must use SDCC, ugh...

Anyway, a clean C++ ChibiOS++ would be nice, but a minor thing, since you can already do everything with the current design, I just say that it's a bit more effort to modify the ChibiOS/RT code. The improvement of a native C++ version would be mostly "sugar". Note that there would be NO REASON TO USE C AT ALL IN THE KERNEL. You don't pay for the C++ features you don't use, no matter how low level you want to go.

On the other hand, what I would like to have is better low power support in ChibiOS. That means ability to efficiently and easily (for application developers) use microcontroller low-power sleep modes and do event-driven programming, and possibly dynamic core clock speed switching. This would be a HUGE advancement, and I haven't seen other free RTOSs that have good low power sleep support already. At least when I looked at FreeRTOS it did not seem to.
User avatar
barthess
Posts: 861
Joined: Wed Dec 08, 2010 7:55 pm
Been thanked: 7 times

Re: Next generation RTOS

Post by barthess »

Lets consider dynamic core clocks at this topic viewtopic.php?f=3&t=507
Post Reply