This is a new RTOS developed from the ground-up with two main goals: being easy to learn and review, and being efficient in terms of resource usage. It presentely targets ARM Cortex-M3/4 microcontrollers. The examples use inexpensive STM32 Discovery boards.
Apache License, Version 2.0
You will need:
- ARM CMSIS 4.5
- Vendor drivers
- For STM32, you'll need the STM32CubeF4 and STM32CubeF3 drivers
- For Kinetis, you'll nedd the Kinetis SDK
- A compiler: FX3 is developed using GCC ARM Embedded version 5.2.1 . It can be compiled with CLANG 3.8 but the GNU ARM linker and support libraries are required.
- GNU Make version 4.0 or later.
- Universal ctags (There is a bug in the widely-available ctags 5.8, where tags with relative paths are not generated correctly. It works fine for recursive build, but not for the new build.)
- CppUTest . Have CPPUTEST_HOME environment variable point to it.
The libraries need to be expanded into a folder pointed to by the EMBEDDED environmnent variable. See 'config.mk' for details. The build system is OS agnostic, tested on Windows and Linux.
For debugging the Discovery boards, you'll need ST-Link drivers and utilities. For other boards, I recommend the excellent Segger J-Link for their versatility and cross-platform support. My main debugger is WinIDEA Open version 9.2.256 and I'm also exploring Segger Ozone.
Assuming you have set up the environment, you should be able to run 'make' from the top level folder.
Design documents are in the doc folder.
-
Books
- "The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors, Third Edition" by Joseph Yiu
- "Programming Pearls, Second Edition" by Jon Bentley
Happy Hacking, [email protected]