A lightweight, energy-awareness, non-preemptive, event-driven, easy-to-use embedded OS for micro processors.
For small MCU processors, any unnecessary RAM/ROM overhead should be avoided as much as possible.
In Haddock-OS, all tasks are event-driven, and tasks communicate with each other through IPC signal and work together.
There is no overhead caused by task switching in preemptive system, and there is no need to lock shared resources ( note : The ISR interrupt service handler requires as efficient and concise as possible, and no modification of shared resources is allowed).
Fine-grained energy management (module level):
Each task can set a callback function for sleep wakeup separately.
Overall scheduling (system level):
In addition to task-level hibernation wakeup, the OS scheduler will choose whether to hibernate the CPU based on the current system (all tasks) status (hibernation/pending signals pending/next timeout event is about to arrive).
Convenient transplantation:
pure C implementation, without assembly, convenient for adopting integrated development environments such as IAR/Keil. In theory, you only need to complete the timer system and UART of the hardware abstraction layer.
( note : I am not good at transplanting, but I am limited to the degree to master relevant parameters through datasheet; I hope that the masters can experience and supplement and improve them together.)
The overall implementation of Haddock-OS is also relatively lightweight and concise, and easy to understand.
Easy to use: Although not out of the box, it is also relatively simple.
User-defined tasks, define tasks signal, init function, entry point, and then follow the usage interface of the system core components (memory pool, timer, IPC), and you can start the MCU lightweight multi-tasking journey.
Because the RAM/ROM resources of the MCU are valuable, Haddock-OS can crop resources to meet the needs of different systems.
The maximum number of tasks, the maximum number of task priority, the maximum number of timers, and allocable memory pool resources can all be configured.
Commercial Use Friendly: Mozilla Public License, version 2.0