Skip to content
Development
Skill

/mcuboot-integration

Use when integrating, porting, configuring, or debugging MCUboot secure boot, image slots, swap modes, image signing, rollback, or bootloader upgrades on MCUs

From plugin
aix-skills
3976 skills

Claude Code

$ npx -y skills add easyzoom/aix-skills --skill mcuboot-integration --agent claude-code

SKILL.md

mcuboot-integration.SKILL.md
name: mcuboot-integration
description: Use when integrating, porting, configuring, or debugging MCUboot secure boot, image slots, swap modes, image signing, rollback, or bootloader upgrades on MCUs

MCUboot Integration

Overview

Use this skill to integrate MCUboot by proving the boot chain, flash map, image format, signing flow, and upgrade policy. Most failures come from slot geometry, trailer layout, or signing metadata mismatches rather than the application itself.

When To Use

Use this skill when:

  • The user wants to add MCUboot to Zephyr, Mynewt, NuttX, RIOT, Mbed OS, ESP-IDF, or a custom MCU platform.
  • The issue involves image validation, swap, overwrite-only upgrade, rollback, confirm flags, serial recovery, or signed images.
  • The project has dual slots, external flash, encrypted images, secure boot, or OTA requirements.

Do not use this skill for application-level firmware transfer alone. Use `ota-update-integration` first if the bootloader is already fixed and the issue is delivery. For generic bootloader jump/handoff debugging, use `bootloader-debug`.

First Questions

Ask for:

  • MCU/SoC, SDK/RTOS, boot flow, and current bootloader ownership.
  • Flash layout: bootloader, primary slot, secondary slot, scratch, trailer, and external flash if used.
  • Upgrade mode: swap, overwrite-only, direct-XIP, RAM-load, or serial recovery.
  • Image signing method, key type, image version, and whether rollback prevention is needed.
  • Current symptom and boot log from the bootloader.

Integration Checklist

1. Freeze the flash map. Slot sizes, erase block size, alignment, scratch size, and trailer offsets must match the target flash.

1. Build a minimal signed image. Verify image header, TLVs, signature, version, and load address before enabling OTA.

1. Prove first boot. Boot one known-good image from the primary slot and record bootloader logs.

1. Prove upgrade behavior. Test pending, test, confirm, revert, and permanent upgrade paths for the selected mode.

1. Add recovery and brick protection. Keep serial recovery, debug access, watchdog policy, and factory image strategy clear.

1. Lock security policy last. Enable key protection, rollback counters, encryption, or anti-tamper only after the basic upgrade loop is repeatable.

Common Failures

  • Primary and secondary slots have different erase geometry or alignment.
  • Signed image was built with the wrong header size, load address, or key.
  • App never confirms the image, so MCUboot reverts on the next reset.
  • Scratch area is too small for the largest erase sector.
  • Bootloader and app disagree about vector table, stack pointer, or flash offset.
  • Rollback protection is enabled before versioning and counter storage are proven.

Verification

Before claiming MCUboot works:

  • State flash layout, image mode, key type, and signing command.
  • Confirm clean boot from primary slot.
  • Confirm upgrade, confirm, and revert behavior with boot logs.
  • Confirm recovery path and watchdog behavior during interrupted upgrade.

Example

User:

MCUboot 升级后总是回滚。

Agent:

1. Asks for flash layout, swap mode, signing command, image version, and boot log. 1. Checks whether the app calls image confirm after the self-test passes. 1. Verifies trailer flags and interrupted-upgrade behavior before changing OTA logic.

Read more
@easyzoom
Ships withaix-skills

AIX Skills is a public collection of Agent Skills, templates, and references for building repeatable AI workflows.

Stars on GitHub

Momentum

stars in total
39
Star history of easyzoom/aix-skills on GitHub, a chart by star-history.com

Other skills on aix-skills.

8051-mcu-debug

8051-mcu-debug

Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers,…

@easyzoom@easyzoomInstall Skill
avem-integration

avem-integration

Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers,…

@easyzoom@easyzoomInstall Skill
ble-gatt-integration

ble-gatt-integration

Use when integrating, designing, or debugging BLE GATT services, characteristics, descriptors, MTU, notifications, indications,…

@easyzoom@easyzoomInstall Skill
bootloader-debug

bootloader-debug

Use when debugging embedded bootloaders, application jumps, vector table offsets, firmware upgrade flow, OTA state, image…

@easyzoom@easyzoomInstall Skill
canbus-integration

canbus-integration

Use when integrating, porting, configuring, or debugging CAN bus libraries, CANBus-Triple, MCP2515, CAN frames, bit timing,…

@easyzoom@easyzoomInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about mcuboot-integration.

Which coding agents can use mcuboot-integration?
mcuboot-integration installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.