Build tool
nav
nav is a command-line build tool for NavHAL-based Cortex-M firmware. It scaffolds a project, pulls NavHAL and libraries from git (there is no package registry), cross-compiles with arm-none-eabi-gcc, flashes the board and opens a serial monitor. A project is one of two types: an app (an executable) or a library (a static archive).
- Who it is for
- Firmware developers.
- Version
- 1.3.1 (tag v1.3.1)
- Release assets
- Linux .deb and Windows exe or zip, on GitHub Releases
- This book
- 6 of 10 chapters written
Chapters
- 01What nav isnav is a command-line tool for NavHAL-based Cortex-M firmware projects.
- 02Design goalsThis chapter describes what nav is built to do, using only what the repository states.
- 03Install and first projectThis chapter covers getting nav onto a machine, checking that the machine can build firmware, creating a project, and running the first build.
- 04Architecturenav is a C++ program built from three parts: a thin entry point in src/cli/main.cpp, a static library of core modules (nav_core, sources under src/core/), and two JSON registry files in data/ that are baked into the...
- 05The project file, nav.tomlEvery nav project is a directory with a nav.toml at its root.
- 06Configuration with KconfigA nav firmware project is configured by a single file in the project root, .config.
- 07Chapter 7Coming soon
- 08Chapter 8Coming soon
- 09Chapter 9Coming soon
- 10Chapter 10Coming soon
Written from the ragnar-vallhala/nav repository. Each chapter ends with the sources it was checked against.