12-01-2026
Trying to setup RISC-V workfow
I have been trying to get a basic no_std no_main workflow started with Rust on the RP2350. I managed to bootstrap a basic Rust build system with a RISC-V target, starting from the project template. Turns out probe-rs can program the RISC-V binaries fine on the RP235x when connected to the pico probe. But somehow, after flashing, all debuggability & flashability goes away. I can't flash or debug the device until I boot the chip in BOOTSEL mode, where I suspect some sort of debug breakpoint still exist that the debugger can hook to.
After flashing, I get this error.
WARN probe_rs::session: Could not clear all hardware breakpoints: An ARM specific error occurred.
Caused by:
0: An error occurred in the communication with an access port or debug port.
1: Target device responded with a FAULT response to the request.
WARN probe_rs::session: Failed to deconfigure device during shutdown: Arm(Dap(FaultResponse))
Error: An ARM specific error occurred.
This probably means something that I will dig into tomorrow. My thoughts are,
- probe-rs does not support RP235x chip, but then I would need to know how probe-rs, or how openocd works.
- My probe-rs is old. But I suspect RISC-V targets should all behave the same.
- My default Irq handler has something to do with this. But this also can not be it, because the flashed program is working.
- Or, I would have to find another solution debugging RP2350 when running on RISC-V mode.