Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Boards (board.toml)

A board file describes a piece of hardware: SoC, memory map, peripherals, bootloader region, USB family ID, and so on.

Project-local boards live alongside the manifest at boards/<name>.toml. Shared boards can be installed into the global registry at ~/.local/share/aves/boards/. The manifest’s board field is resolved against project-local boards first, then the global registry.

Example

name     = "feather_nrf52840_express"
soc      = "nrf52840"
platform = "nrf5"

[memory.flash]
origin = 0x00000000
length = 0x00100000

# … peripherals, bootloader region, USB family ID, etc.

Top-level fields

KeyTypeRequiredDescription
namestringyesBoard key. Must match the manifest’s [project] board.
socstringyesSoC key, e.g. "nrf52840". Used by [supports] socs.
platformstringyesPlatform family, e.g. "nrf5".

Sections

[memory.<region>]

Memory region declarations. Multiple regions are supported (flash, ram, softdevice, …).

KeyTypeRequiredDescription
originintegeryesRegion base address (hex literal or int).
lengthintegeryesRegion length in bytes.

Status

Most board fields aren’t consumed by the build pipeline yet — they’re ahead-of-time declarations for upcoming consumers (linker script generation, kernel features gated on peripherals, flash tooling). The fields will be tightened up as the consumers land.