Update flake.nix and README.md for Raspberry Pi Pico W support
This commit is contained in:
@@ -19,7 +19,7 @@ direnv allow
|
||||
When you enter the devShell (via `direnv allow` or `nix develop`), the following happens automatically:
|
||||
|
||||
✓ **Git Repository**: Initializes `.git` if not present
|
||||
✓ **Rust Targets**: Automatically adds common embedded Rust targets (ARM Cortex-M, RISC-V)
|
||||
✓ **Rust Targets**: Automatically adds the RP2040 (Pico W) target: `thumbv6m-none-eabi`
|
||||
✓ **Cargo Paths**: Sets up `$HOME/.cargo/bin` in PATH for cargo-installed binaries
|
||||
✓ **Welcome Banner**: Displays available tools and quick commands
|
||||
|
||||
@@ -35,16 +35,11 @@ cargo build
|
||||
|
||||
## Embedded Rust Support
|
||||
|
||||
The devShell automatically installs common embedded Rust targets via `rustup`:
|
||||
The devShell automatically installs the Raspberry Pi Pico W target via `rustup`:
|
||||
|
||||
| Target | Platform | Use Case |
|
||||
|--------|----------|----------|
|
||||
| `thumbv6m-none-eabi` | ARM Cortex-M0/M0+ | RP2040 (Pico) |
|
||||
| `thumbv7em-none-eabihf` | ARM Cortex-M4F/M7F | STM32, nRF52840 |
|
||||
| `riscv32imc-unknown-none-elf` | RISC-V 32-bit | ESP32-C3 (basic) |
|
||||
| `riscv32imac-unknown-none-elf` | RISC-V 32-bit (atomic) | ESP32-C3 (advanced) |
|
||||
|
||||
**Note:** ESP32 Xtensa targets require espup or custom toolchains (see [esp-rs](https://github.com/esp-rs)).
|
||||
| `thumbv6m-none-eabi` | ARM Cortex-M0/M0+ | RP2040 (Pico W) |
|
||||
|
||||
## Flatpak Packaging
|
||||
|
||||
@@ -84,14 +79,11 @@ flatpak run org.example.rustdevshell
|
||||
| **rustfmt** | Rust code formatter |
|
||||
| **rust-analyzer** | Language server for IDE integration |
|
||||
| **rust-src** | Rust source code (for tools like rust-analyzer) |
|
||||
| **probe-rs** | Embedded debugger/flasher for ARM targets |
|
||||
| **espflash** | Flashing tool for ESP32 boards |
|
||||
| **openocd** | JTAG/SWD debugger for ARM and other targets |
|
||||
| **probe-rs** | Embedded debugger/flasher |
|
||||
| **openocd** | JTAG/SWD debugger |
|
||||
| **minicom** | Serial terminal for device output |
|
||||
| **elf2uf2-rs** | Convert ELF to UF2 format (RP2040) |
|
||||
| **picotool** | Pico-specific firmware operations |
|
||||
| **avrdude** | AVR microcontroller programmer |
|
||||
| **ravedude** | Rapid AVR development utility |
|
||||
|
||||
## Testing & Development Features
|
||||
|
||||
@@ -114,7 +106,7 @@ cargo clippy
|
||||
cargo fmt
|
||||
|
||||
# Build for embedded target
|
||||
cargo build --target thumbv7em-none-eabihf --release
|
||||
cargo build --target thumbv6m-none-eabi --release
|
||||
```
|
||||
|
||||
## Project Layout
|
||||
|
||||
Reference in New Issue
Block a user