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
| Key | Type | Required | Description |
|---|---|---|---|
name | string | yes | Board key. Must match the manifest’s [project] board. |
soc | string | yes | SoC key, e.g. "nrf52840". Used by [supports] socs. |
platform | string | yes | Platform family, e.g. "nrf5". |
Sections
[memory.<region>]
Memory region declarations. Multiple regions are supported (flash,
ram, softdevice, …).
| Key | Type | Required | Description |
|---|---|---|---|
origin | integer | yes | Region base address (hex literal or int). |
length | integer | yes | Region 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.