SRUG 2024.11 Meetup
Set Up
Follow the `README.md` at
Introductions
Brad G.
- Online: U007D ("Curly")
- Started tech back in the 1980's
- Hold a B.Sc. in Computer Science
- Started in BASIC
- Historically gravitated to low-level languages
- MOS 6502/6510 Assembly
- Motorola 68k Assembly
- K&R C, ANSI C, Pascal/Object Pascal, C++
You?
Upcoming Meetups
-
December 12 (2nd Thu)
-
January 16 (3rd Thu)
-
February 21 (3rd Thu)
After-Meet Gathering
All are invited to gather tonight at Flatstick Pub
- (@ Redmond Town Center)
Announcements
- Meetings on YouTube! https://www.youtube.com/@U007D
- Call for speakers
- `thiserror` 2.0.0 is `#[no_std]` compatible
- `derive_more` can do the same job as `thiserror`, with
even less boilerplate
Tonight's Talks
1. Beginner/Intermediate Talk:
Bare-metal Debugging
A Raspberry Pi Pico in Rust
(by Brad G.)
Presentation
Bare-Metal Debugging
A Raspberry Pi Pico in Rust
(by Brad G.)
Prepare Your Dev Environment
- see `README.md` in
https://github.com/u007d/blinky_probe.git
Compiler Set-Up:
What Are We Actually Doing?
- Compilers translate text into machine language
- Machine Language?
- Instruction Set Archictecture
- Target Triple
What Processor
Do We Have?
1. Board Datasheet

RPi Pico Processor


(Page 3)
2. ARM Cortex M0+ Datasheet

ARM Cortex ISA


3. Rust Platform (ISA) Support

ARMv6-M Target Triple


Configure Rust Toolchain
`rustup` is the Rust toolchain management tool

Install
Target Triple
rustup target install <target-triple>

Verify Toolchain Configuration

Install
`probe-rs`embedded utility
cargo install probe-rs-tools --locked

Note for Linux Users:
https://probe.rs/docs/getting-started/probe-setup/#linux%3A-udev-rules
Note for Windows Users:
https://probe.rs/docs/getting-started/probe-setup/#windows%3A-winusb-drivers
Test
`probe-rs`embedded utility
1. connect RPi Pico W:
a) connect RPi Debug Probe SWD cable
b) connect RPi Debug Probe USB cable
c) connect RPi Pico W USB cable
2. git clone https://github.com/u007d/blinky_probe.git
3. cd blinky_probe
4. cargo run
Debugging with VSCode
Install VSCode
* Add `rust-analyzer` extension
* Add `debugger for probe-rs` extension
Thank you.
SRUG 2024.11: Hands-On Format
By u007d
SRUG 2024.11: Hands-On Format
- 176