One thing that I did not like about working with FreeRTOS was that OS interfaces were abstracted too much.
Specifically this was bothersome when there was a need to inspect the state of data structures (mutex, semaphore etc), and gdb was not able to find the data structure definition to print out. However, I did like the ease of porting that OS to different CPU architectures. > On Oct 25, 2015, at 11:00 AM, Sterling Hughes <[email protected]> wrote: > > I'll let others chime here as well, but he's what I'd say: > > FreeRTOS is a relatively simple, straightforward RTOS that is ported > to a lot of platforms. It's well tested. Outside of the RTOS core, > it offers a FS and IP stack, and not much else. > > In the core, I think we're doing a few things in addition to that: > > - HAL: We have the basics of the hardware abstraction layer up and > running, but the goal is to make this more complete. This is one of > the things I think Arduino has done an excellent job on. When you > download the OS for your platform, there should be a well-develop HAL > that allows you to read/write GPIOs, manage analog input/outputs, > control servos, etc in a platform independent fashion. > > - Package Management and Build: While the Newt tool is more painful > than make, especially at the moment. The reason we've gone to the > effort of developing this, is so we can allow people to develop and > redistribute source packages. It should be easy to compose an > embedded project, with standard re-usable libraries (and we want to be > able to accomodate thousands of these!), building from an OS core. > > You start with the core OS, and HAL, and then can select which > packages you need for your application, and developing a connected > becomes more about the glue and the application logic, then about > developing a library to control a motor or writing a full Thread > stack. > > - I personally find FreeRTOS painful to read because of excess > #ifdef'ing. I'll admit, my eyes bleed easily: > https://github.com/cjlano/freertos/blob/master/FreeRTOS/Source/tasks.c > > Our equivalent of this file: > > https://github.com/mynewt/larva/blob/master/libs/os/src/os_sched.c and > https://github.com/mynewt/larva/blob/master/libs/os/src/os_task.c > > Cheers, > Sterling > > > > > > On Sun, Oct 25, 2015 at 2:30 AM, Justin Mclean <[email protected]> > wrote: >> Hi, >> >> Possibly off topic so feel free to ignore this. >> >> But other then the licence (which is GPL so that may be reason enough) I’m >> curious to to how the aims and functionality of this project compares to >> something like FreeRTOS. >> >> Thanks, >> Justin
