Board bringup
A complete catalog of Agent Skills (agentskills.io) for Zephyr RTOS development.
npx -y skills add beriberikix/zephyr-agent-skills --skill board-bringupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Custom board bringup for Zephyr RTOS using Hardware Model v2 (HWMv2). Covers directory structure, board.yml metadata, core configuration files (Kconfig, defconfig, CMake), and revision management. Trigger when creating new board definitions or porting Zephyr to custom hardware.
SKILL.md
2.5 KB, as published. Nobody here has run it
Zephyr Board Bringup (HWMv2)
Bring your custom hardware into the Zephyr ecosystem using modern Hardware Model v2 standards.
Core Workflows
1. Planning the Structure
Organize your board files by vendor and board name.
- Reference: hwmv2_structure.md
- Key Tools:
board.yml, naming conventions.
2. Defining Configuration
Implement the essential Kconfig and CMake logic.
- Reference: board_files.md
- Key Tools:
Kconfig.board,_defconfig,CMakeLists.txt.
3. Managing Revisions & Variants
Handle hardware iterations and SoC variants cleanly.
- Reference: hwmv2_structure.md
- Key Tools: Multi-revision
board.yml, revision-specific overlays.
Quick Start (Board Skeleton)
boards/<vendor>/<board>/
board.yml
<board>_defconfig
<board>.dts
Kconfig.board
Kconfig.defconfig
CMakeLists.txt
Validation Checklist
-
board.ymldefines board name, SoC, and revisions consistently. -
west build -b <board> samples/hello_worldcompletes successfully. - DTS and defconfig settings are applied in the generated build output.
- Revision-specific overlays are selected correctly when building a non-default revision.
Automation Tools
- board_yaml_lint.py: Validate basic
board.ymlstructure and naming conventions.
Examples & Templates
- board_yml_template.yml: Starter
board.ymlfor HWMv2 board metadata.
Best Practices
- Use
_common.dtsi: Share devicetree definitions across all board revisions. - Follow HWMv2: Avoid the legacy board structure (
Kconfig.defconfig, etc.). - Keep it minimal: Only define what is unique to the board; let the SoC files handle chip-level configuration.
Resources
- References:
hwmv2_structure.md: Directory layout andboard.yml.board_files.md: Kconfig, defconfig, and CMake configuration.
- Scripts:
board_yaml_lint.py: Structural checker for board metadata.
- Assets:
board_yml_template.yml: Minimal board metadata template.