Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jlink support #9

Closed
happyme531 opened this issue Jan 25, 2021 · 20 comments
Closed

Jlink support #9

happyme531 opened this issue Jan 25, 2021 · 20 comments
Labels
enhancement New feature or request

Comments

@happyme531
Copy link

I have a jlink ob with swd port available but it seems not working with the RP2040. I don't understand why, and there is some debug log.

openocd "-c" "gdb_port 50000" "-f" "interface/jlink.cfg" -c "transport select swd" -c "adapter_khz 2000" "-f" "target/rp2040.cfg" --debug
Open On-Chip Debugger 0.10.0+dev-g7c96119-dirty (2021-01-25-20:18)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
User : 13 1 options.c:63 configuration_output_handler(): debug_level: 3
User : 14 1 options.c:63 configuration_output_handler(): 
Debug: 15 1 options.c:244 add_default_dirs(): bindir=/usr/local/bin
Debug: 16 1 options.c:245 add_default_dirs(): pkgdatadir=/usr/local/share/openocd
Debug: 17 1 options.c:246 add_default_dirs(): exepath=/usr/bin
Debug: 18 1 options.c:247 add_default_dirs(): bin2data=../share/openocd
Debug: 19 1 configuration.c:42 add_script_search_dir(): adding /home/user/.config/openocd
Debug: 20 1 configuration.c:42 add_script_search_dir(): adding /home/user/.openocd
Debug: 21 1 configuration.c:42 add_script_search_dir(): adding /usr/bin/../share/openocd/site
Debug: 22 1 configuration.c:42 add_script_search_dir(): adding /usr/bin/../share/openocd/scripts
Debug: 23 1 command.c:146 script_debug(): command - gdb_port 50000
Debug: 25 1 configuration.c:97 find_file(): found /usr/bin/../share/openocd/scripts/interface/jlink.cfg
Debug: 26 1 command.c:146 script_debug(): command - adapter driver jlink
Debug: 28 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 29 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 30 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 31 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 32 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 33 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 34 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 35 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 36 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 37 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 38 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 39 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 40 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 41 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 42 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 43 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 44 1 command.c:146 script_debug(): command - transport select swd
Debug: 45 1 command.c:352 register_command_handler(): registering 'swd'...
User : 46 1 options.c:63 configuration_output_handler(): swdUser : 47 1 options.c:63 configuration_output_handler(): 
Debug: 48 1 command.c:146 script_debug(): command - echo DEPRECATED! use 'adapter speed' not 'adapter_khz'
User : 50 1 command.c:767 jim_echo(): DEPRECATED! use 'adapter speed' not 'adapter_khz'
Debug: 51 1 command.c:146 script_debug(): command - adapter speed 2000
Debug: 53 1 core.c:1822 jtag_config_khz(): handle jtag khz
Debug: 54 1 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 55 1 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 56 1 options.c:63 configuration_output_handler(): adapter speed: 2000 kHz
User : 57 1 options.c:63 configuration_output_handler(): 
Debug: 58 1 configuration.c:97 find_file(): found /usr/bin/../share/openocd/scripts/target/rp2040.cfg
Debug: 59 1 configuration.c:97 find_file(): found /usr/bin/../share/openocd/scripts/target/swj-dp.tcl
Debug: 60 1 command.c:146 script_debug(): command - transport select
Debug: 61 1 configuration.c:97 find_file(): found /usr/bin/../share/openocd/scripts/mem_helper.tcl
Debug: 62 1 command.c:146 script_debug(): command - add_usage_text mrw address
Debug: 64 1 command.c:1123 help_add_command(): added 'mrw' help text
Debug: 65 1 command.c:146 script_debug(): command - add_help_text mrw Returns value of word in memory.
Debug: 67 1 command.c:1136 help_add_command(): added 'mrw' help text
Debug: 68 1 command.c:146 script_debug(): command - add_usage_text mrh address
Debug: 70 1 command.c:1123 help_add_command(): added 'mrh' help text
Debug: 71 1 command.c:146 script_debug(): command - add_help_text mrh Returns value of halfword in memory.
Debug: 73 1 command.c:1136 help_add_command(): added 'mrh' help text
Debug: 74 1 command.c:146 script_debug(): command - add_usage_text mrb address
Debug: 76 1 command.c:1123 help_add_command(): added 'mrb' help text
Debug: 77 1 command.c:146 script_debug(): command - add_help_text mrb Returns value of byte in memory.
Debug: 79 1 command.c:1136 help_add_command(): added 'mrb' help text
Debug: 80 1 command.c:146 script_debug(): command - add_usage_text mmw address setbits clearbits
Debug: 82 1 command.c:1123 help_add_command(): added 'mmw' help text
Debug: 83 1 command.c:146 script_debug(): command - add_help_text mmw Modify word in memory. new_val = (old_val & ~clearbits) | setbits;
Debug: 85 1 command.c:1136 help_add_command(): added 'mmw' help text
Debug: 86 1 command.c:146 script_debug(): command - swd newdap rp2040.core0 cpu -dp-id 0x01002927 -instance-id 0
Debug: 87 1 tcl.c:604 jim_newtap_cmd(): Creating New Tap, Chip: rp2040.core0, Tap: cpu, Dotted: rp2040.core0.cpu, 4 params
Debug: 88 1 tcl.c:618 jim_newtap_cmd(): Processing option: -dp-id
Debug: 89 1 tcl.c:618 jim_newtap_cmd(): Processing option: -instance-id
Debug: 90 1 core.c:1484 jtag_tap_init(): Created Tap: rp2040.core0.cpu @ abs position 0, irlen 0, capture: 0x0 mask: 0x0
Debug: 91 1 command.c:146 script_debug(): command - swd newdap rp2040.core1 cpu -dp-id 0x01002927 -instance-id 1
Debug: 92 1 tcl.c:604 jim_newtap_cmd(): Creating New Tap, Chip: rp2040.core1, Tap: cpu, Dotted: rp2040.core1.cpu, 4 params
Debug: 93 1 tcl.c:618 jim_newtap_cmd(): Processing option: -dp-id
Debug: 94 1 tcl.c:618 jim_newtap_cmd(): Processing option: -instance-id
Debug: 95 1 core.c:1484 jtag_tap_init(): Created Tap: rp2040.core1.cpu @ abs position 1, irlen 0, capture: 0x0 mask: 0x0
Debug: 96 1 command.c:146 script_debug(): command - dap create rp2040.core0.dap -chain-position rp2040.core0.cpu
Debug: 97 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 98 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 99 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 100 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 101 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 102 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 103 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 104 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 105 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 106 1 command.c:146 script_debug(): command - target create rp2040.core0 cortex_m -endian little -coreid 0 -dap rp2040.core0.dap -rtos hwthread
Info : 107 1 hwthread.c:378 hwthread_create(): Hardware thread awareness created
Debug: 108 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 109 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 110 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 111 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 112 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 113 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 114 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 115 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 116 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 117 1 command.c:352 register_command_handler(): registering 'tpiu'...
Debug: 118 1 command.c:352 register_command_handler(): registering 'itm'...
Debug: 119 1 command.c:352 register_command_handler(): registering 'itm'...
Debug: 120 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 121 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 122 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 123 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 124 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 125 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 126 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 127 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 128 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 129 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 130 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 131 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 132 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 133 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 134 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 135 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 136 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 137 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 138 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 139 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 140 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 141 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 142 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 143 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 144 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 145 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 146 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 147 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 148 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 149 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 150 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 151 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 152 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 153 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 154 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 155 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 156 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 157 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 158 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 159 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 160 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 161 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 162 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 163 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 164 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 165 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 166 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 167 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 168 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 169 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 170 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 171 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 172 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 173 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 174 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 175 2 command.c:146 script_debug(): command - rp2040.core0 configure -work-area-phys 0x20010000 -work-area-size 0x10000 -work-area-backup 0
Debug: 176 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 177 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 178 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 179 2 command.c:146 script_debug(): command - cortex_m reset_config sysresetreq
Debug: 181 2 command.c:146 script_debug(): command - dap create rp2040.core1.dap -chain-position rp2040.core1.cpu
Debug: 182 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 183 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 184 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 185 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 186 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 187 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 188 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 189 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 190 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 191 2 command.c:146 script_debug(): command - target create rp2040.core1 cortex_m -endian little -coreid 1 -dap rp2040.core1.dap -rtos hwthread
Info : 192 2 hwthread.c:378 hwthread_create(): Hardware thread awareness created
Debug: 193 2 command.c:373 register_command(): command 'arm' is already registered in '<global>' context
Debug: 194 2 command.c:373 register_command(): command 'reg' is already registered in 'arm' context
Debug: 195 2 command.c:373 register_command(): command 'core_state' is already registered in 'arm' context
Debug: 196 2 command.c:373 register_command(): command 'disassemble' is already registered in 'arm' context
Debug: 197 2 command.c:373 register_command(): command 'mcr' is already registered in 'arm' context
Debug: 198 2 command.c:373 register_command(): command 'mrc' is already registered in 'arm' context
Debug: 199 2 command.c:373 register_command(): command 'semihosting' is already registered in 'arm' context
Debug: 200 2 command.c:373 register_command(): command 'semihosting_cmdline' is already registered in 'arm' context
Debug: 201 2 command.c:373 register_command(): command 'semihosting_fileio' is already registered in 'arm' context
Debug: 202 2 command.c:373 register_command(): command 'semihosting_resexit' is already registered in 'arm' context
Debug: 203 2 command.c:373 register_command(): command 'tpiu' is already registered in '<global>' context
Debug: 204 2 command.c:373 register_command(): command 'config' is already registered in 'tpiu' context
Debug: 205 2 command.c:373 register_command(): command 'itm' is already registered in '<global>' context
Debug: 206 2 command.c:373 register_command(): command 'port' is already registered in 'itm' context
Debug: 207 2 command.c:373 register_command(): command 'ports' is already registered in 'itm' context
Debug: 208 2 command.c:373 register_command(): command 'cortex_m' is already registered in '<global>' context
Debug: 209 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 210 2 command.c:373 register_command(): command 'maskisr' is already registered in 'cortex_m' context
Debug: 211 2 command.c:373 register_command(): command 'vector_catch' is already registered in 'cortex_m' context
Debug: 212 2 command.c:373 register_command(): command 'reset_config' is already registered in 'cortex_m' context
Debug: 213 2 command.c:373 register_command(): command 'smp' is already registered in 'cortex_m' context
Debug: 214 2 command.c:373 register_command(): command 'smp_on' is already registered in 'cortex_m' context
Debug: 215 2 command.c:373 register_command(): command 'smp_off' is already registered in 'cortex_m' context
Debug: 216 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 217 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 218 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 219 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 220 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 221 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 222 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 223 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 224 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 225 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 226 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 227 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 228 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 229 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 230 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 231 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 232 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 233 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 234 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 235 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 236 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 237 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 238 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 239 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 240 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 241 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 242 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 243 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 244 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 245 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 246 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 247 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 248 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 249 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 250 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 251 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 252 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 253 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 254 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 255 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 256 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 257 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 258 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 259 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 260 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 261 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 262 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 263 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 264 2 command.c:146 script_debug(): command - rp2040.core1 configure -work-area-phys 0x20010000 -work-area-size 0x10000 -work-area-backup 0
Debug: 265 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 266 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 267 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 268 2 command.c:146 script_debug(): command - cortex_m reset_config sysresetreq
Debug: 270 2 command.c:146 script_debug(): command - target smp rp2040.core0 rp2040.core1
Debug: 271 2 target.c:5727 jim_target_smp(): 3
Debug: 272 2 target.c:5737 jim_target_smp(): rp2040.core0 
Debug: 273 2 target.c:5737 jim_target_smp(): rp2040.core1 
Debug: 274 2 hwthread.c:200 hwthread_update_threads(): hwthread_update_threads current_thread=-1
Debug: 275 2 command.c:146 script_debug(): command - flash bank rp2040.flash rp2040_flash 0x10000000 0x200000 1 32 rp2040.core0
Info : 277 2 rp2040.c:351 rp2040_flash_bank_command(): RP2040 Flash Bank Command
Debug: 278 2 tcl.c:1258 handle_flash_bank_command(): 'rp2040_flash' driver usage field missing
Debug: 279 2 command.c:146 script_debug(): command - reset_config srst_nogate
Debug: 281 2 command.c:146 script_debug(): command - gdb_flash_program enable
Debug: 283 2 command.c:146 script_debug(): command - gdb_memory_map enable
Info : 285 2 server.c:310 add_service(): Listening on port 6666 for tcl connections
Info : 286 2 server.c:310 add_service(): Listening on port 4444 for telnet connections
Debug: 287 2 command.c:146 script_debug(): command - init
Debug: 289 2 command.c:146 script_debug(): command - target init
Debug: 291 2 command.c:146 script_debug(): command - target names
Debug: 292 2 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-flash-erase-start
Debug: 293 2 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-flash-erase-start reset init
Debug: 294 2 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-flash-write-end
Debug: 295 2 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-flash-write-end reset halt
Debug: 296 2 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-attach
Debug: 297 2 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-attach halt 1000
Debug: 298 2 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-flash-erase-start
Debug: 299 2 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-flash-erase-start reset init
Debug: 300 2 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-flash-write-end
Debug: 301 2 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-flash-write-end reset halt
Debug: 302 2 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-attach
Debug: 303 2 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-attach halt 1000
Debug: 304 2 target.c:1458 handle_target_init_command(): Initializing targets...
Debug: 305 2 semihosting_common.c:97 semihosting_common_init():  
Debug: 306 2 semihosting_common.c:97 semihosting_common_init():  
Debug: 307 2 command.c:352 register_command_handler(): registering 'target_request'...
Debug: 308 2 command.c:352 register_command_handler(): registering 'trace'...
Debug: 309 2 command.c:352 register_command_handler(): registering 'trace'...
Debug: 310 2 command.c:352 register_command_handler(): registering 'fast_load_image'...
Debug: 311 2 command.c:352 register_command_handler(): registering 'fast_load'...
Debug: 312 2 command.c:352 register_command_handler(): registering 'profile'...
Debug: 313 2 command.c:352 register_command_handler(): registering 'virt2phys'...
Debug: 314 2 command.c:352 register_command_handler(): registering 'reg'...
Debug: 315 2 command.c:352 register_command_handler(): registering 'poll'...
Debug: 316 2 command.c:352 register_command_handler(): registering 'wait_halt'...
Debug: 317 2 command.c:352 register_command_handler(): registering 'halt'...
Debug: 318 2 command.c:352 register_command_handler(): registering 'resume'...
Debug: 319 2 command.c:352 register_command_handler(): registering 'reset'...
Debug: 320 2 command.c:352 register_command_handler(): registering 'soft_reset_halt'...
Debug: 321 2 command.c:352 register_command_handler(): registering 'step'...
Debug: 322 2 command.c:352 register_command_handler(): registering 'mdd'...
Debug: 323 2 command.c:352 register_command_handler(): registering 'mdw'...
Debug: 324 2 command.c:352 register_command_handler(): registering 'mdh'...
Debug: 325 3 command.c:352 register_command_handler(): registering 'mdb'...
Debug: 326 3 command.c:352 register_command_handler(): registering 'mwd'...
Debug: 327 3 command.c:352 register_command_handler(): registering 'mww'...
Debug: 328 3 command.c:352 register_command_handler(): registering 'mwh'...
Debug: 329 3 command.c:352 register_command_handler(): registering 'mwb'...
Debug: 330 3 command.c:352 register_command_handler(): registering 'bp'...
Debug: 331 3 command.c:352 register_command_handler(): registering 'rbp'...
Debug: 332 3 command.c:352 register_command_handler(): registering 'wp'...
Debug: 333 3 command.c:352 register_command_handler(): registering 'rwp'...
Debug: 334 3 command.c:352 register_command_handler(): registering 'load_image'...
Debug: 335 3 command.c:352 register_command_handler(): registering 'dump_image'...
Debug: 336 3 command.c:352 register_command_handler(): registering 'verify_image_checksum'...
Debug: 337 3 command.c:352 register_command_handler(): registering 'verify_image'...
Debug: 338 3 command.c:352 register_command_handler(): registering 'test_image'...
Debug: 339 3 command.c:352 register_command_handler(): registering 'reset_nag'...
Debug: 340 3 command.c:352 register_command_handler(): registering 'ps'...
Debug: 341 3 command.c:352 register_command_handler(): registering 'test_mem_access'...
Debug: 342 3 jlink.c:571 jlink_init(): Using libjaylink 0.2.0 (compiled with 0.2.0).
Debug: 343 6 jlink.c:526 jaylink_log_handler(): Found device (VID:PID = 1366:0105, bus:address = 003:027).
Debug: 344 11 jlink.c:526 jaylink_log_handler(): Device: USB address = 0.
Debug: 345 11 jlink.c:526 jaylink_log_handler(): Device: Serial number = 20190417.
Debug: 346 11 jlink.c:526 jaylink_log_handler(): Allocating new device instance.
Debug: 347 11 jlink.c:526 jaylink_log_handler(): Found 1 USB device(s).
Debug: 348 11 jlink.c:526 jaylink_log_handler(): Trying to open device (bus:address = 003:027).
Debug: 349 11 jlink.c:526 jaylink_log_handler(): Using endpoint 84 (IN) and 05 (OUT).
Debug: 350 11 jlink.c:526 jaylink_log_handler(): Device opened successfully.
Info : 358 12 jlink.c:696 jlink_init(): J-Link OB-STM32F072-CortexM compiled Jan  7 2019 14:09:37
Info : 371 12 jlink.c:737 jlink_init(): Hardware version: 1.00
Info : 384 13 jlink.c:778 jlink_init(): VTarget = 3.300 V
Debug: 397 13 jlink.c:931 jlink_reset(): TRST: 0, SRST: 0.
Debug: 408 17 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 409 17 core.c:1789 adapter_khz_to_speed(): have interface set up
Debug: 416 17 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 417 17 core.c:1789 adapter_khz_to_speed(): have interface set up
Info : 418 17 core.c:1565 adapter_init(): clock speed 2000 kHz
Debug: 419 17 openocd.c:141 handle_init_command(): Debug Adapter init complete
Debug: 420 17 command.c:146 script_debug(): command - transport init
Debug: 422 17 transport.c:239 handle_transport_init(): handle_transport_init
Debug: 423 17 command.c:146 script_debug(): command - dap init
Debug: 425 17 arm_dap.c:116 dap_init_all(): Initializing all DAPs ...
Error: 426 17 jlink.c:2153 jlink_swd_switch_seq(): Sequence 4 not supported.
Debug: 427 17 jlink.c:2138 jlink_swd_switch_seq(): SWD line reset
Debug: 428 17 jlink.c:2167 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 438 17 jlink.c:2191 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 439 17 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 440 17 jlink.c:2138 jlink_swd_switch_seq(): SWD line reset
Debug: 441 17 jlink.c:2167 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 451 18 jlink.c:2191 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 452 18 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 453 18 jlink.c:2138 jlink_swd_switch_seq(): SWD line reset
Debug: 454 18 jlink.c:2167 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 464 18 jlink.c:2191 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 465 18 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0
Info : 466 18 arm_dap.c:337 handle_dap_init(): DAP init failed
Debug: 467 18 command.c:626 run_command(): Command 'dap init' failed with error code -4
User : 468 19 command.c:692 command_run_line(): 
Debug: 469 19 command.c:626 run_command(): Command 'init' failed with error code -4
User : 470 19 command.c:692 command_run_line(): 
Debug: 471 19 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 472 19 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Error: 473 19 jlink.c:2153 jlink_swd_switch_seq(): Sequence 3 not supported.
Error: 474 19 jlink.c:2153 jlink_swd_switch_seq(): Sequence 4 not supported.
Debug: 475 19 jlink.c:2138 jlink_swd_switch_seq(): SWD line reset
Debug: 476 19 jlink.c:2167 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 486 19 jlink.c:2191 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 487 19 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 488 19 jlink.c:2138 jlink_swd_switch_seq(): SWD line reset
Debug: 489 19 jlink.c:2167 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 499 20 jlink.c:2191 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 500 20 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 501 20 jlink.c:2138 jlink_swd_switch_seq(): SWD line reset
Debug: 502 20 jlink.c:2167 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 512 20 jlink.c:2191 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 513 20 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0
Debug: 518 21 jlink.c:526 jaylink_log_handler(): Closing device (bus:address = 003:027).
Debug: 519 21 jlink.c:526 jaylink_log_handler(): Device closed successfully.
Debug: 520 21 jlink.c:526 jaylink_log_handler(): Device destroyed (bus:address = 003:027).

Also please provide some binary packages, as not everyone are familar with compiling the software.

If only this chip can be supported by SEGGER itself,we will be able to use the offical jlink software and it will simplify many steps.

@JamesH65
Copy link

Also please provide some binary packages, as not everyone are familar with compiling the software.

If only this chip can be supported by SEGGER itself,we will be able to use the offical jlink software and it will simplify many steps.

What do you mean by binary packages? For which part of the work flow?

SEGGER will need to support their own device. Note that you can use a Pico to debug with SWD to another Pico, so at most that is $5 extra expense if you cannot get the SEGGER working.

@happyme531
Copy link
Author

Also please provide some binary packages, as not everyone are familar with compiling the software.
If only this chip can be supported by SEGGER itself,we will be able to use the offical jlink software and it will simplify many steps.

What do you mean by binary packages? For which part of the work flow?

SEGGER will need to support their own device. Note that you can use a Pico to debug with SWD to another Pico, so at most that is $5 extra expense if you cannot get the SEGGER working.

I mean the openocd itself, especially for windows. This is helpful for further integration (maybe platformio or something like NOOBS for pico)

There are some areas where you can get a jlink ob (absolutely clone) for 3$ and it is probably the most common debug tool for developers.
So it is pretty important!

@kilograham
Copy link

Yup; we didn't include JLink changes for SWD multidrop because we didn't have anything to test them on, and figured that could be done after we up-streamed our changes. Watch this space, and we'll post something that might work shortly

@kilograham
Copy link

try the rp2040_jlink branch (as I say untested)

@kilograham kilograham added the enhancement New feature or request label Jan 25, 2021
@Hexxeh
Copy link

Hexxeh commented Jan 25, 2021

I tried the branch mentioned, the "Sequence not supported errors" disappeared but I'm still unable to successfully run openocd. Output:

Open On-Chip Debugger 0.10.0+dev-g7c961195b-dirty (2021-01-25-22:12)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
User : 13 0 options.c:63 configuration_output_handler(): debug_level: 3
User : 14 0 options.c:63 configuration_output_handler(): 
Debug: 15 0 options.c:244 add_default_dirs(): bindir=/usr/local/bin
Debug: 16 0 options.c:245 add_default_dirs(): pkgdatadir=/usr/local/share/openocd
Debug: 17 0 options.c:246 add_default_dirs(): exepath=/usr/local/bin
Debug: 18 0 options.c:247 add_default_dirs(): bin2data=../share/openocd
Debug: 19 0 configuration.c:42 add_script_search_dir(): adding /root/.config/openocd
Debug: 20 0 configuration.c:42 add_script_search_dir(): adding /root/.openocd
Debug: 21 0 configuration.c:42 add_script_search_dir(): adding /usr/local/bin/../share/openocd/site
Debug: 22 0 configuration.c:42 add_script_search_dir(): adding /usr/local/bin/../share/openocd/scripts
Debug: 23 0 command.c:146 script_debug(): command - gdb_port 50000
Debug: 25 0 configuration.c:97 find_file(): found /usr/local/bin/../share/openocd/scripts/interface/jlink.cfg
Debug: 26 0 command.c:146 script_debug(): command - adapter driver jlink
Debug: 28 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 29 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 30 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 31 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 32 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 33 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 34 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 35 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 36 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 37 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 38 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 39 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 40 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 41 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 42 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 43 0 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 44 0 command.c:146 script_debug(): command - transport select swd
Debug: 45 0 command.c:352 register_command_handler(): registering 'swd'...
User : 46 0 options.c:63 configuration_output_handler(): swdUser : 47 0 options.c:63 configuration_output_handler(): 
Debug: 48 0 command.c:146 script_debug(): command - echo DEPRECATED! use 'adapter speed' not 'adapter_khz'
User : 50 0 command.c:767 jim_echo(): DEPRECATED! use 'adapter speed' not 'adapter_khz'
Debug: 51 0 command.c:146 script_debug(): command - adapter speed 2000
Debug: 53 0 core.c:1822 jtag_config_khz(): handle jtag khz
Debug: 54 0 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 55 0 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 56 0 options.c:63 configuration_output_handler(): adapter speed: 2000 kHz
User : 57 0 options.c:63 configuration_output_handler(): 
Debug: 58 1 configuration.c:97 find_file(): found /usr/local/bin/../share/openocd/scripts/target/rp2040.cfg
Debug: 59 1 configuration.c:97 find_file(): found /usr/local/bin/../share/openocd/scripts/target/swj-dp.tcl
Debug: 60 1 command.c:146 script_debug(): command - transport select
Debug: 61 1 configuration.c:97 find_file(): found /usr/local/bin/../share/openocd/scripts/mem_helper.tcl
Debug: 62 1 command.c:146 script_debug(): command - add_usage_text mrw address
Debug: 64 1 command.c:1123 help_add_command(): added 'mrw' help text
Debug: 65 1 command.c:146 script_debug(): command - add_help_text mrw Returns value of word in memory.
Debug: 67 1 command.c:1136 help_add_command(): added 'mrw' help text
Debug: 68 1 command.c:146 script_debug(): command - add_usage_text mrh address
Debug: 70 1 command.c:1123 help_add_command(): added 'mrh' help text
Debug: 71 1 command.c:146 script_debug(): command - add_help_text mrh Returns value of halfword in memory.
Debug: 73 1 command.c:1136 help_add_command(): added 'mrh' help text
Debug: 74 1 command.c:146 script_debug(): command - add_usage_text mrb address
Debug: 76 1 command.c:1123 help_add_command(): added 'mrb' help text
Debug: 77 1 command.c:146 script_debug(): command - add_help_text mrb Returns value of byte in memory.
Debug: 79 1 command.c:1136 help_add_command(): added 'mrb' help text
Debug: 80 1 command.c:146 script_debug(): command - add_usage_text mmw address setbits clearbits
Debug: 82 1 command.c:1123 help_add_command(): added 'mmw' help text
Debug: 83 1 command.c:146 script_debug(): command - add_help_text mmw Modify word in memory. new_val = (old_val & ~clearbits) | setbits;
Debug: 85 1 command.c:1136 help_add_command(): added 'mmw' help text
Debug: 86 1 command.c:146 script_debug(): command - transport select
Debug: 87 1 command.c:146 script_debug(): command - transport select
Debug: 88 1 command.c:146 script_debug(): command - swd newdap rp2040.core0 cpu -dp-id 0x01002927 -instance-id 0
Debug: 89 1 tcl.c:604 jim_newtap_cmd(): Creating New Tap, Chip: rp2040.core0, Tap: cpu, Dotted: rp2040.core0.cpu, 4 params
Debug: 90 1 tcl.c:618 jim_newtap_cmd(): Processing option: -dp-id
Debug: 91 1 tcl.c:618 jim_newtap_cmd(): Processing option: -instance-id
Debug: 92 1 core.c:1484 jtag_tap_init(): Created Tap: rp2040.core0.cpu @ abs position 0, irlen 0, capture: 0x0 mask: 0x0
Debug: 93 1 command.c:146 script_debug(): command - transport select
Debug: 94 1 command.c:146 script_debug(): command - transport select
Debug: 95 1 command.c:146 script_debug(): command - swd newdap rp2040.core1 cpu -dp-id 0x01002927 -instance-id 1
Debug: 96 1 tcl.c:604 jim_newtap_cmd(): Creating New Tap, Chip: rp2040.core1, Tap: cpu, Dotted: rp2040.core1.cpu, 4 params
Debug: 97 1 tcl.c:618 jim_newtap_cmd(): Processing option: -dp-id
Debug: 98 1 tcl.c:618 jim_newtap_cmd(): Processing option: -instance-id
Debug: 99 1 core.c:1484 jtag_tap_init(): Created Tap: rp2040.core1.cpu @ abs position 1, irlen 0, capture: 0x0 mask: 0x0
Debug: 100 1 command.c:146 script_debug(): command - dap create rp2040.core0.dap -chain-position rp2040.core0.cpu
Debug: 101 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 102 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 103 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 104 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 105 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 106 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 107 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 108 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 109 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 110 1 command.c:146 script_debug(): command - target create rp2040.core0 cortex_m -endian little -coreid 0 -dap rp2040.core0.dap -rtos hwthread
Info : 111 1 hwthread.c:378 hwthread_create(): Hardware thread awareness created
Debug: 112 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 113 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 114 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 115 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 116 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 117 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 118 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 119 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 120 1 command.c:352 register_command_handler(): registering 'arm'...
Debug: 121 1 command.c:352 register_command_handler(): registering 'tpiu'...
Debug: 122 1 command.c:352 register_command_handler(): registering 'itm'...
Debug: 123 1 command.c:352 register_command_handler(): registering 'itm'...
Debug: 124 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 125 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 126 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 127 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 128 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 129 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 130 1 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 131 1 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 132 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 133 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 134 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 135 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 136 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 137 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 138 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 139 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 140 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 141 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 142 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 143 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 144 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 145 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 146 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 147 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 148 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 149 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 150 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 151 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 152 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 153 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 154 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 155 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 156 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 157 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 158 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 159 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 160 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 161 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 162 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 163 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 164 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 165 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 166 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 167 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 168 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 169 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 170 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 171 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 172 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 173 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 174 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 175 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 176 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 177 1 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 178 1 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 179 1 command.c:146 script_debug(): command - rp2040.core0 configure -work-area-phys 0x20010000 -work-area-size 0x10000 -work-area-backup 0
Debug: 180 1 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 181 1 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 182 1 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 183 1 command.c:146 script_debug(): command - cortex_m reset_config sysresetreq
Debug: 185 1 command.c:146 script_debug(): command - dap create rp2040.core1.dap -chain-position rp2040.core1.cpu
Debug: 186 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 187 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 188 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 189 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 190 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 191 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 192 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 193 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 194 1 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 195 1 command.c:146 script_debug(): command - target create rp2040.core1 cortex_m -endian little -coreid 1 -dap rp2040.core1.dap -rtos hwthread
Info : 196 1 hwthread.c:378 hwthread_create(): Hardware thread awareness created
Debug: 197 1 command.c:373 register_command(): command 'arm' is already registered in '<global>' context
Debug: 198 1 command.c:373 register_command(): command 'reg' is already registered in 'arm' context
Debug: 199 1 command.c:373 register_command(): command 'core_state' is already registered in 'arm' context
Debug: 200 1 command.c:373 register_command(): command 'disassemble' is already registered in 'arm' context
Debug: 201 1 command.c:373 register_command(): command 'mcr' is already registered in 'arm' context
Debug: 202 1 command.c:373 register_command(): command 'mrc' is already registered in 'arm' context
Debug: 203 1 command.c:373 register_command(): command 'semihosting' is already registered in 'arm' context
Debug: 204 1 command.c:373 register_command(): command 'semihosting_cmdline' is already registered in 'arm' context
Debug: 205 1 command.c:373 register_command(): command 'semihosting_fileio' is already registered in 'arm' context
Debug: 206 1 command.c:373 register_command(): command 'semihosting_resexit' is already registered in 'arm' context
Debug: 207 1 command.c:373 register_command(): command 'tpiu' is already registered in '<global>' context
Debug: 208 1 command.c:373 register_command(): command 'config' is already registered in 'tpiu' context
Debug: 209 1 command.c:373 register_command(): command 'itm' is already registered in '<global>' context
Debug: 210 1 command.c:373 register_command(): command 'port' is already registered in 'itm' context
Debug: 211 1 command.c:373 register_command(): command 'ports' is already registered in 'itm' context
Debug: 212 1 command.c:373 register_command(): command 'cortex_m' is already registered in '<global>' context
Debug: 213 1 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 214 1 command.c:373 register_command(): command 'maskisr' is already registered in 'cortex_m' context
Debug: 215 1 command.c:373 register_command(): command 'vector_catch' is already registered in 'cortex_m' context
Debug: 216 1 command.c:373 register_command(): command 'reset_config' is already registered in 'cortex_m' context
Debug: 217 1 command.c:373 register_command(): command 'smp' is already registered in 'cortex_m' context
Debug: 218 1 command.c:373 register_command(): command 'smp_on' is already registered in 'cortex_m' context
Debug: 219 1 command.c:373 register_command(): command 'smp_off' is already registered in 'cortex_m' context
Debug: 220 1 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 221 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 222 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 223 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 224 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 225 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 226 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 227 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 228 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 229 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 230 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 231 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 232 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 233 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 234 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 235 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 236 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 237 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 238 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 239 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 240 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 241 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 242 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 243 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 244 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 245 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 246 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 247 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 248 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 249 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 250 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 251 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 252 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 253 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 254 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 255 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 256 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 257 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 258 1 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 259 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 260 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 261 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 262 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 263 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 264 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 265 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 266 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 267 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 268 2 command.c:146 script_debug(): command - rp2040.core1 configure -work-area-phys 0x20010000 -work-area-size 0x10000 -work-area-backup 0
Debug: 269 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 270 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 271 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 272 2 command.c:146 script_debug(): command - cortex_m reset_config sysresetreq
Debug: 274 2 command.c:146 script_debug(): command - target smp rp2040.core0 rp2040.core1
Debug: 275 2 target.c:5727 jim_target_smp(): 3
Debug: 276 2 target.c:5737 jim_target_smp(): rp2040.core0 
Debug: 277 2 target.c:5737 jim_target_smp(): rp2040.core1 
Debug: 278 2 hwthread.c:200 hwthread_update_threads(): hwthread_update_threads current_thread=-1
Debug: 279 2 command.c:146 script_debug(): command - flash bank rp2040.flash rp2040_flash 0x10000000 0x200000 1 32 rp2040.core0
Info : 281 2 rp2040.c:351 rp2040_flash_bank_command(): RP2040 Flash Bank Command
Debug: 282 2 tcl.c:1258 handle_flash_bank_command(): 'rp2040_flash' driver usage field missing
Debug: 283 2 command.c:146 script_debug(): command - reset_config srst_nogate
Debug: 285 2 command.c:146 script_debug(): command - gdb_flash_program enable
Debug: 287 2 command.c:146 script_debug(): command - gdb_memory_map enable
Info : 289 2 server.c:310 add_service(): Listening on port 6666 for tcl connections
Info : 290 2 server.c:310 add_service(): Listening on port 4444 for telnet connections
Debug: 291 2 command.c:146 script_debug(): command - init
Debug: 293 2 command.c:146 script_debug(): command - target init
Debug: 295 2 command.c:146 script_debug(): command - target names
Debug: 296 2 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-flash-erase-start
Debug: 297 2 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-flash-erase-start reset init
Debug: 298 2 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-flash-write-end
Debug: 299 2 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-flash-write-end reset halt
Debug: 300 2 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-attach
Debug: 301 2 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-attach halt 1000
Debug: 302 2 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-flash-erase-start
Debug: 303 2 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-flash-erase-start reset init
Debug: 304 2 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-flash-write-end
Debug: 305 2 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-flash-write-end reset halt
Debug: 306 2 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-attach
Debug: 307 2 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-attach halt 1000
Debug: 308 2 target.c:1458 handle_target_init_command(): Initializing targets...
Debug: 309 2 semihosting_common.c:97 semihosting_common_init():  
Debug: 310 2 semihosting_common.c:97 semihosting_common_init():  
Debug: 311 2 command.c:352 register_command_handler(): registering 'target_request'...
Debug: 312 2 command.c:352 register_command_handler(): registering 'trace'...
Debug: 313 2 command.c:352 register_command_handler(): registering 'trace'...
Debug: 314 2 command.c:352 register_command_handler(): registering 'fast_load_image'...
Debug: 315 2 command.c:352 register_command_handler(): registering 'fast_load'...
Debug: 316 2 command.c:352 register_command_handler(): registering 'profile'...
Debug: 317 2 command.c:352 register_command_handler(): registering 'virt2phys'...
Debug: 318 2 command.c:352 register_command_handler(): registering 'reg'...
Debug: 319 2 command.c:352 register_command_handler(): registering 'poll'...
Debug: 320 2 command.c:352 register_command_handler(): registering 'wait_halt'...
Debug: 321 2 command.c:352 register_command_handler(): registering 'halt'...
Debug: 322 2 command.c:352 register_command_handler(): registering 'resume'...
Debug: 323 2 command.c:352 register_command_handler(): registering 'reset'...
Debug: 324 2 command.c:352 register_command_handler(): registering 'soft_reset_halt'...
Debug: 325 2 command.c:352 register_command_handler(): registering 'step'...
Debug: 326 2 command.c:352 register_command_handler(): registering 'mdd'...
Debug: 327 2 command.c:352 register_command_handler(): registering 'mdw'...
Debug: 328 2 command.c:352 register_command_handler(): registering 'mdh'...
Debug: 329 2 command.c:352 register_command_handler(): registering 'mdb'...
Debug: 330 2 command.c:352 register_command_handler(): registering 'mwd'...
Debug: 331 2 command.c:352 register_command_handler(): registering 'mww'...
Debug: 332 2 command.c:352 register_command_handler(): registering 'mwh'...
Debug: 333 2 command.c:352 register_command_handler(): registering 'mwb'...
Debug: 334 2 command.c:352 register_command_handler(): registering 'bp'...
Debug: 335 2 command.c:352 register_command_handler(): registering 'rbp'...
Debug: 336 2 command.c:352 register_command_handler(): registering 'wp'...
Debug: 337 2 command.c:352 register_command_handler(): registering 'rwp'...
Debug: 338 2 command.c:352 register_command_handler(): registering 'load_image'...
Debug: 339 2 command.c:352 register_command_handler(): registering 'dump_image'...
Debug: 340 2 command.c:352 register_command_handler(): registering 'verify_image_checksum'...
Debug: 341 2 command.c:352 register_command_handler(): registering 'verify_image'...
Debug: 342 2 command.c:352 register_command_handler(): registering 'test_image'...
Debug: 343 2 command.c:352 register_command_handler(): registering 'reset_nag'...
Debug: 344 2 command.c:352 register_command_handler(): registering 'ps'...
Debug: 345 2 command.c:352 register_command_handler(): registering 'test_mem_access'...
Debug: 346 2 jlink.c:571 jlink_init(): Using libjaylink 0.2.0 (compiled with 0.2.0).
Debug: 347 89 jlink.c:526 jaylink_log_handler(): Found device (VID:PID = 1366:0101, bus:address = 003:015).
Debug: 348 90 jlink.c:526 jaylink_log_handler(): Device: USB address = 0.
Debug: 349 90 jlink.c:526 jaylink_log_handler(): Device: Serial number = 50103616.
Debug: 350 90 jlink.c:526 jaylink_log_handler(): Allocating new device instance.
Debug: 351 90 jlink.c:526 jaylink_log_handler(): Found 1 USB device(s).
Debug: 352 90 jlink.c:526 jaylink_log_handler(): Trying to open device (bus:address = 003:015).
Debug: 353 90 jlink.c:526 jaylink_log_handler(): Using endpoint 81 (IN) and 01 (OUT).
Debug: 354 90 jlink.c:526 jaylink_log_handler(): Device opened successfully.
Info : 362 90 jlink.c:696 jlink_init(): J-Link V10 compiled Apr 20 2018 16:47:09
Info : 375 91 jlink.c:737 jlink_init(): Hardware version: 10.10
Info : 388 91 jlink.c:778 jlink_init(): VTarget = 0.000 V
Debug: 394 92 jlink.c:526 jaylink_log_handler(): Last read operation left 16 bytes in the buffer.
Debug: 404 92 jlink.c:931 jlink_reset(): TRST: 0, SRST: 0.
Debug: 415 96 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 416 96 core.c:1789 adapter_khz_to_speed(): have interface set up
Debug: 423 96 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 424 96 core.c:1789 adapter_khz_to_speed(): have interface set up
Info : 425 96 core.c:1565 adapter_init(): clock speed 2000 kHz
Debug: 426 96 openocd.c:141 handle_init_command(): Debug Adapter init complete
Debug: 427 96 command.c:146 script_debug(): command - transport init
Debug: 429 96 transport.c:239 handle_transport_init(): handle_transport_init
Debug: 430 96 command.c:146 script_debug(): command - dap init
Debug: 432 96 arm_dap.c:116 dap_init_all(): Initializing all DAPs ...
Debug: 433 96 jlink.c:2155 jlink_swd_switch_seq(): DORMANT-to-SWD
Debug: 434 96 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 435 96 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 445 97 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 446 97 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 447 97 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 448 97 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 458 97 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 459 97 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 460 97 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 461 97 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 471 98 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 472 98 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0
Info : 473 98 arm_dap.c:337 handle_dap_init(): DAP init failed
Debug: 474 98 command.c:626 run_command(): Command 'dap init' failed with error code -4
User : 475 98 command.c:692 command_run_line(): 
Debug: 476 98 command.c:626 run_command(): Command 'init' failed with error code -4
User : 477 98 command.c:692 command_run_line(): 
Debug: 478 98 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 479 98 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 480 98 jlink.c:2160 jlink_swd_switch_seq(): SWD-to-DORMANT
Debug: 481 98 jlink.c:2155 jlink_swd_switch_seq(): DORMANT-to-SWD
Debug: 482 98 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 483 98 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 493 99 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 494 99 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 495 99 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 496 99 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 506 99 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 507 99 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0, retrying...
Debug: 508 99 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 509 99 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 519 100 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 520 100 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 0
Debug: 526 100 jlink.c:526 jaylink_log_handler(): Last read operation left 16 bytes in the buffer.
Debug: 528 100 jlink.c:526 jaylink_log_handler(): Closing device (bus:address = 003:015).
Debug: 529 100 jlink.c:526 jaylink_log_handler(): Device closed successfully.
Debug: 530 100 jlink.c:526 jaylink_log_handler(): Device destroyed (bus:address = 003:015).```

@happyme531
Copy link
Author

Jlink is working for me on branch rp2040_jlink.

 ../src/openocd "-c" "gdb_port 50000" "-f" "interface/jlink.cfg" -c "transport select swd" -c "adapter_khz 2000" "-f" "target/rp2040.cfg"
Open On-Chip Debugger 0.10.0+dev-g7e5ea18-dirty (2021-01-26-13:37)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
swd
DEPRECATED! use 'adapter speed' not 'adapter_khz'
adapter speed: 2000 kHz

Info : Hardware thread awareness created
Info : Hardware thread awareness created
Info : RP2040 Flash Bank Command
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : J-Link OB-STM32F072-CortexM compiled Jan  7 2019 14:09:37
Info : Hardware version: 1.00
Info : VTarget = 3.300 V
Info : clock speed 2000 kHz
Info : SWD DPIDR 0x0bc12477
Info : SWD DLPIDR 0x00000001
Info : SWD DPIDR 0x0bc12477
Info : SWD DLPIDR 0x10000001
Info : rp2040.core0: hardware has 4 breakpoints, 2 watchpoints
Info : rp2040.core1: hardware has 4 breakpoints, 2 watchpoints
Info : starting gdb server for rp2040.core0 on 50000
Info : Listening on port 50000 for gdb connections
Info : accepting 'gdb' connection on tcp/50000

@Hexxeh
Copy link

Hexxeh commented Jan 26, 2021

I suspect given it works for you and not me, it's a problem with my setup somehow. I attached a logic analyser on the SWD pins and saw no activity when running openocd, so some problem with my cables or JLink Base likely.

@ep1cman
Copy link

ep1cman commented Jan 26, 2021

May be worth checking the hardware revision of your J-Link, they don't all support multi-drop SWD: https://wiki.segger.com/Software_and_Hardware_Features_Overview

@ep1cman
Copy link

ep1cman commented Jan 26, 2021

I can confirm the rp2040_jlink branch works for me using a J-Link EDU 11.0, I've attached a photo of how I wired it up (The pinout diagrams of the J-Link are from the perspective of the socket so you have to flip it)

IMG_6446 copy

Edit: New photo showing VTref on 3v3

@ryanplusplus
Copy link

I'm able to debug using the jlink branch. However, I'm not able to program with it.

Here's my openocd script for programming:

source [find interface/jlink.cfg]
transport select swd
adapter speed 1000
source [find target/rp2040.cfg]
program build/debug/target.hex verify reset exit

which fails with:

Open On-Chip Debugger 0.10.0+dev-g7e5ea18-dirty (2021-01-26-07:54)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : Hardware thread awareness created
Info : Hardware thread awareness created
Info : RP2040 Flash Bank Command
Info : J-Link V10 compiled Oct  5 2020 14:56:16
Info : Hardware version: 10.10
Info : VTarget = 3.293 V
Info : clock speed 1000 kHz
Info : SWD DPIDR 0x0bc12477
Info : SWD DLPIDR 0x00000001
Info : SWD DPIDR 0x0bc12477
Info : SWD DLPIDR 0x10000001
Info : rp2040.core0: hardware has 4 breakpoints, 2 watchpoints
Info : rp2040.core1: hardware has 4 breakpoints, 2 watchpoints
Info : starting gdb server for rp2040.core0 on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
target halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
** Programming Started **
Warn : no flash bank found for address 0x10000000
** Programming Finished **
** Verify Started **
target halted due to debug-request, current mode: Thread 
xPSR: 0x21000000 pc: 0x10002efa msp: 0x20041fa0
Error: checksum mismatch - attempting binary compare
** Verify Failed **
shutdown command invoked

with --debug:

Open On-Chip Debugger 0.10.0+dev-g7e5ea18-dirty (2021-01-26-07:54)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
User : 13 1 options.c:63 configuration_output_handler(): debug_level: 3
User : 14 1 options.c:63 configuration_output_handler(): 
Debug: 15 1 options.c:244 add_default_dirs(): bindir=/home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin
Debug: 16 1 options.c:245 add_default_dirs(): pkgdatadir=/home/ryan/git/pico-sdk-tiny/tools/openocd/build/share/openocd
Debug: 17 1 options.c:246 add_default_dirs(): exepath=/home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin
Debug: 18 1 options.c:247 add_default_dirs(): bin2data=../share/openocd
Debug: 19 1 configuration.c:42 add_script_search_dir(): adding /home/ryan/.config/openocd
Debug: 20 1 configuration.c:42 add_script_search_dir(): adding /home/ryan/.openocd
Debug: 21 1 configuration.c:42 add_script_search_dir(): adding /home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin/../share/openocd/site
Debug: 22 1 configuration.c:42 add_script_search_dir(): adding /home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin/../share/openocd/scripts
Debug: 23 1 configuration.c:97 find_file(): found tools/upload-debug.cfg
Debug: 24 1 configuration.c:97 find_file(): found /home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin/../share/openocd/scripts/interface/jlink.cfg
Debug: 25 1 command.c:146 script_debug(): command - adapter driver jlink
Debug: 27 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 28 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 29 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 30 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 31 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 32 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 33 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 34 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 35 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 36 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 37 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 38 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 39 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 40 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 41 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 42 1 command.c:352 register_command_handler(): registering 'jlink'...
Debug: 43 1 command.c:146 script_debug(): command - transport select swd
Debug: 44 1 command.c:352 register_command_handler(): registering 'swd'...
Debug: 45 1 command.c:146 script_debug(): command - adapter speed 1000
Debug: 47 1 core.c:1822 jtag_config_khz(): handle jtag khz
Debug: 48 1 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 49 1 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 50 1 configuration.c:97 find_file(): found /home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin/../share/openocd/scripts/target/rp2040.cfg
Debug: 51 1 configuration.c:97 find_file(): found /home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin/../share/openocd/scripts/target/swj-dp.tcl
Debug: 52 1 command.c:146 script_debug(): command - transport select
Debug: 53 1 configuration.c:97 find_file(): found /home/ryan/git/pico-sdk-tiny/tools/openocd/build/bin/../share/openocd/scripts/mem_helper.tcl
Debug: 54 1 command.c:146 script_debug(): command - add_usage_text mrw address
Debug: 56 1 command.c:1123 help_add_command(): added 'mrw' help text
Debug: 57 1 command.c:146 script_debug(): command - add_help_text mrw Returns value of word in memory.
Debug: 59 1 command.c:1136 help_add_command(): added 'mrw' help text
Debug: 60 1 command.c:146 script_debug(): command - add_usage_text mrh address
Debug: 62 1 command.c:1123 help_add_command(): added 'mrh' help text
Debug: 63 1 command.c:146 script_debug(): command - add_help_text mrh Returns value of halfword in memory.
Debug: 65 1 command.c:1136 help_add_command(): added 'mrh' help text
Debug: 66 1 command.c:146 script_debug(): command - add_usage_text mrb address
Debug: 68 1 command.c:1123 help_add_command(): added 'mrb' help text
Debug: 69 1 command.c:146 script_debug(): command - add_help_text mrb Returns value of byte in memory.
Debug: 71 1 command.c:1136 help_add_command(): added 'mrb' help text
Debug: 72 1 command.c:146 script_debug(): command - add_usage_text mmw address setbits clearbits
Debug: 74 1 command.c:1123 help_add_command(): added 'mmw' help text
Debug: 75 1 command.c:146 script_debug(): command - add_help_text mmw Modify word in memory. new_val = (old_val & ~clearbits) | setbits;
Debug: 77 1 command.c:1136 help_add_command(): added 'mmw' help text
Debug: 78 1 command.c:146 script_debug(): command - transport select
Debug: 79 1 command.c:146 script_debug(): command - transport select
Debug: 80 1 command.c:146 script_debug(): command - swd newdap rp2040.core0 cpu -dp-id 0x01002927 -instance-id 0
Debug: 81 1 tcl.c:604 jim_newtap_cmd(): Creating New Tap, Chip: rp2040.core0, Tap: cpu, Dotted: rp2040.core0.cpu, 4 params
Debug: 82 1 tcl.c:618 jim_newtap_cmd(): Processing option: -dp-id
Debug: 83 1 tcl.c:618 jim_newtap_cmd(): Processing option: -instance-id
Debug: 84 1 core.c:1484 jtag_tap_init(): Created Tap: rp2040.core0.cpu @ abs position 0, irlen 0, capture: 0x0 mask: 0x0
Debug: 85 1 command.c:146 script_debug(): command - transport select
Debug: 86 1 command.c:146 script_debug(): command - transport select
Debug: 87 1 command.c:146 script_debug(): command - swd newdap rp2040.core1 cpu -dp-id 0x01002927 -instance-id 1
Debug: 88 1 tcl.c:604 jim_newtap_cmd(): Creating New Tap, Chip: rp2040.core1, Tap: cpu, Dotted: rp2040.core1.cpu, 4 params
Debug: 89 1 tcl.c:618 jim_newtap_cmd(): Processing option: -dp-id
Debug: 90 1 tcl.c:618 jim_newtap_cmd(): Processing option: -instance-id
Debug: 91 1 core.c:1484 jtag_tap_init(): Created Tap: rp2040.core1.cpu @ abs position 1, irlen 0, capture: 0x0 mask: 0x0
Debug: 92 1 command.c:146 script_debug(): command - dap create rp2040.core0.dap -chain-position rp2040.core0.cpu
Debug: 93 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 94 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 95 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 96 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 97 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 98 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 99 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 100 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 101 1 command.c:352 register_command_handler(): registering 'rp2040.core0.dap'...
Debug: 102 1 command.c:146 script_debug(): command - target create rp2040.core0 cortex_m -endian little -coreid 0 -dap rp2040.core0.dap -rtos hwthread
Info : 103 2 hwthread.c:378 hwthread_create(): Hardware thread awareness created
Debug: 104 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 105 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 106 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 107 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 108 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 109 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 110 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 111 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 112 2 command.c:352 register_command_handler(): registering 'arm'...
Debug: 113 2 command.c:352 register_command_handler(): registering 'tpiu'...
Debug: 114 2 command.c:352 register_command_handler(): registering 'itm'...
Debug: 115 2 command.c:352 register_command_handler(): registering 'itm'...
Debug: 116 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 117 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 118 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 119 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 120 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 121 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 122 2 command.c:352 register_command_handler(): registering 'cortex_m'...
Debug: 123 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 124 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 125 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 126 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 127 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 128 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 129 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 130 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 131 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 132 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 133 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 134 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 135 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 136 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 137 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 138 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 139 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 140 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 141 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 142 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 143 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 144 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 145 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 146 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 147 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 148 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 149 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 150 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 151 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 152 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 153 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 154 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 155 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 156 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 157 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 158 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 159 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 160 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 161 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 162 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 163 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 164 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 165 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 166 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 167 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 168 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 169 2 command.c:352 register_command_handler(): registering 'rp2040.core0'...
Debug: 170 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 171 2 command.c:146 script_debug(): command - rp2040.core0 configure -work-area-phys 0x20010000 -work-area-size 0x10000 -work-area-backup 0
Debug: 172 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 173 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 174 2 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 175 2 command.c:146 script_debug(): command - cortex_m reset_config sysresetreq
Debug: 177 2 command.c:146 script_debug(): command - dap create rp2040.core1.dap -chain-position rp2040.core1.cpu
Debug: 178 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 179 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 180 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 181 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 182 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 183 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 184 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 185 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 186 2 command.c:352 register_command_handler(): registering 'rp2040.core1.dap'...
Debug: 187 2 command.c:146 script_debug(): command - target create rp2040.core1 cortex_m -endian little -coreid 1 -dap rp2040.core1.dap -rtos hwthread
Info : 188 2 hwthread.c:378 hwthread_create(): Hardware thread awareness created
Debug: 189 2 command.c:373 register_command(): command 'arm' is already registered in '<global>' context
Debug: 190 2 command.c:373 register_command(): command 'reg' is already registered in 'arm' context
Debug: 191 2 command.c:373 register_command(): command 'core_state' is already registered in 'arm' context
Debug: 192 2 command.c:373 register_command(): command 'disassemble' is already registered in 'arm' context
Debug: 193 2 command.c:373 register_command(): command 'mcr' is already registered in 'arm' context
Debug: 194 2 command.c:373 register_command(): command 'mrc' is already registered in 'arm' context
Debug: 195 2 command.c:373 register_command(): command 'semihosting' is already registered in 'arm' context
Debug: 196 2 command.c:373 register_command(): command 'semihosting_cmdline' is already registered in 'arm' context
Debug: 197 2 command.c:373 register_command(): command 'semihosting_fileio' is already registered in 'arm' context
Debug: 198 2 command.c:373 register_command(): command 'semihosting_resexit' is already registered in 'arm' context
Debug: 199 2 command.c:373 register_command(): command 'tpiu' is already registered in '<global>' context
Debug: 200 2 command.c:373 register_command(): command 'config' is already registered in 'tpiu' context
Debug: 201 2 command.c:373 register_command(): command 'itm' is already registered in '<global>' context
Debug: 202 2 command.c:373 register_command(): command 'port' is already registered in 'itm' context
Debug: 203 2 command.c:373 register_command(): command 'ports' is already registered in 'itm' context
Debug: 204 2 command.c:373 register_command(): command 'cortex_m' is already registered in '<global>' context
Debug: 205 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 206 2 command.c:373 register_command(): command 'maskisr' is already registered in 'cortex_m' context
Debug: 207 2 command.c:373 register_command(): command 'vector_catch' is already registered in 'cortex_m' context
Debug: 208 2 command.c:373 register_command(): command 'reset_config' is already registered in 'cortex_m' context
Debug: 209 2 command.c:373 register_command(): command 'smp' is already registered in 'cortex_m' context
Debug: 210 2 command.c:373 register_command(): command 'smp_on' is already registered in 'cortex_m' context
Debug: 211 2 command.c:373 register_command(): command 'smp_off' is already registered in 'cortex_m' context
Debug: 212 2 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 213 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 214 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 215 2 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 216 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 217 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 218 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 219 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 220 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 221 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 222 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 223 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 224 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 225 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 226 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 227 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 228 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 229 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 230 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 231 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 232 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 233 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 234 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 235 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 236 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 237 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 238 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 239 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 240 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 241 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 242 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 243 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 244 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 245 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 246 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 247 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 248 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 249 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 250 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 251 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 252 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 253 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 254 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 255 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 256 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 257 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 258 16 command.c:352 register_command_handler(): registering 'rp2040.core1'...
Debug: 259 16 command.c:373 register_command(): command 'smp_gdb' is already registered in 'cortex_m' context
Debug: 260 16 command.c:146 script_debug(): command - rp2040.core1 configure -work-area-phys 0x20010000 -work-area-size 0x10000 -work-area-backup 0
Debug: 261 16 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 262 16 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 263 16 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 264 17 command.c:146 script_debug(): command - cortex_m reset_config sysresetreq
Debug: 266 17 command.c:146 script_debug(): command - target smp rp2040.core0 rp2040.core1
Debug: 267 17 target.c:5727 jim_target_smp(): 3
Debug: 268 17 target.c:5737 jim_target_smp(): rp2040.core0 
Debug: 269 17 target.c:5737 jim_target_smp(): rp2040.core1 
Debug: 270 17 hwthread.c:200 hwthread_update_threads(): hwthread_update_threads current_thread=-1
Debug: 271 17 command.c:146 script_debug(): command - flash bank rp2040.flash rp2040_flash 0x10000000 0x200000 1 32 rp2040.core0
Info : 273 17 rp2040.c:351 rp2040_flash_bank_command(): RP2040 Flash Bank Command
Debug: 274 17 tcl.c:1258 handle_flash_bank_command(): 'rp2040_flash' driver usage field missing
Debug: 275 17 command.c:146 script_debug(): command - reset_config srst_nogate
Debug: 277 17 command.c:146 script_debug(): command - gdb_flash_program enable
Debug: 279 17 command.c:146 script_debug(): command - gdb_memory_map enable
Debug: 281 17 command.c:146 script_debug(): command - init
Debug: 283 17 command.c:146 script_debug(): command - target init
Debug: 285 17 command.c:146 script_debug(): command - target names
Debug: 286 17 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-flash-erase-start
Debug: 287 17 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-flash-erase-start reset init
Debug: 288 17 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-flash-write-end
Debug: 289 17 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-flash-write-end reset halt
Debug: 290 17 command.c:146 script_debug(): command - rp2040.core0 cget -event gdb-attach
Debug: 291 17 command.c:146 script_debug(): command - rp2040.core0 configure -event gdb-attach halt 1000
Debug: 292 17 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-flash-erase-start
Debug: 293 17 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-flash-erase-start reset init
Debug: 294 17 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-flash-write-end
Debug: 295 17 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-flash-write-end reset halt
Debug: 296 17 command.c:146 script_debug(): command - rp2040.core1 cget -event gdb-attach
Debug: 297 17 command.c:146 script_debug(): command - rp2040.core1 configure -event gdb-attach halt 1000
Debug: 298 17 target.c:1458 handle_target_init_command(): Initializing targets...
Debug: 299 17 semihosting_common.c:97 semihosting_common_init():  
Debug: 300 17 semihosting_common.c:97 semihosting_common_init():  
Debug: 301 17 command.c:352 register_command_handler(): registering 'target_request'...
Debug: 302 17 command.c:352 register_command_handler(): registering 'trace'...
Debug: 303 17 command.c:352 register_command_handler(): registering 'trace'...
Debug: 304 17 command.c:352 register_command_handler(): registering 'fast_load_image'...
Debug: 305 17 command.c:352 register_command_handler(): registering 'fast_load'...
Debug: 306 17 command.c:352 register_command_handler(): registering 'profile'...
Debug: 307 17 command.c:352 register_command_handler(): registering 'virt2phys'...
Debug: 308 17 command.c:352 register_command_handler(): registering 'reg'...
Debug: 309 17 command.c:352 register_command_handler(): registering 'poll'...
Debug: 310 17 command.c:352 register_command_handler(): registering 'wait_halt'...
Debug: 311 17 command.c:352 register_command_handler(): registering 'halt'...
Debug: 312 17 command.c:352 register_command_handler(): registering 'resume'...
Debug: 313 17 command.c:352 register_command_handler(): registering 'reset'...
Debug: 314 17 command.c:352 register_command_handler(): registering 'soft_reset_halt'...
Debug: 315 17 command.c:352 register_command_handler(): registering 'step'...
Debug: 316 17 command.c:352 register_command_handler(): registering 'mdd'...
Debug: 317 17 command.c:352 register_command_handler(): registering 'mdw'...
Debug: 318 17 command.c:352 register_command_handler(): registering 'mdh'...
Debug: 319 17 command.c:352 register_command_handler(): registering 'mdb'...
Debug: 320 17 command.c:352 register_command_handler(): registering 'mwd'...
Debug: 321 17 command.c:352 register_command_handler(): registering 'mww'...
Debug: 322 17 command.c:352 register_command_handler(): registering 'mwh'...
Debug: 323 17 command.c:352 register_command_handler(): registering 'mwb'...
Debug: 324 17 command.c:352 register_command_handler(): registering 'bp'...
Debug: 325 17 command.c:352 register_command_handler(): registering 'rbp'...
Debug: 326 17 command.c:352 register_command_handler(): registering 'wp'...
Debug: 327 17 command.c:352 register_command_handler(): registering 'rwp'...
Debug: 328 17 command.c:352 register_command_handler(): registering 'load_image'...
Debug: 329 17 command.c:352 register_command_handler(): registering 'dump_image'...
Debug: 330 17 command.c:352 register_command_handler(): registering 'verify_image_checksum'...
Debug: 331 17 command.c:352 register_command_handler(): registering 'verify_image'...
Debug: 332 17 command.c:352 register_command_handler(): registering 'test_image'...
Debug: 333 17 command.c:352 register_command_handler(): registering 'reset_nag'...
Debug: 334 17 command.c:352 register_command_handler(): registering 'ps'...
Debug: 335 17 command.c:352 register_command_handler(): registering 'test_mem_access'...
Debug: 336 17 jlink.c:571 jlink_init(): Using libjaylink 0.2.0 (compiled with 0.2.0).
Debug: 337 25 jlink.c:526 jaylink_log_handler(): Found device (VID:PID = 1366:0101, bus:address = 001:079).
Debug: 338 25 jlink.c:526 jaylink_log_handler(): Device: USB address = 0.
Debug: 339 25 jlink.c:526 jaylink_log_handler(): Device: Serial number = 50117062.
Debug: 340 25 jlink.c:526 jaylink_log_handler(): Allocating new device instance.
Debug: 341 25 jlink.c:526 jaylink_log_handler(): Found 1 USB device(s).
Debug: 342 25 jlink.c:526 jaylink_log_handler(): Trying to open device (bus:address = 001:079).
Debug: 343 25 jlink.c:526 jaylink_log_handler(): Using endpoint 81 (IN) and 01 (OUT).
Debug: 344 25 jlink.c:526 jaylink_log_handler(): Device opened successfully.
Info : 352 26 jlink.c:696 jlink_init(): J-Link V10 compiled Oct  5 2020 14:56:16
Info : 365 26 jlink.c:737 jlink_init(): Hardware version: 10.10
Info : 378 34 jlink.c:778 jlink_init(): VTarget = 3.294 V
Debug: 384 34 jlink.c:526 jaylink_log_handler(): Last read operation left 16 bytes in the buffer.
Debug: 394 35 jlink.c:931 jlink_reset(): TRST: 0, SRST: 0.
Debug: 405 39 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 406 39 core.c:1789 adapter_khz_to_speed(): have interface set up
Debug: 413 39 core.c:1785 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 414 39 core.c:1789 adapter_khz_to_speed(): have interface set up
Info : 415 39 core.c:1565 adapter_init(): clock speed 1000 kHz
Debug: 416 39 openocd.c:141 handle_init_command(): Debug Adapter init complete
Debug: 417 39 command.c:146 script_debug(): command - transport init
Debug: 419 39 transport.c:239 handle_transport_init(): handle_transport_init
Debug: 420 39 command.c:146 script_debug(): command - dap init
Debug: 422 39 arm_dap.c:116 dap_init_all(): Initializing all DAPs ...
Debug: 423 39 jlink.c:2155 jlink_swd_switch_seq(): DORMANT-to-SWD
Debug: 424 39 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 425 39 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Info : 435 40 adi_v5_swd.c:226 swd_multidrop_connect(): SWD DPIDR 0x0bc12477
Info : 436 40 adi_v5_swd.c:227 swd_multidrop_connect(): SWD DLPIDR 0x00000001
Debug: 437 40 arm_adi_v5.c:653 dap_dp_init(): rp2040.core0.dap
Debug: 438 40 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 448 40 arm_adi_v5.c:698 dap_dp_init(): DAP: wait CDBGPWRUPACK
Debug: 449 41 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x20000000, value 0x20000000
Debug: 450 41 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 460 41 arm_adi_v5.c:706 dap_dp_init(): DAP: wait CSYSPWRUPACK
Debug: 461 41 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x80000000, value 0x80000000
Debug: 462 41 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 472 41 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 482 42 jlink.c:2155 jlink_swd_switch_seq(): DORMANT-to-SWD
Debug: 483 42 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 484 42 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Info : 494 43 adi_v5_swd.c:226 swd_multidrop_connect(): SWD DPIDR 0x0bc12477
Info : 495 43 adi_v5_swd.c:227 swd_multidrop_connect(): SWD DLPIDR 0x10000001
Debug: 496 43 arm_adi_v5.c:653 dap_dp_init(): rp2040.core1.dap
Debug: 497 43 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 507 43 arm_adi_v5.c:698 dap_dp_init(): DAP: wait CDBGPWRUPACK
Debug: 508 43 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x20000000, value 0x20000000
Debug: 509 43 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 519 43 arm_adi_v5.c:706 dap_dp_init(): DAP: wait CSYSPWRUPACK
Debug: 520 44 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x80000000, value 0x80000000
Debug: 521 44 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 531 44 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 541 44 openocd.c:158 handle_init_command(): Examining targets...
Debug: 542 44 target.c:1644 target_call_event_callbacks(): target event 19 (examine-start) for core rp2040.core0
Debug: 543 44 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 544 44 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 554 45 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 564 46 arm_adi_v5.c:882 dap_find_ap(): Found AHB3-AP at AP index: 0 (IDR=0x04770031)
Debug: 565 46 jlink.c:2179 jlink_swd_run_queue(): Executing 8 queued transactions.
Debug: 575 46 arm_adi_v5.c:776 mem_ap_init(): MEM_AP Packed Transfers: disabled
Debug: 576 46 arm_adi_v5.c:787 mem_ap_init(): MEM_AP CFG: large data 0, long address 0, big-endian 0
Debug: 577 46 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 587 47 target.c:2406 target_read_u32(): address: 0xe000ed00, value: 0x410cc601
Debug: 588 47 cortex_m.c:2348 cortex_m_examine(): Cortex-M0 r0p1 processor detected
Debug: 589 47 cortex_m.c:2360 cortex_m_examine(): cpuid: 0x410cc601
Debug: 590 47 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 600 47 target.c:2406 target_read_u32(): address: 0xe000edf0, value: 0x00030003
Debug: 601 47 target.c:2494 target_write_u32(): address: 0xe000edfc, value: 0x01000000
Debug: 602 47 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 612 48 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 622 48 target.c:2406 target_read_u32(): address: 0xe0002000, value: 0x00000041
Debug: 623 48 target.c:2494 target_write_u32(): address: 0xe0002008, value: 0x00000000
Debug: 624 48 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 634 49 target.c:2494 target_write_u32(): address: 0xe000200c, value: 0x00000000
Debug: 635 49 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 645 49 target.c:2494 target_write_u32(): address: 0xe0002010, value: 0x00000000
Debug: 646 49 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 656 50 target.c:2494 target_write_u32(): address: 0xe0002014, value: 0x00000000
Debug: 657 50 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 667 50 cortex_m.c:2462 cortex_m_examine(): FPB fpcr 0x41, numcode 4, numlit 0
Debug: 668 50 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 678 50 target.c:2406 target_read_u32(): address: 0xe0001000, value: 0x20000000
Debug: 679 50 cortex_m.c:2176 cortex_m_dwt_setup(): DWT_CTRL: 0x20000000
Debug: 680 50 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 690 51 target.c:2406 target_read_u32(): address: 0xe0001fbc, value: 0x00000000
Debug: 691 51 cortex_m.c:2183 cortex_m_dwt_setup(): DWT_DEVARCH: 0x0
Debug: 692 51 target.c:2494 target_write_u32(): address: 0xe0001028, value: 0x00000000
Debug: 693 51 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 703 51 target.c:2494 target_write_u32(): address: 0xe0001038, value: 0x00000000
Debug: 704 51 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 714 52 cortex_m.c:2230 cortex_m_dwt_setup(): DWT dwtcr 0x20000000, comp 2, watch/trigger
Info : 715 52 cortex_m.c:2472 cortex_m_examine(): rp2040.core0: hardware has 4 breakpoints, 2 watchpoints
Debug: 716 52 target.c:1644 target_call_event_callbacks(): target event 21 (examine-end) for core rp2040.core0
Debug: 717 52 target.c:1644 target_call_event_callbacks(): target event 19 (examine-start) for core rp2040.core1
Debug: 718 52 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 719 52 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 729 52 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 739 55 arm_adi_v5.c:882 dap_find_ap(): Found AHB3-AP at AP index: 0 (IDR=0x04770031)
Debug: 740 55 jlink.c:2179 jlink_swd_run_queue(): Executing 8 queued transactions.
Debug: 750 56 arm_adi_v5.c:776 mem_ap_init(): MEM_AP Packed Transfers: disabled
Debug: 751 56 arm_adi_v5.c:787 mem_ap_init(): MEM_AP CFG: large data 0, long address 0, big-endian 0
Debug: 752 56 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 762 56 target.c:2406 target_read_u32(): address: 0xe000ed00, value: 0x410cc601
Debug: 763 56 cortex_m.c:2348 cortex_m_examine(): Cortex-M0 r0p1 processor detected
Debug: 764 56 cortex_m.c:2360 cortex_m_examine(): cpuid: 0x410cc601
Debug: 765 56 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 775 57 target.c:2406 target_read_u32(): address: 0xe000edf0, value: 0x00030003
Debug: 776 57 target.c:2494 target_write_u32(): address: 0xe000edfc, value: 0x01000000
Debug: 777 57 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 787 57 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 797 58 target.c:2406 target_read_u32(): address: 0xe0002000, value: 0x00000041
Debug: 798 58 target.c:2494 target_write_u32(): address: 0xe0002008, value: 0x00000000
Debug: 799 58 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 809 58 target.c:2494 target_write_u32(): address: 0xe000200c, value: 0x00000000
Debug: 810 58 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 820 59 target.c:2494 target_write_u32(): address: 0xe0002010, value: 0x00000000
Debug: 821 59 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 831 59 target.c:2494 target_write_u32(): address: 0xe0002014, value: 0x00000000
Debug: 832 59 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 842 60 cortex_m.c:2462 cortex_m_examine(): FPB fpcr 0x41, numcode 4, numlit 0
Debug: 843 60 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 853 60 target.c:2406 target_read_u32(): address: 0xe0001000, value: 0x20000000
Debug: 854 60 cortex_m.c:2176 cortex_m_dwt_setup(): DWT_CTRL: 0x20000000
Debug: 855 60 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 865 61 target.c:2406 target_read_u32(): address: 0xe0001fbc, value: 0x00000000
Debug: 866 61 cortex_m.c:2183 cortex_m_dwt_setup(): DWT_DEVARCH: 0x0
Debug: 867 61 target.c:2494 target_write_u32(): address: 0xe0001028, value: 0x00000000
Debug: 868 61 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 878 61 target.c:2494 target_write_u32(): address: 0xe0001038, value: 0x00000000
Debug: 879 61 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 889 62 cortex_m.c:2230 cortex_m_dwt_setup(): DWT dwtcr 0x20000000, comp 2, watch/trigger
Info : 890 62 cortex_m.c:2472 cortex_m_examine(): rp2040.core1: hardware has 4 breakpoints, 2 watchpoints
Debug: 891 62 target.c:1644 target_call_event_callbacks(): target event 21 (examine-end) for core rp2040.core1
Debug: 892 62 command.c:146 script_debug(): command - flash init
Debug: 893 62 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 894 62 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 904 62 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 914 63 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 915 63 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 925 63 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 936 64 tcl.c:1324 handle_flash_init_command(): Initializing flash devices...
Debug: 937 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 938 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 939 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 940 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 941 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 942 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 943 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 944 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 945 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 946 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 947 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 948 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 949 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 950 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 951 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 952 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 953 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 954 64 command.c:352 register_command_handler(): registering 'flash'...
Debug: 955 64 command.c:146 script_debug(): command - nand init
Debug: 956 64 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 957 64 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 967 64 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 977 65 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 978 65 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 988 65 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 999 66 tcl.c:498 handle_nand_init_command(): Initializing NAND devices...
Debug: 1000 66 command.c:146 script_debug(): command - pld init
Debug: 1001 66 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1002 66 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1012 66 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1022 66 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1023 66 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1033 67 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1044 67 pld.c:206 handle_pld_init_command(): Initializing PLDs...
Info : 1045 67 gdb_server.c:3503 gdb_target_start(): starting gdb server for rp2040.core0 on 3333
Info : 1046 67 server.c:310 add_service(): Listening on port 3333 for gdb connections
Debug: 1047 67 command.c:146 script_debug(): command - reset init
Debug: 1048 67 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1049 67 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1059 68 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1069 68 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1070 68 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1080 69 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1091 69 target.c:1663 target_call_reset_callbacks(): target reset 3 (init)
Debug: 1092 69 target.c:1663 target_call_reset_callbacks(): target reset 3 (init)
Debug: 1093 69 command.c:146 script_debug(): command - target names
Debug: 1094 69 command.c:146 script_debug(): command - rp2040.core0 invoke-event reset-start
Debug: 1095 69 command.c:146 script_debug(): command - rp2040.core1 invoke-event reset-start
Debug: 1096 69 command.c:146 script_debug(): command - transport select
Debug: 1097 69 command.c:146 script_debug(): command - transport select
Debug: 1098 69 command.c:146 script_debug(): command - rp2040.core0 invoke-event examine-start
Debug: 1099 69 command.c:146 script_debug(): command - rp2040.core0 arp_examine allow-defer
Debug: 1100 69 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1101 69 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1111 70 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1121 70 arm_adi_v5.c:882 dap_find_ap(): Found AHB3-AP at AP index: 0 (IDR=0x04770031)
Debug: 1122 70 jlink.c:2179 jlink_swd_run_queue(): Executing 8 queued transactions.
Debug: 1132 71 arm_adi_v5.c:776 mem_ap_init(): MEM_AP Packed Transfers: disabled
Debug: 1133 71 arm_adi_v5.c:787 mem_ap_init(): MEM_AP CFG: large data 0, long address 0, big-endian 0
Debug: 1134 71 command.c:146 script_debug(): command - rp2040.core0 invoke-event examine-end
Debug: 1135 71 command.c:146 script_debug(): command - transport select
Debug: 1136 71 command.c:146 script_debug(): command - rp2040.core1 invoke-event examine-start
Debug: 1137 71 command.c:146 script_debug(): command - rp2040.core1 arp_examine allow-defer
Debug: 1138 71 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1139 71 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1149 71 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1159 72 arm_adi_v5.c:882 dap_find_ap(): Found AHB3-AP at AP index: 0 (IDR=0x04770031)
Debug: 1160 72 jlink.c:2179 jlink_swd_run_queue(): Executing 8 queued transactions.
Debug: 1170 72 arm_adi_v5.c:776 mem_ap_init(): MEM_AP Packed Transfers: disabled
Debug: 1171 72 arm_adi_v5.c:787 mem_ap_init(): MEM_AP CFG: large data 0, long address 0, big-endian 0
Debug: 1172 72 command.c:146 script_debug(): command - rp2040.core1 invoke-event examine-end
Debug: 1173 72 command.c:146 script_debug(): command - rp2040.core0 invoke-event reset-assert-pre
Debug: 1174 72 command.c:146 script_debug(): command - rp2040.core1 invoke-event reset-assert-pre
Debug: 1175 72 command.c:146 script_debug(): command - transport select
Debug: 1176 72 command.c:146 script_debug(): command - rp2040.core0 arp_reset assert 1
Debug: 1177 72 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 1178 72 cortex_m.c:1250 cortex_m_assert_reset(): target->state: halted
Debug: 1179 72 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1180 72 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1190 73 jlink.c:2179 jlink_swd_run_queue(): Executing 6 queued transactions.
Debug: 1200 73 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1210 73 cortex_m.c:1348 cortex_m_assert_reset(): Using Cortex-M SYSRESETREQ
Debug: 1211 74 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1221 74 arm_adi_v5.c:653 dap_dp_init(): rp2040.core0.dap
Debug: 1222 74 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1232 75 arm_adi_v5.c:698 dap_dp_init(): DAP: wait CDBGPWRUPACK
Debug: 1233 75 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x20000000, value 0x20000000
Debug: 1234 75 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1244 75 arm_adi_v5.c:706 dap_dp_init(): DAP: wait CSYSPWRUPACK
Debug: 1245 75 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x80000000, value 0x80000000
Debug: 1246 75 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1256 76 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1266 76 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1276 127 cortex_m.c:788 cortex_m_halt(): target->state: reset
Debug: 1277 128 command.c:146 script_debug(): command - transport select
Debug: 1278 128 command.c:146 script_debug(): command - rp2040.core1 arp_reset assert 1
Debug: 1279 128 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 1280 128 cortex_m.c:1250 cortex_m_assert_reset(): target->state: halted
Debug: 1281 128 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1282 128 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1292 128 jlink.c:2179 jlink_swd_run_queue(): Executing 6 queued transactions.
Debug: 1302 129 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1312 129 cortex_m.c:1348 cortex_m_assert_reset(): Using Cortex-M SYSRESETREQ
Debug: 1313 129 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1323 130 arm_adi_v5.c:653 dap_dp_init(): rp2040.core1.dap
Debug: 1324 130 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1334 130 arm_adi_v5.c:698 dap_dp_init(): DAP: wait CDBGPWRUPACK
Debug: 1335 130 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x20000000, value 0x20000000
Debug: 1336 130 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1346 131 arm_adi_v5.c:706 dap_dp_init(): DAP: wait CSYSPWRUPACK
Debug: 1347 131 arm_adi_v5.h:511 dap_dp_poll_register(): DAP: poll 4, mask 0x80000000, value 0x80000000
Debug: 1348 131 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1358 131 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1368 131 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1378 182 cortex_m.c:788 cortex_m_halt(): target->state: reset
Debug: 1379 182 command.c:146 script_debug(): command - rp2040.core0 invoke-event reset-assert-post
Debug: 1380 182 command.c:146 script_debug(): command - rp2040.core1 invoke-event reset-assert-post
Debug: 1381 182 command.c:146 script_debug(): command - rp2040.core0 invoke-event reset-deassert-pre
Debug: 1382 182 command.c:146 script_debug(): command - rp2040.core1 invoke-event reset-deassert-pre
Debug: 1383 182 command.c:146 script_debug(): command - transport select
Debug: 1384 182 command.c:146 script_debug(): command - rp2040.core0 arp_reset deassert 1
Debug: 1385 182 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 1386 182 cortex_m.c:1399 cortex_m_deassert_reset(): target->state: reset
Debug: 1387 182 jlink.c:931 jlink_reset(): TRST: 0, SRST: 0.
Debug: 1392 183 core.c:640 adapter_system_reset(): SRST line released
Debug: 1393 183 command.c:146 script_debug(): command - transport select
Debug: 1394 183 command.c:146 script_debug(): command - rp2040.core1 arp_reset deassert 1
Debug: 1395 183 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 1396 183 cortex_m.c:1399 cortex_m_deassert_reset(): target->state: reset
Debug: 1397 183 command.c:146 script_debug(): command - rp2040.core0 invoke-event reset-deassert-post
Debug: 1398 183 command.c:146 script_debug(): command - rp2040.core1 invoke-event reset-deassert-post
Debug: 1399 183 command.c:146 script_debug(): command - transport select
Debug: 1400 183 command.c:146 script_debug(): command - rp2040.core0 was_examined
Debug: 1401 183 command.c:146 script_debug(): command - rp2040.core0 arp_waitstate halted 1000
Debug: 1402 183 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1403 183 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1413 183 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1423 184 target.c:3068 target_wait_state(): waiting for target halted...
Debug: 1424 184 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1434 184 cortex_m.c:711 cortex_m_poll(): Exit from reset with dcb_dhcsr 0x30003
Debug: 1435 184 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1445 184 cortex_m.c:301 cortex_m_endreset_event(): DCB_DEMCR = 0x01000401
Debug: 1446 184 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1456 185 target.c:2494 target_write_u32(): address: 0xe0002000, value: 0x00000003
Debug: 1457 185 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1467 185 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1477 186 target.c:2406 target_read_u32(): address: 0xe0002000, value: 0x00000041
Debug: 1478 186 target.c:2494 target_write_u32(): address: 0xe0002008, value: 0x00000000
Debug: 1479 186 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1489 186 target.c:2494 target_write_u32(): address: 0xe000200c, value: 0x00000000
Debug: 1490 186 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1500 186 target.c:2494 target_write_u32(): address: 0xe0002010, value: 0x00000000
Debug: 1501 186 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1511 187 target.c:2494 target_write_u32(): address: 0xe0002014, value: 0x00000000
Debug: 1512 187 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1522 187 target.c:2494 target_write_u32(): address: 0xe0001020, value: 0x00000000
Debug: 1523 187 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1533 188 target.c:2494 target_write_u32(): address: 0xe0001024, value: 0x00000000
Debug: 1534 188 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1544 188 target.c:2494 target_write_u32(): address: 0xe0001028, value: 0x00000000
Debug: 1545 188 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1555 188 target.c:2494 target_write_u32(): address: 0xe0001030, value: 0x00000000
Debug: 1556 188 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1566 189 target.c:2494 target_write_u32(): address: 0xe0001034, value: 0x00000000
Debug: 1567 189 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1577 189 target.c:2494 target_write_u32(): address: 0xe0001038, value: 0x00000000
Debug: 1578 189 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1588 189 jlink.c:2179 jlink_swd_run_queue(): Executing 0 queued transactions.
Debug: 1598 190 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 1608 190 cortex_m.c:491 cortex_m_debug_entry():  
Debug: 1609 190 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1619 191 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1629 191 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 1639 192 cortex_m.c:235 cortex_m_clear_halt():  NVIC_DFSR 0x9
Debug: 1640 192 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1650 192 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1660 192 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 0  value 0xffffffff
Debug: 1661 192 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1671 193 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 1  value 0xffffffff
Debug: 1672 193 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1682 193 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 2  value 0xffffffff
Debug: 1683 193 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1693 194 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 3  value 0xffffffff
Debug: 1694 194 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1704 194 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 4  value 0xffffffff
Debug: 1705 194 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1715 194 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 5  value 0xffffffff
Debug: 1716 194 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1726 195 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 6  value 0xffffffff
Debug: 1727 195 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1737 195 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 7  value 0xffffffff
Debug: 1738 195 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1748 195 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 8  value 0xffffffff
Debug: 1749 195 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1759 196 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 9  value 0xffffffff
Debug: 1760 196 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1770 196 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 10  value 0xffffffff
Debug: 1771 196 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1781 197 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 11  value 0xffffffff
Debug: 1782 197 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1792 197 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 12  value 0xffffffff
Debug: 1793 197 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1803 197 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 13  value 0x20041f00
Debug: 1804 197 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1814 198 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 14  value 0xffffffff
Debug: 1815 198 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1825 198 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 15  value 0xee
Debug: 1826 198 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1836 198 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 16  value 0xf1000000
Debug: 1837 198 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1847 199 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 17  value 0x20041f00
Debug: 1848 199 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1858 199 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 18  value 0xfffffffc
Debug: 1859 199 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1869 200 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 19 value 0x0
Debug: 1870 200 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1880 200 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 20 value 0x0
Debug: 1881 200 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1891 200 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 21 value 0x0
Debug: 1892 200 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1902 201 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 22 value 0x0
Debug: 1903 201 cortex_m.c:564 cortex_m_debug_entry(): entered debug state in core mode: Thread at PC 0xee, cpu in Non-Secure state, target->state: halted
Debug: 1904 201 cortex_m.c:788 cortex_m_halt(): target->state: reset
Debug: 1905 201 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 1906 201 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1916 201 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1926 202 target.c:1644 target_call_event_callbacks(): target event 0 (gdb-halt) for core rp2040.core0
Debug: 1927 202 target.c:1644 target_call_event_callbacks(): target event 1 (halted) for core rp2040.core0
User : 1928 202 armv7m.c:574 armv7m_arch_state(): target halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
Debug: 1929 202 command.c:146 script_debug(): command - rp2040.core0 curstate
Debug: 1930 202 command.c:146 script_debug(): command - transport select
Debug: 1931 202 command.c:146 script_debug(): command - rp2040.core1 was_examined
Debug: 1932 202 command.c:146 script_debug(): command - rp2040.core1 arp_waitstate halted 1000
Debug: 1933 202 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1943 202 cortex_m.c:711 cortex_m_poll(): Exit from reset with dcb_dhcsr 0x30003
Debug: 1944 202 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1954 203 cortex_m.c:301 cortex_m_endreset_event(): DCB_DEMCR = 0x01000401
Debug: 1955 203 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1965 203 target.c:2494 target_write_u32(): address: 0xe0002000, value: 0x00000003
Debug: 1966 203 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 1976 203 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 1986 204 target.c:2406 target_read_u32(): address: 0xe0002000, value: 0x00000041
Debug: 1987 204 target.c:2494 target_write_u32(): address: 0xe0002008, value: 0x00000000
Debug: 1988 204 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 1998 204 target.c:2494 target_write_u32(): address: 0xe000200c, value: 0x00000000
Debug: 1999 204 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2009 204 target.c:2494 target_write_u32(): address: 0xe0002010, value: 0x00000000
Debug: 2010 204 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2020 205 target.c:2494 target_write_u32(): address: 0xe0002014, value: 0x00000000
Debug: 2021 205 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2031 205 target.c:2494 target_write_u32(): address: 0xe0001020, value: 0x00000000
Debug: 2032 205 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2042 206 target.c:2494 target_write_u32(): address: 0xe0001024, value: 0x00000000
Debug: 2043 206 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2053 206 target.c:2494 target_write_u32(): address: 0xe0001028, value: 0x00000000
Debug: 2054 206 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2064 206 target.c:2494 target_write_u32(): address: 0xe0001030, value: 0x00000000
Debug: 2065 206 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2075 207 target.c:2494 target_write_u32(): address: 0xe0001034, value: 0x00000000
Debug: 2076 207 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2086 207 target.c:2494 target_write_u32(): address: 0xe0001038, value: 0x00000000
Debug: 2087 207 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2097 208 jlink.c:2179 jlink_swd_run_queue(): Executing 0 queued transactions.
Debug: 2107 208 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2117 209 cortex_m.c:491 cortex_m_debug_entry():  
Debug: 2118 209 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2128 209 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 2138 210 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2148 210 cortex_m.c:235 cortex_m_clear_halt():  NVIC_DFSR 0x9
Debug: 2149 211 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 2159 211 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2169 212 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 0  value 0xffffffff
Debug: 2170 212 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2180 212 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 1  value 0xffffffff
Debug: 2181 212 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2191 213 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 2  value 0xffffffff
Debug: 2192 213 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2202 214 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 3  value 0xffffffff
Debug: 2203 214 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2213 214 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 4  value 0xffffffff
Debug: 2214 214 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2224 215 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 5  value 0xffffffff
Debug: 2225 215 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2235 216 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 6  value 0xffffffff
Debug: 2236 216 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2246 217 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 7  value 0xffffffff
Debug: 2247 217 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2257 219 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 8  value 0xffffffff
Debug: 2258 219 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2268 220 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 9  value 0xffffffff
Debug: 2269 220 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2279 220 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 10  value 0xffffffff
Debug: 2280 220 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2290 221 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 11  value 0xffffffff
Debug: 2291 221 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2301 221 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 12  value 0xffffffff
Debug: 2302 221 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2312 221 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 13  value 0x20041f00
Debug: 2313 221 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2323 222 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 14  value 0xffffffff
Debug: 2324 222 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2334 222 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 15  value 0xee
Debug: 2335 222 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2345 223 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 16  value 0xf1000000
Debug: 2346 223 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2356 223 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 17  value 0x20041f00
Debug: 2357 223 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2367 223 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 18  value 0xfffffffc
Debug: 2368 223 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2378 224 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 19 value 0x0
Debug: 2379 224 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2389 224 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 20 value 0x0
Debug: 2390 224 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2400 225 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 21 value 0x0
Debug: 2401 225 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 2411 225 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 22 value 0x0
Debug: 2412 225 cortex_m.c:564 cortex_m_debug_entry(): entered debug state in core mode: Thread at PC 0xee, cpu in Non-Secure state, target->state: halted
Debug: 2413 225 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2414 225 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2424 226 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2434 226 target.c:1644 target_call_event_callbacks(): target event 0 (gdb-halt) for core rp2040.core1
Debug: 2435 226 target.c:1644 target_call_event_callbacks(): target event 1 (halted) for core rp2040.core1
User : 2436 226 armv7m.c:574 armv7m_arch_state(): target halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
Debug: 2437 226 command.c:146 script_debug(): command - rp2040.core1 curstate
Debug: 2438 226 command.c:146 script_debug(): command - transport select
Debug: 2439 226 command.c:146 script_debug(): command - rp2040.core0 was_examined
Debug: 2440 226 command.c:146 script_debug(): command - rp2040.core0 arp_waitstate halted 5000
Debug: 2441 226 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2451 226 command.c:146 script_debug(): command - rp2040.core0 invoke-event reset-init
Debug: 2452 226 command.c:146 script_debug(): command - transport select
Debug: 2453 226 command.c:146 script_debug(): command - rp2040.core1 was_examined
Debug: 2454 226 command.c:146 script_debug(): command - rp2040.core1 arp_waitstate halted 5000
Debug: 2455 226 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2456 226 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2466 227 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2476 227 command.c:146 script_debug(): command - rp2040.core1 invoke-event reset-init
Debug: 2477 227 command.c:146 script_debug(): command - rp2040.core0 invoke-event reset-end
Debug: 2478 227 command.c:146 script_debug(): command - rp2040.core1 invoke-event reset-end
Debug: 2479 227 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2480 227 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2490 228 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2500 228 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2501 228 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2511 229 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2521 229 command.c:146 script_debug(): command - echo ** Programming Started **
Debug: 2522 229 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2523 229 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2533 230 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2543 230 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2544 230 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2554 231 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
User : 2565 231 command.c:767 jim_echo(): ** Programming Started **
Debug: 2566 231 command.c:146 script_debug(): command - flash write_image erase build/debug/target.hex
Debug: 2567 231 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2568 231 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2578 232 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2588 232 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2589 232 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2599 232 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2610 233 configuration.c:97 find_file(): found build/debug/target.hex
Debug: 2611 233 image.c:80 autodetect_image_type(): IHEX image detected.
Debug: 2612 233 configuration.c:97 find_file(): found build/debug/target.hex
Warn : 2613 238 core.c:758 flash_write_unlock(): no flash bank found for address 0x10000000
Debug: 2614 238 command.c:146 script_debug(): command - echo ** Programming Finished **
Debug: 2615 238 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2616 238 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2626 238 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2636 238 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2637 238 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2647 239 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
User : 2658 239 command.c:767 jim_echo(): ** Programming Finished **
Debug: 2659 239 command.c:146 script_debug(): command - echo ** Verify Started **
Debug: 2660 239 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2661 239 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2671 240 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2681 241 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2682 241 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2692 241 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
User : 2703 241 command.c:767 jim_echo(): ** Verify Started **
Debug: 2704 241 command.c:146 script_debug(): command - verify_image build/debug/target.hex
Debug: 2705 241 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2706 241 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2716 242 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2726 242 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2727 242 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2737 243 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2748 243 configuration.c:97 find_file(): found build/debug/target.hex
Debug: 2749 243 image.c:80 autodetect_image_type(): IHEX image detected.
Debug: 2750 243 configuration.c:97 find_file(): found build/debug/target.hex
Debug: 2751 246 image.c:1030 image_calculate_checksum(): Calculating checksum
Debug: 2752 246 image.c:1060 image_calculate_checksum(): Calculating checksum done
Debug: 2753 246 target.c:1838 target_alloc_working_area_try(): MMU disabled, using physical address for working memory 0x20010000
Debug: 2754 246 target.c:1893 target_alloc_working_area_try(): allocated new working area of 52 bytes at address 0x20010000
Debug: 2755 246 target.c:1759 print_wa_layout():  * 0x20010000-0x20010033 (52 bytes)
Debug: 2756 246 target.c:1759 print_wa_layout():    0x20010034-0x2001ffff (65484 bytes)
Debug: 2757 246 target.c:2198 target_write_buffer(): writing buffer of 52 byte at 0x20010000
Debug: 2758 246 jlink.c:2179 jlink_swd_run_queue(): Executing 15 queued transactions.
Debug: 2768 248 target.c:1644 target_call_event_callbacks(): target event 3 (resume-start) for core rp2040.core1
Debug: 2769 248 armv7m.c:148 armv7m_restore_context():  
Debug: 2770 248 armv7m.c:280 armv7m_write_core_reg(): write core reg 19 value 0x1
Debug: 2771 248 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 2781 248 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2791 248 cortex_m.c:1925 cortex_m_store_core_reg_u32(): write special reg 19 value 0x1 
Debug: 2792 248 armv7m.c:280 armv7m_write_core_reg(): write core reg 16 value 0x1000000
Debug: 2793 249 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2803 249 cortex_m.c:1869 cortex_m_store_core_reg_u32(): write core reg 16 value 0x1000000
Debug: 2804 249 armv7m.c:280 armv7m_write_core_reg(): write core reg 15 value 0x20010000
Debug: 2805 249 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2815 249 cortex_m.c:1869 cortex_m_store_core_reg_u32(): write core reg 15 value 0x20010000
Debug: 2816 249 armv7m.c:280 armv7m_write_core_reg(): write core reg 1 value 0x6008
Debug: 2817 249 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2827 251 cortex_m.c:1869 cortex_m_store_core_reg_u32(): write core reg 1 value 0x6008
Debug: 2828 251 armv7m.c:280 armv7m_write_core_reg(): write core reg 0 value 0x10000000
Debug: 2829 251 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2839 252 cortex_m.c:1869 cortex_m_store_core_reg_u32(): write core reg 0 value 0x10000000
Debug: 2840 252 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 2841 252 armv7m.c:148 armv7m_restore_context():  
Debug: 2842 252 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2843 252 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2853 252 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2863 255 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 2864 255 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 2874 258 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 2884 261 target.c:1644 target_call_event_callbacks(): target event 18 (debug-resumed) for core rp2040.core1
Debug: 2885 261 cortex_m.c:1047 cortex_m_resume(): target debug resumed at 0x20010000
Debug: 2886 261 target.c:1644 target_call_event_callbacks(): target event 4 (resume-end) for core rp2040.core1
Debug: 2887 261 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2897 262 target.c:3068 target_wait_state(): waiting for target halted...
Debug: 2898 262 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2908 262 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2918 263 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2928 263 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2938 264 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2948 264 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2958 264 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2968 265 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2978 265 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2988 266 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 2998 266 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3008 266 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3018 267 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3028 267 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3038 267 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3048 268 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3058 268 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3068 269 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3078 269 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3088 269 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3098 270 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3108 270 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3118 270 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3128 271 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3138 271 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3148 272 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3158 272 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3168 272 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3178 273 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3188 273 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3198 273 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3208 274 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3218 274 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3228 275 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3238 275 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3248 275 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3258 276 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3268 276 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3278 276 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3288 277 cortex_m.c:742 cortex_m_poll():  
Debug: 3289 277 cortex_m.c:491 cortex_m_debug_entry():  
Debug: 3290 277 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 3300 277 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 3310 278 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 3320 278 cortex_m.c:235 cortex_m_clear_halt():  NVIC_DFSR 0x3
Debug: 3321 278 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 3331 279 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3341 279 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 0  value 0x26ae2c66
Debug: 3342 279 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3352 279 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 1  value 0x10000000
Debug: 3353 279 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3363 280 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 2  value 0x10000000
Debug: 3364 280 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3374 280 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 3  value 0x6008
Debug: 3375 280 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3385 280 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 4  value 0x6008
Debug: 3386 280 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3396 281 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 5  value 0x8
Debug: 3397 281 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3407 281 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 6  value 0x4c11db7
Debug: 3408 281 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3418 282 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 7  value 0xffffffff
Debug: 3419 282 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3429 282 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 8  value 0xffffffff
Debug: 3430 282 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3440 284 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 9  value 0xffffffff
Debug: 3441 284 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3451 286 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 10  value 0xffffffff
Debug: 3452 286 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3462 287 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 11  value 0xffffffff
Debug: 3463 287 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3473 287 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 12  value 0xffffffff
Debug: 3474 287 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3484 287 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 13  value 0x20041f00
Debug: 3485 287 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3495 288 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 14  value 0xffffffff
Debug: 3496 288 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3506 288 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 15  value 0x2001002e
Debug: 3507 288 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3517 289 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 16  value 0x61000000
Debug: 3518 289 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3528 289 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 17  value 0x20041f00
Debug: 3529 289 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3539 289 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 18  value 0xfffffffc
Debug: 3540 289 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3550 290 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 19 value 0x1
Debug: 3551 290 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3561 290 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 20 value 0x0
Debug: 3562 290 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3572 290 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 21 value 0x0
Debug: 3573 290 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3583 291 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 22 value 0x0
Debug: 3584 291 cortex_m.c:564 cortex_m_debug_entry(): entered debug state in core mode: Thread at PC 0x2001002e, cpu in Non-Secure state, target->state: halted
Debug: 3585 291 cortex_m.c:788 cortex_m_halt(): target->state: running
Debug: 3586 291 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 3587 291 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 3597 291 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 3607 292 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 3617 292 cortex_m.c:491 cortex_m_debug_entry():  
Debug: 3618 292 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 3628 293 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 3638 293 jlink.c:2179 jlink_swd_run_queue(): Executing 1 queued transactions.
Debug: 3648 293 cortex_m.c:235 cortex_m_clear_halt():  NVIC_DFSR 0x1
Debug: 3649 293 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 3659 294 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3669 294 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 0  value 0x1e3
Debug: 3670 294 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3680 295 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 1  value 0x20041ff0
Debug: 3681 295 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3691 295 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 2  value 0xffff
Debug: 3692 295 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3702 295 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 3  value 0x20041fac
Debug: 3703 295 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3713 296 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 4  value 0x20041fec
Debug: 3714 296 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3724 296 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 5  value 0x20041ff0
Debug: 3725 296 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3735 297 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 6  value 0x0
Debug: 3736 297 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3746 297 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 7  value 0x0
Debug: 3747 297 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3757 298 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 8  value 0x11
Debug: 3758 298 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3768 298 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 9  value 0x11
Debug: 3769 298 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3779 299 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 10  value 0xffffffff
Debug: 3780 299 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3790 299 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 11  value 0xffffffff
Debug: 3791 299 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3801 300 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 12  value 0x40014000
Debug: 3802 300 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3812 301 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 13  value 0x20041fa8
Debug: 3813 301 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3823 301 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 14  value 0x100004d3
Debug: 3824 301 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3834 302 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 15  value 0x100004fc
Debug: 3835 302 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3845 302 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 16  value 0x61000000
Debug: 3846 302 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3856 303 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 17  value 0x20041fa8
Debug: 3857 303 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3867 303 cortex_m.c:1783 cortex_m_load_core_reg_u32(): load from core reg 18  value 0xfffffffc
Debug: 3868 303 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3878 304 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 19 value 0x0
Debug: 3879 304 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3889 305 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 20 value 0x0
Debug: 3890 305 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3900 305 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 21 value 0x0
Debug: 3901 305 jlink.c:2179 jlink_swd_run_queue(): Executing 3 queued transactions.
Debug: 3911 306 cortex_m.c:1837 cortex_m_load_core_reg_u32(): load from special reg 22 value 0x0
Debug: 3912 306 cortex_m.c:564 cortex_m_debug_entry(): entered debug state in core mode: Thread at PC 0x100004fc, cpu in Non-Secure state, target->state: halted
Debug: 3913 306 target.c:1644 target_call_event_callbacks(): target event 0 (gdb-halt) for core rp2040.core0
Debug: 3914 306 target.c:1644 target_call_event_callbacks(): target event 1 (halted) for core rp2040.core0
User : 3915 306 armv7m.c:574 armv7m_arch_state(): target halted due to debug-request, current mode: Thread 
xPSR: 0x61000000 pc: 0x100004fc msp: 0x20041fa8
Debug: 3916 306 target.c:1644 target_call_event_callbacks(): target event 17 (debug-halted) for core rp2040.core1
Debug: 3917 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register primask with value 0x00000000
Debug: 3918 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register xPSR with value 0xf1000000
Debug: 3919 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register pc with value 0x000000ee
Debug: 3920 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register r6 with value 0xffffffff
Debug: 3921 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register r5 with value 0xffffffff
Debug: 3922 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register r4 with value 0xffffffff
Debug: 3923 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register r3 with value 0xffffffff
Debug: 3924 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register r2 with value 0xffffffff
Debug: 3925 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register r1 with value 0xffffffff
Debug: 3926 306 armv7m.c:536 armv7m_wait_algorithm(): restoring register r0 with value 0xffffffff
Debug: 3927 306 target.c:1962 target_free_working_area_restore(): freed 52 bytes of working area at address 0x20010000
Debug: 3928 306 target.c:1759 print_wa_layout():    0x20010000-0x2001ffff (65536 bytes)
Error: 3929 306 target.c:3676 handle_verify_image_command_internal(): checksum mismatch - attempting binary compare
Debug: 3930 306 target.c:2260 target_read_buffer(): reading buffer of 24584 byte at 0x10000000
Debug: 3931 306 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 3932 306 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 3942 307 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 3955 322 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 3968 337 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 3981 352 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 3994 366 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4007 381 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4020 396 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4033 411 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4046 426 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4059 440 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4072 455 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4085 470 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4098 485 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4111 500 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4124 515 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4137 529 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4150 544 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4163 559 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4176 574 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4189 589 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4202 604 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4215 618 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4228 633 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4241 648 jlink.c:2179 jlink_swd_run_queue(): Executing 256 queued transactions.
Debug: 4254 663 jlink.c:2179 jlink_swd_run_queue(): Executing 53 queued transactions.
Debug: 4265 666 command.c:626 run_command(): Command 'verify_image' failed with error code -4
Debug: 4266 666 command.c:146 script_debug(): command - echo ** Verify Failed **
Debug: 4267 666 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4268 667 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4278 667 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 4288 668 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4289 668 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4299 668 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
User : 4310 669 command.c:767 jim_echo(): ** Verify Failed **
Debug: 4311 669 command.c:146 script_debug(): command - shutdown error
Debug: 4312 669 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4313 669 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4323 669 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
Debug: 4333 669 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4334 669 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4344 670 jlink.c:2179 jlink_swd_run_queue(): Executing 2 queued transactions.
User : 4355 670 server.c:750 handle_shutdown_command(): shutdown command invoked
Debug: 4356 670 command.c:626 run_command(): Command 'shutdown' failed with error code -4
User : 4357 670 command.c:692 command_run_line(): 
Debug: 4358 670 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 4359 670 target.c:1991 target_free_all_working_areas_restore(): freeing all working areas
Debug: 4360 670 target.c:1759 print_wa_layout():    0x20010000-0x2001ffff (65536 bytes)
Debug: 4361 671 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4362 671 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4372 671 jlink.c:2179 jlink_swd_run_queue(): Executing 0 queued transactions.
Debug: 4382 671 jlink.c:2160 jlink_swd_switch_seq(): SWD-to-DORMANT
Debug: 4383 671 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4384 671 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4394 672 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 4395 672 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 1, retrying...
Debug: 4396 672 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4397 672 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4407 672 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 4408 672 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 1, retrying...
Debug: 4409 672 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 4410 672 jlink.c:2179 jlink_swd_run_queue(): Executing 4 queued transactions.
Debug: 4420 673 jlink.c:2205 jlink_swd_run_queue(): SWD ack not OK: 7 JUNK
Debug: 4421 673 adi_v5_swd.c:655 swd_multidrop_select_target(): Failed to select core 1
Debug: 4427 673 jlink.c:526 jaylink_log_handler(): Last read operation left 16 bytes in the buffer.
Debug: 4429 673 jlink.c:526 jaylink_log_handler(): Closing device (bus:address = 001:079).
Debug: 4430 673 jlink.c:526 jaylink_log_handler(): Device closed successfully.
Debug: 4431 673 jlink.c:526 jaylink_log_handler(): Device destroyed (bus:address = 001:079).

@Hexxeh
Copy link

Hexxeh commented Jan 26, 2021

@ep1cman thanks for the photo! I was missing the VTref pin connection. I hadn't soldered those headers on yet, only the SWD ones, not realising it was needed.

When looking it up though, I noted that it says it's used a reference for the clock/IO levels. Are those at 3.3v like the rest of the IO? If so, why is that not using the 3.3v out as a reference? I guess it'll work because it's still within the allowable range for a "high" signal?

@ep1cman
Copy link

ep1cman commented Jan 26, 2021

You are totally right, I wrongly assumed what Vsys was thinking it was 3.3v, I should have read the data sheet better. VTref should indeed be connected to 3.3v to set the J-Link signal voltages.

@conkerkh
Copy link

conkerkh commented Jan 28, 2021

I can program raspberry just fine but it will always fail on verification at different addresses, it looks like some problem with reading from flash. Also I noticed that reading from 0x10000000 doesn't always work, I assume it requires properly configure XIP_SSI first? Segger will add support for RP2040 in a few days, but it's probably worth to fix it in openocd anayway.

@JamesH65
Copy link

Often that can result from the wiring. You need to ensure that the SWD wires are as short as possible, with nothing in between (for example, I used to have mine set up via a breadboard, but that was unreliable - straight wires from the Pi to the Pico worked fine)

@HeadBoffin
Copy link

I have my J-Link on macOS 10.14 using this openocd talking to my Pico AND I've arrived at a place where gdb works but I'll have to do it again to figure out if it was luck or skill.

@conkerkh
Copy link

conkerkh commented Jan 30, 2021

I tried different wiring including soldering directly to the board and I'm still getting verification failed on "monitor program" command (see attached log). I think there is a problem with flash loader in regards to jlink, otherwise debugging and everything else works fine which further confirms its not a wiring. Anyway at 400khz its very unlikely that 5cm wires would be a problem...

target halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
target halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
** Programming Started **
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
Writing 40960 bytes starting at 0x0
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000012a msp: 0x20041f00
** Programming Finished **
** Verify Started **
target was in unknown state when halt was requested
SWD DPIDR 0x0bc12477
SWD DLPIDR 0x00000001
error executing cortex_m crc algorithm
SWD DPIDR 0x0bc12477
SWD DLPIDR 0x00000001
Failed to read memory at 0x100000b0
embedded:startup.tcl:530: Error: ** Verify Failed **
in procedure 'program'
in procedure 'program_error' called at file "embedded:startup.tcl", line 591
at file "embedded:startup.tcl", line 530

@conkerkh
Copy link

conkerkh commented Jan 30, 2021

I belive the problem comes from wrong implementation of WAIT response in jlink driver. When WAIT instead of ACK is received at DP/AP transcation transfer is dropped instead of retried. I don't know where error handling should be implemented in jlink driver or higher level drivers, but that seems to be the case. From ADI specification one can read:

WAIT response to a DPACC or APACC access

A WAIT response indicates that the previous transaction has not completed. Normally, after receiving a WAIT response the host retries the DPACC or APACC access.

Note

The previous transaction might be either a DP or an AP access. DP accesses are stalled, by returning WAIT, until any previous AP transaction has completed.

Normally, if software detects a WAIT response, it retries the same transfer, which enables the protocol to process data as quickly as possible. However, in case an abort mechanism is implemented, if the software has retried a transfer several times, and has waited long enough for a slow interconnect and memory system to respond, it might write to the ABORT register to cancel the operation. This action signals that the active AP must terminate the transfer that it is attempting, to permit access to other parts of the debug system. An AP might not be able to terminate a transfer on its SoC interface. However, on receiving an abort request, the AP must free its interface to the DP.

No request is generated at the Update-DR state, and the shifted-in data is discarded. The captured value of ReadResult[31:0] is UNKNOWN.

Debug: 114728 217204 jlink.c:526 jaylink_log_handler(): Starting write / read operation (length = 32 / 15 bytes).
Debug: 114729 217204 jlink.c:526 jaylink_log_handler(): Wrote 4 bytes into buffer.
Debug: 114730 217204 jlink.c:526 jaylink_log_handler(): Wrote 14 bytes into buffer.
Debug: 114731 217204 jlink.c:526 jaylink_log_handler(): Buffer filled up with 14 bytes.
Debug: 114732 217204 jlink.c:526 jaylink_log_handler(): Sent 32 bytes to device.
Debug: 114733 217204 jlink.c:526 jaylink_log_handler(): Received 14 bytes from device.
Debug: 114734 217204 jlink.c:526 jaylink_log_handler(): Read 14 bytes from buffer.
Debug: 114735 217204 jlink.c:526 jaylink_log_handler(): Received 1 bytes from device.
Debug: 114736 217204 jlink.c:526 jaylink_log_handler(): Read 1 bytes from buffer.
Debug: 114737 217204 jlink.c:2206 jlink_swd_run_queue(): SWD ack not OK: 2 WAIT
Debug: 114738 217204 cortex_m.c:789 cortex_m_halt(): target->state: unknown
Warn : 114739 217204 cortex_m.c:797 cortex_m_halt(): target was in unknown state when halt was requested
Debug: 114740 217204 jlink.c:2155 jlink_swd_switch_seq(): DORMANT-to-SWD
Debug: 114741 217204 jlink.c:2140 jlink_swd_switch_seq(): SWD line reset
Debug: 114742 217204 jlink.c:2179 jlink_swd_run_queue(): Executing 5 queued transactions.
Debug: 114743 217204 jlink.c:526 jaylink_log_handler(): Starting write / read operation (length = 136 / 67 bytes).
Debug: 114744 217204 jlink.c:526 jaylink_log_handler(): Wrote 4 bytes into buffer.
Debug: 114745 217204 jlink.c:526 jaylink_log_handler(): Wrote 66 bytes into buffer.
Debug: 114746 217204 jlink.c:526 jaylink_log_handler(): Buffer filled up with 66 bytes.
Debug: 114747 217205 jlink.c:526 jaylink_log_handler(): Sent 136 bytes to device.
Debug: 114748 217206 jlink.c:526 jaylink_log_handler(): Received 66 bytes from device.
Debug: 114749 217206 jlink.c:526 jaylink_log_handler(): Read 66 bytes from buffer.
Debug: 114750 217206 jlink.c:526 jaylink_log_handler(): Received 1 bytes from device.
Debug: 114751 217206 jlink.c:526 jaylink_log_handler(): Read 1 bytes from buffer.
Debug: 114752 217206 adi_v5_swd.c:649 swd_multidrop_select_target(): Selected core 0

@rei-vilo
Copy link

rei-vilo commented Sep 17, 2021

Thank you for the very useful tips: I can now use J-Link with OpenOCD to debug against the RP2040.

@rkta
Copy link

rkta commented Feb 14, 2022

For people like me wondering where the that jlink branch is: seems like the changes are included in branch rp2040 and the jlink branch was just deleted. I can use branch rp2040 with a J-Link.

@mcuee
Copy link

mcuee commented Jul 17, 2022

So this issue can be closed.

@P33M P33M closed this as completed Jul 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests