SRUG 2024.11 Meetup

Set Up

Follow the `README.md` at

https://github.com/u007d/blinky_probe.git

  • Code of Conduct

  • SRUG Discord:

https://discord.gg/Wzgya6Kjae

  • Slides:

https://slides.com/u007d

 

 

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

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

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.