Skip to content

0x8000-0000/fx3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FX3 RTOS

Scope

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.

License

Apache License, Version 2.0

Pre-requisites

You will need:

  • ARM CMSIS 4.5
  • Vendor drivers
  • 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.

Other tools

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.

Building Examples

Assuming you have set up the environment, you should be able to run 'make' from the top level folder.

Documentation, Plans

Design documents are in the doc folder.

References

  • 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, florin@signbit.net