Initial dev environment setup for ESP32-C3 and ESP32-C6 programming, tailored towards Rust development. Some of this will also apply to the ESP32-C2 as well as the ESP32-H2 and ESP32-P4 when they are released.
- Install ESP tooling:
use neli::{ | |
consts::{nl::NlmF, socket::NlFamily}, | |
genl::{AttrTypeBuilder, Genlmsghdr, GenlmsghdrBuilder, NlattrBuilder, NoUserHeader}, | |
neli_enum, | |
nl::NlPayload, | |
router::synchronous::NlRouter, | |
types::GenlBuffer, | |
utils::Groups, | |
}; |
Initial dev environment setup for ESP32-C3 and ESP32-C6 programming, tailored towards Rust development. Some of this will also apply to the ESP32-C2 as well as the ESP32-H2 and ESP32-P4 when they are released.
# Where did I find this originally??? Someone's gist somewhere on GitHub | |
# Taken from https://raw.githubusercontent.com/riscv/riscv-openocd/a037b20f2e015859327ab37588792386c4fc942f/tcl/target/gd32vf103.cfg | |
# | |
# Goes in scripts/target/ | |
# Below should be in interface??? | |
#adapter speed 1000 | |
# Can only debug RISCV devices via JTAG | |
transport select jtag |
[package] | |
name = "probe_rs_example" | |
version = "0.1.0" | |
edition = "2021" | |
[dependencies] | |
anyhow = "1.0.34" | |
probe-rs = { version = "0.15.0", features = ["ftdi"] } |
#![no_std] | |
#![no_main] | |
#[rtic::app( | |
device = rp_pico::hal::pac, | |
dispatchers = [TIMER_IRQ_1] | |
)] | |
mod app { | |
use rp_pico::XOSC_CRYSTAL_FREQ; | |
use rp_pico::hal::{ |
This document details useful information on how to use a Raspberry Pi Pico as a SWD probe for another Pico using the Picoprobe software. This information assumes you have followed all of the steps in Appendix A of the Getting Started with Raspberry Pi Pico Guide and that you are doing development on a Linux system.
Add the below files to your system to enable non-root access to the devices
/etc/udev/rules.d/99-openocd.rules:
# Raspberry Pi Picoprobe
ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE="0666"