Reprogramming Pico live, 2nd CPU doesn't reset

January 25, 2024, 16:46

theosib

I've discovered that if I reprogram the Pico firmware live through a pico probe and tell it to reset, only processor 0 gets reset. Processor 1 seems to be stuck doing something else or crashes, and I have to fully power cycle it. Is there something I can add to "program build/pico_motor.elf verify reset exit" to reset core 1? I tried using the function multicore_reset_core1() upon entering main() on core 0, but that didn't help. I also tried changing the openocd command to something I found on a forum, but that didn't help either: openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "program $ELF verify reset ; init ; reset halt ; rp2040.core1 arp_reset assert 0 ; rp2040.core0 arp_reset assert 0 ; exit"