rnk is a RTOS targeting ARM architecture.
- Targeting Cortex-M
- Premptive scheduling
- Support static and dynamic application (using custom file format - RFLAT)
- Isolation using MPU and privileged/unprivileged modes
- Device tree support
- POSIX API
- SEGGER SystemView support
- STM32F4 family (actually developed and tested on a STM32F401)
- STM32L4 family (actually developed and tested on a STM32L443)
- arm-none-eabi toolchain (https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads)
- kconfig-frontends (http://ymorin.is-a-geek.org/projects/kconfig-frontends)
- export ARCH=arm
- export your cross compiler bin/ folder in PATH
- export CROSS_COMPILE=arm-none-eabi- or
- edit the cross compiler path in "setup.sh" and use it like: $. setup.sh
then
- make the boards config you wanted (take a look at: arch/arm/configs), for example: make stm32f429_disco_defconfig
- and then: make clean && make
- flash the kernel on the board & enjoy
Build configurations are powered by Kconfig, and can be used by typing: make menuconfig (or nconfig)