Adopt proper embedded tooling for the blank-screen debug (user has a Pi Debug Probe):
- flip-link linker (baked into pm-rust:2): stack overflow faults cleanly instead of
silently corrupting .bss/.data (the SPI buffer -> black screen class of bug).
- defmt + defmt-rtt + panic-probe: firmware logs boot/heap-free/display/parse/loop
heartbeat over RTT; panics print message+location. .cargo runner = probe-rs run.
- Restore the full live metronome (from 08b0940) as the instrumented target.
- deploy + serve pm-kit.elf (probe-rs decodes defmt strings from the ELF).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
750 B
TOML
25 lines
750 B
TOML
[package]
|
|
name = "pm-kit"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "PM_K-1 firmware (RP2350 / Pico 2). Stage 3 bring-up: boot blink → display → drivers + pm-core."
|
|
|
|
[dependencies]
|
|
rp235x-hal = { version = "0.3", features = ["binary-info", "critical-section-impl", "rt", "defmt"] }
|
|
cortex-m-rt = "0.7"
|
|
defmt = "0.3"
|
|
defmt-rtt = "0.4"
|
|
panic-probe = { version = "0.3", features = ["print-defmt"] }
|
|
embedded-hal = "1"
|
|
embedded-hal-0-2 = { package = "embedded-hal", version = "0.2.7" } # ADC OneShot trait (rp235x-hal ADC)
|
|
embedded-hal-bus = "0.2"
|
|
mipidsi = "0.9"
|
|
embedded-graphics = "0.8"
|
|
pm-ui = { path = "../pm-ui" }
|
|
track-format = { path = "../track-format" }
|
|
embedded-alloc = "0.6"
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
lto = true
|
|
debug = 2
|