Description
Currently there are two main options for a potential real-time OS (RTOS) to implement as the basis for future development:
- FreeRTOS: Popular and well-supported RTOS, preferred solution
- Keil RTX v5: ARM’s reference implementation of the RTOS interface
Additionally, there is the option to use CMSIS-RTOS2, a common RTOS interface designed for ARM processors, that works with both solutions.
The goal is to determine which of these solution best fits our needs. This will then form the basis for our selected framework.
This work should be completed in a branch of the firmware-dev repo.
Resources
You can also contact Payload Firmware as they’ve looked into this as well.
TODO
- [x] Download and test out the different RTOS
- [x] Load them onto the MCU if possible
- [x] Determine if there are any real advantages to using Keil RTX v5
- [x] Investigate CMSIS-RTOS wrapper
- [x] Test out ease of use compared to direct functions
- [x] Recommend if we should use the wrapper or not
- [x] Develop a Proof of Concept (PoC)
- Using information from the resources linked above, create a small program that takes advantage of RTOS features. This will be a useful reference for developing drivers and adding the framework.
Artifacts