Are there any that are successful with Debugging RP2040 “PICO”
I can fine upload and run it blink.cpp and others
Debug starts and breaks at setup
Call Stack “dump”
setup @ 0x10000902 (c:\Users\hs\Documents\PlatformIO\Projects\RP2040_1\src\main.cpp: 6)
@ 0x60582020 (Unknown Source: 0)
Data from DEBUG CONSOLE
Temporary breakpoint 1, setup () at src \ main.cpp: 66
pinMode (LED_BUILTIN, OUTPUT);
Reading 64 bytes @ address 0x20041F00
WARNING: Failed to read memory @ address 0x60582020
WARNING: Failed to read memory @ address 0x60582020
If I put BreakPoint in the loop it stops Sometimes once) I almost never, if i make a manual break after a while
→ Reading 64 bytes @ address 0x10000900 Read 2 bytes @ address 0x10000920 (Data = 0x2100)
Call Stack “dump”
@ 0x00000030 (Unknown Source: 0)
@ 0xfffffff9 (Unknown Source: 0)
@ @ 0x1400000c (Unknown Source: 0)
?? @ 0xfffffffe (Unknown Source: 0)
DEBUG CONSOLE after Break manual pause
Program
received signal SIGTRAP, Trace / breakpoint trap.
Removing breakpoint @ address 0x10000920, Size = 2
Removing breakpoint @ address 0x10000920, Size = 2
Read 4 bytes @ address 0x00000030 (Data = 0xE7FDBF30)
Read 2 bytes @ address 0x00000030 (Data = 0xBF30) 0x00000030 in ?? ()
Read 4 bytes @ address 0x20041EFC (Data = 0xB1000000)
Reading 64 bytes @ address 0x20041EC0
Read 4 bytes @ address 0x1400000C (Data = 0xFFFFFFFF)
Read 2 bytes @ address 0x1400000C (Data = 0xFFFF)
WARNING: Failed to read memory @ address 0xFFFFFFFE
WARNING: Failed to read memory @ address 0xFFFFFFFE
Debugger Segger J-LINK EDU
platformio.ini
[env: pico]
platform = raspberrypi
board = pico
framework = arduino
build_type = debug
upload_protocol = jlink
debug_tool = jlink
debug_init_break = tbreak setup
test code
#include <Arduino.h>
// the setup function runs once when you press reset or power the board
void setup () {
// initialize digital pin LED_BUILTIN as an output.
pinMode (LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop () {
digitalWrite (LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay (1000); // wait for a second
digitalWrite (LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay (1000); // wait for a second
}
KR Henrik