☂︎ Low latency event handling
☂︎ Tickless kernel: wake from sleep with micro-second accuracy
☂︎ Static tasks with infinite synchronisation objects
☂︎ Use with Arduino projects to provide multitasking
☂︎ UART low latency API that never drops data
☂︎ UART, SPI, I2C, I2S, GPIO, sensors, robotics
☂︎ ARM support for Cortex-M microcontrollers
☂︎ Easy to configure and expand
☂︎ Posix compliant printf
Tasks waiting for an event are activated as soon as the condition to continue is met.
The UART API is hybrid blocking, meaning that data is queued to send and the call
returns immediately so long as buffer space is available, but will block when the
buffer is full. Receive calls return as soon as any data is available.
☂︎ Cortex-M3
☂︎ Cortex-M4
☂︎ Cortex-M33
☂︎ demo
☂︎ nRF52840dk nRF52840
☂︎ nRF9160dk nRF52840, nRF9160
☂︎ Thingy91 nRF52840, nRF9160 sensors firmware
☂︎ Blue Pill STM32F103x
☂︎ macOS: install brew
☂︎ macOS: brew install make
☂︎ macOS: brew install cask gcc-arm-embedded
☂︎ Linux: apt install make gcc-arm-none-eabi
☂︎ FreeBSD: pkg install gmake arm-none-eabi-gcc
☂︎ Download and extract the
Arm GNU Toolchain
to tools/compilers
☂︎ Or specify the path as an environment variable NANO_GCC
☂︎ Tools required make
rm
saferun, optional clear
colour
gfc
☂︎ Install in tools
or add to path
☂︎ Chocolatey: choco install make coreutils
☂︎ Or download and extract make.exe
to the root directory of nano
☂︎ rm
is available in git for Windows,
during install select:
☂︎ Git and optional Unix tools from the Command Prompt
☂︎ or add %ProgramFiles%\Git\usr\bin
to path
https://httpstorm.com/
https://nanortos.com/
For commercial use, please contact the author gvalkov@gmail.com