Skip to content

fix(rp2040): encode complete firmware at XIP address#1046

Merged
zackees merged 1 commit into
mainfrom
fix/rp2040-uf2-full-image
Jul 14, 2026
Merged

fix(rp2040): encode complete firmware at XIP address#1046
zackees merged 1 commit into
mainfrom
fix/rp2040-uf2-full-image

Conversation

@zackees

@zackees zackees commented Jul 14, 2026

Copy link
Copy Markdown
Member

Correct the RP2040 UF2 base for fbuild's complete firmware.bin. The image includes boot2 at 0x10000000; 0x2000 is only valid for app-only BINs. Add a boot2-prefix regression test and document the FastLED/boards-only VID/PID policy. Closes the incorrect-address portion of #1040; do not claim hardware acceptance until a real 2E8A:000A CDC endpoint is observed.

Summary by CodeRabbit

  • Bug Fixes

    • Corrected RP2040 UF2 address mapping for full firmware images, improving compatibility with the device’s flash layout.
    • Added validation to ensure generated UF2 files preserve the expected bootloader data and address information.
  • Documentation

    • Clarified how USB identifiers and board data are sourced.
    • Updated guidance for refreshing board and probe information and distinguishing test fixtures from production data.

@zackees
zackees merged commit 04120a6 into main Jul 14, 2026
87 of 93 checks passed
@zackees
zackees deleted the fix/rp2040-uf2-full-image branch July 14, 2026 22:14
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 7e08af4c-49a8-4a4f-afb8-edbb0614c1a6

📥 Commits

Reviewing files that changed from the base of the PR and between 918b03b and ddc3067.

📒 Files selected for processing (3)
  • CLAUDE.md
  • crates/fbuild-core/data/README.md
  • crates/fbuild-deploy/src/rp2040.rs

📝 Walkthrough

Walkthrough

The PR documents FastLED/boards as the authoritative USB VID/PID source and revises fixture refresh guidance. It also changes RP2040 UF2 full-image encoding to use the XIP address base and adds coverage for boot2-prefixed firmware.

Changes

USB VID/PID source documentation

Layer / File(s) Summary
Registry source and fixture guidance
CLAUDE.md, crates/fbuild-core/data/README.md
Rules and documentation require production VID/PID data to come from the FastLED/boards registry, distinguish test fixtures from runtime catalogues, and describe downloading published artifacts into the build cache.

RP2040 UF2 full-image encoding

Layer / File(s) Summary
Full-image XIP address encoding
crates/fbuild-deploy/src/rp2040.rs
RP2040_UF2_BASE_ADDRESS now uses 0x1000_0000; a test verifies the address and payload for a boot2-prefixed full image.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/rp2040-uf2-full-image

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

1 participant