From 29bd8055831448ef5ccdd42e6e0f06a36215ad28 Mon Sep 17 00:00:00 2001 From: Samuel Freeman Date: Sun, 2 Jun 2024 22:53:43 +0800 Subject: [PATCH] port it support Pro Micro RP2040(16M) --- .cargo/config.toml | 4 ++-- Embed.toml | 35 ++++------------------------------- rp2040-project-template.uf2 | Bin 0 -> 17920 bytes src/main.rs | 5 +++-- 4 files changed, 9 insertions(+), 35 deletions(-) create mode 100644 rp2040-project-template.uf2 diff --git a/.cargo/config.toml b/.cargo/config.toml index 8cce891..4b25ad0 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -2,8 +2,8 @@ # Choose a default "cargo run" tool (see README for more info) # - `probe-rs` provides flashing and defmt via a hardware debugger, and stack unwind on panic # - elf2uf2-rs loads firmware over USB when the rp2040 is in boot mode -runner = "probe-rs run --chip RP2040 --protocol swd" -# runner = "elf2uf2-rs -d" +# runner = "probe-rs run --chip RP2040 --protocol swd" +runner = "elf2uf2-rs -d" rustflags = [ "-C", "linker=flip-link", diff --git a/Embed.toml b/Embed.toml index 9c91b13..7281254 100644 --- a/Embed.toml +++ b/Embed.toml @@ -1,39 +1,12 @@ -[default.probe] -protocol = "Swd" -speed = 20000 -# If you only have one probe cargo embed will pick automatically -# Otherwise: add your probe's VID/PID/serial to filter - -## rust-dap -# usb_vid = "6666" -# usb_pid = "4444" -# serial = "test" - - -[default.flashing] -enabled = true +[default.general] +chip = "RP2040" [default.reset] -enabled = true halt_afterwards = false -[default.general] -chip = "RP2040" -log_level = "WARN" -# RP2040 does not support connect_under_reset -connect_under_reset = false - [default.rtt] enabled = true -up_mode = "NoBlockSkip" -channels = [ - { up = 0, down = 0, name = "name", up_mode = "NoBlockSkip", format = "Defmt" }, -] -timeout = 3000 -show_timestamps = true -log_enabled = false -log_path = "./logs" +# channels = [{ up = 0, down = 0, name = "debug", format = "Defmt" }] [default.gdb] -enabled = false -gdb_connection_string = "127.0.0.1:2345" +enabled = true diff --git a/rp2040-project-template.uf2 b/rp2040-project-template.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..e48d18c7d7ad442678f566b7e4df7e238cc932c9 GIT binary patch literal 17920 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 literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs index 684e0e5..cba6611 100644 --- a/src/main.rs +++ b/src/main.rs @@ -62,8 +62,9 @@ fn main() -> ! { // If you have a Pico W and want to toggle a LED with a simple GPIO output pin, you can connect an external // LED to one of the GPIO pins, and reference that pin here. Don't forget adding an appropriate resistor // in series with the LED. - let mut led_pin = pins.led.into_push_pull_output(); - + // let mut led_pin = pins.led.into_push_pull_output(); + // In this case gpio17 is the led pin(for Pro Micro RP2040 16MB) + let mut led_pin = pins.gpio17.into_push_pull_output(); loop { info!("on!"); led_pin.set_high().unwrap();