SpinalHDL / VexRiscv

A FPGA friendly 32 bit RISC-V CPU implementation
MIT License
2.51k stars 420 forks source link

Murax debug on FPGA #65

Closed sebastien-riou closed 5 years ago

sebastien-riou commented 5 years ago

I had some success using Debug with verilator, now I switched to FPGA (iCE40-HX8K) and a JLink JTAG probe. I am using the project iCE40-hx8k_breakout_board. What works:

What does not work:

What I tried:

openocd_riscv is up-to-date, Murax is from yesterday, I just changed the RAM size to 8k (it is 4k in the object "MuraxWithRamInit").

One detail about the wiring: I connected only TMS,TDI,TDO,TCK,GND and VREF. I did not connect TRST to anything, should it be ?

log of openocd for the trial "reset, run with break at , instruction step"

user@lafite:~/Downloads/openocd_riscv$ src/openocd -d -f tcl/interface/jlink.cfg -c "set MURAX_CPU0_YAML /home/user/Downloads/VexRiscv/cpu0.yaml" -f tcl/target/murax.cfg
Open On-Chip Debugger 0.10.0+dev-01202-gced8dcd (2019-02-25-22:00)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
User : 13 5 command.c:544 command_print(): debug_level: 3
Debug: 14 5 options.c:184 add_default_dirs(): bindir=/usr/local/bin
Debug: 15 5 options.c:185 add_default_dirs(): pkgdatadir=/usr/local/share/openocd
Debug: 16 5 options.c:186 add_default_dirs(): exepath=/home/user/Downloads/openocd_riscv/src
Debug: 17 5 options.c:187 add_default_dirs(): bin2data=../share/openocd
Debug: 18 5 configuration.c:42 add_script_search_dir(): adding /home/user/.openocd
Debug: 19 5 configuration.c:42 add_script_search_dir(): adding /home/user/Downloads/openocd_riscv/src/../share/openocd/site
Debug: 20 5 configuration.c:42 add_script_search_dir(): adding /home/user/Downloads/openocd_riscv/src/../share/openocd/scripts
Debug: 21 5 configuration.c:97 find_file(): found tcl/interface/jlink.cfg
Debug: 22 5 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_interface jlink
Debug: 23 5 command.c:143 script_debug(): command - interface ocd_interface jlink
Debug: 25 5 command.c:323 command_new(): BUG: command 'jlink' does not have the '.usage' field filled out
Debug: 26 5 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 27 5 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 28 5 command.c:323 command_new(): BUG: command 'jlink freemem' does not have the '.usage' field filled out
Debug: 29 5 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 30 5 command.c:323 command_new(): BUG: command 'jlink hwstatus' does not have the '.usage' field filled out
Debug: 31 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 32 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 33 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 34 6 command.c:323 command_new(): BUG: command 'jlink config' does not have the '.usage' field filled out
Debug: 35 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 36 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 37 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 38 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 39 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 40 6 command.c:323 command_new(): BUG: command 'config reset' does not have the '.usage' field filled out
Debug: 41 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 42 6 command.c:323 command_new(): BUG: command 'config write' does not have the '.usage' field filled out
Debug: 43 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 44 6 command.c:323 command_new(): BUG: command 'jlink emucom' does not have the '.usage' field filled out
Debug: 45 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 46 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
Debug: 47 6 command.c:364 register_command_handler(): registering 'ocd_jlink'...
User : 48 6 command.c:693 command_run_line(): /home/user/Downloads/VexRiscv/cpu0.yamlUser : 49 6 command.c:695 command_run_line(): 
Debug: 50 6 configuration.c:97 find_file(): found tcl/target/murax.cfg
Debug: 51 6 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_adapter_khz 400
Debug: 52 6 command.c:143 script_debug(): command - adapter_khz ocd_adapter_khz 400
Debug: 54 6 core.c:1645 jtag_config_khz(): handle jtag khz
Debug: 55 6 core.c:1612 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 56 6 core.c:1612 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 57 6 command.c:544 command_print(): adapter speed: 400 kHz
Debug: 58 6 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_adapter_nsrst_delay 260
Debug: 59 6 command.c:143 script_debug(): command - adapter_nsrst_delay ocd_adapter_nsrst_delay 260
User : 61 6 command.c:544 command_print(): adapter_nsrst_delay: 260
Debug: 62 6 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 63 6 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Info : 64 6 transport.c:286 jim_transport_select(): auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Debug: 65 6 command.c:364 register_command_handler(): registering 'ocd_jtag_flush_queue_sleep'...
Debug: 66 7 command.c:364 register_command_handler(): registering 'ocd_jtag_rclk'...
Debug: 67 7 command.c:364 register_command_handler(): registering 'ocd_jtag_ntrst_delay'...
Debug: 68 7 command.c:364 register_command_handler(): registering 'ocd_jtag_ntrst_assert_width'...
Debug: 69 7 command.c:364 register_command_handler(): registering 'ocd_scan_chain'...
Debug: 70 7 command.c:364 register_command_handler(): registering 'ocd_jtag_reset'...
Debug: 71 7 command.c:364 register_command_handler(): registering 'ocd_runtest'...
Debug: 72 7 command.c:364 register_command_handler(): registering 'ocd_irscan'...
Debug: 73 7 command.c:364 register_command_handler(): registering 'ocd_verify_ircapture'...
Debug: 74 7 command.c:364 register_command_handler(): registering 'ocd_verify_jtag'...
Debug: 75 7 command.c:364 register_command_handler(): registering 'ocd_tms_sequence'...
Debug: 76 7 command.c:364 register_command_handler(): registering 'ocd_wait_srst_deassert'...
Debug: 77 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 78 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 79 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 80 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 81 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 82 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 83 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 84 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 85 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 86 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 87 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 88 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 89 7 command.c:364 register_command_handler(): registering 'ocd_jtag'...
Debug: 90 7 command.c:364 register_command_handler(): registering 'ocd_svf'...
Debug: 91 7 command.c:364 register_command_handler(): registering 'ocd_xsvf'...
Debug: 92 7 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 93 7 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 94 7 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag_ntrst_delay 250
Debug: 95 7 command.c:143 script_debug(): command - jtag_ntrst_delay ocd_jtag_ntrst_delay 250
User : 97 7 command.c:544 command_print(): jtag_ntrst_delay: 250
Debug: 98 8 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag newtap fpga_spinal bridge -expected-id 0x10001fff -irlen 4 -ircapture 0x1 -irmask 0xF
Debug: 99 8 command.c:143 script_debug(): command - ocd_jtag ocd_jtag newtap fpga_spinal bridge -expected-id 0x10001fff -irlen 4 -ircapture 0x1 -irmask 0xF
Debug: 100 8 tcl.c:550 jim_newtap_cmd(): Creating New Tap, Chip: fpga_spinal, Tap: bridge, Dotted: fpga_spinal.bridge, 8 params
Debug: 101 8 tcl.c:574 jim_newtap_cmd(): Processing option: -expected-id
Debug: 102 8 tcl.c:574 jim_newtap_cmd(): Processing option: -irlen
Debug: 103 8 tcl.c:574 jim_newtap_cmd(): Processing option: -ircapture
Debug: 104 8 tcl.c:574 jim_newtap_cmd(): Processing option: -irmask
Debug: 105 8 core.c:1304 jtag_tap_init(): Created Tap: fpga_spinal.bridge @ abs position 0, irlen 4, capture: 0x1 mask: 0xf
Debug: 106 8 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_target create fpga_spinal.cpu0 vexriscv -endian little -chain-position fpga_spinal.bridge -coreid 0 -dbgbase 0xF00F0000
Debug: 107 8 command.c:143 script_debug(): command - ocd_target ocd_target create fpga_spinal.cpu0 vexriscv -endian little -chain-position fpga_spinal.bridge -coreid 0 -dbgbase 0xF00F0000
Debug: 108 8 target.c:1931 target_free_all_working_areas_restore(): freeing all working areas
Debug: 109 8 vexriscv.c:176 vexriscv_target_create(): vexriscv_target_create

Debug: 110 8 command.c:364 register_command_handler(): registering 'ocd_vexriscv'...
Debug: 111 8 command.c:364 register_command_handler(): registering 'ocd_vexriscv'...
Debug: 112 8 command.c:364 register_command_handler(): registering 'ocd_vexriscv'...
Debug: 113 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 114 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 115 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 116 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 117 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 118 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 119 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 120 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 121 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 122 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 123 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 124 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 125 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 126 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 127 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 128 8 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 129 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 130 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 131 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 132 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 133 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 134 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 135 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 136 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 137 9 command.c:364 register_command_handler(): registering 'ocd_fpga_spinal.cpu0'...
Debug: 138 9 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_vexriscv readWaitCycles 12
Debug: 139 9 command.c:143 script_debug(): command - ocd_vexriscv ocd_vexriscv readWaitCycles 12
Debug: 141 9 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_vexriscv cpuConfigFile /home/user/Downloads/VexRiscv/cpu0.yaml
Debug: 142 9 command.c:143 script_debug(): command - ocd_vexriscv ocd_vexriscv cpuConfigFile /home/user/Downloads/VexRiscv/cpu0.yaml
Debug: 144 9 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_poll_period 50
Debug: 145 9 command.c:143 script_debug(): command - poll_period ocd_poll_period 50
Info : 147 9 server.c:761 handle_poll_period_command(): set servers polling period to 50ms
Debug: 148 9 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_init
Debug: 149 9 command.c:143 script_debug(): command - init ocd_init
Debug: 151 9 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_target init
Debug: 152 9 command.c:143 script_debug(): command - ocd_target ocd_target init
Debug: 154 9 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_target names
Debug: 155 9 command.c:143 script_debug(): command - ocd_target ocd_target names
Debug: 156 9 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 cget -event gdb-flash-erase-start
Debug: 157 10 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 cget -event gdb-flash-erase-start
Debug: 158 10 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 configure -event gdb-flash-erase-start reset init
Debug: 159 10 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 configure -event gdb-flash-erase-start reset init
Debug: 160 10 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 cget -event gdb-flash-write-end
Debug: 161 10 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 cget -event gdb-flash-write-end
Debug: 162 10 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 configure -event gdb-flash-write-end reset halt
Debug: 163 10 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 configure -event gdb-flash-write-end reset halt
Debug: 164 10 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 cget -event gdb-attach
Debug: 165 10 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 cget -event gdb-attach
Debug: 166 10 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 configure -event gdb-attach halt
Debug: 167 10 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 configure -event gdb-attach halt
Debug: 168 10 target.c:1395 handle_target_init_command(): Initializing targets...
Debug: 169 10 vexriscv.c:511 vexriscv_init_target(): vexriscv_init_target

Debug: 170 10 vexriscv.c:512 vexriscv_init_target(): vexriscv_init_target
Debug: 171 10 vexriscv.c:322 vexriscv_build_reg_cache(): -
Debug: 172 11 command.c:364 register_command_handler(): registering 'ocd_target_request'...
Debug: 173 11 command.c:364 register_command_handler(): registering 'ocd_trace'...
Debug: 174 11 command.c:364 register_command_handler(): registering 'ocd_trace'...
Debug: 175 11 command.c:364 register_command_handler(): registering 'ocd_fast_load_image'...
Debug: 176 12 command.c:364 register_command_handler(): registering 'ocd_fast_load'...
Debug: 177 12 command.c:364 register_command_handler(): registering 'ocd_profile'...
Debug: 178 12 command.c:364 register_command_handler(): registering 'ocd_virt2phys'...
Debug: 179 12 command.c:364 register_command_handler(): registering 'ocd_reg'...
Debug: 180 12 command.c:364 register_command_handler(): registering 'ocd_poll'...
Debug: 181 12 command.c:364 register_command_handler(): registering 'ocd_wait_halt'...
Debug: 182 12 command.c:364 register_command_handler(): registering 'ocd_halt'...
Debug: 183 12 command.c:364 register_command_handler(): registering 'ocd_resume'...
Debug: 184 12 command.c:364 register_command_handler(): registering 'ocd_reset'...
Debug: 185 12 command.c:364 register_command_handler(): registering 'ocd_soft_reset_halt'...
Debug: 186 12 command.c:364 register_command_handler(): registering 'ocd_step'...
Debug: 187 12 command.c:364 register_command_handler(): registering 'ocd_mdd'...
Debug: 188 12 command.c:364 register_command_handler(): registering 'ocd_mdw'...
Debug: 189 12 command.c:364 register_command_handler(): registering 'ocd_mdh'...
Debug: 190 12 command.c:364 register_command_handler(): registering 'ocd_mdb'...
Debug: 191 12 command.c:364 register_command_handler(): registering 'ocd_mwd'...
Debug: 192 12 command.c:364 register_command_handler(): registering 'ocd_mww'...
Debug: 193 12 command.c:364 register_command_handler(): registering 'ocd_mwh'...
Debug: 194 12 command.c:364 register_command_handler(): registering 'ocd_mwb'...
Debug: 195 12 command.c:364 register_command_handler(): registering 'ocd_bp'...
Debug: 196 12 command.c:364 register_command_handler(): registering 'ocd_rbp'...
Debug: 197 12 command.c:364 register_command_handler(): registering 'ocd_wp'...
Debug: 198 12 command.c:364 register_command_handler(): registering 'ocd_rwp'...
Debug: 199 12 command.c:364 register_command_handler(): registering 'ocd_load_image'...
Debug: 200 12 command.c:364 register_command_handler(): registering 'ocd_dump_image'...
Debug: 201 12 command.c:364 register_command_handler(): registering 'ocd_verify_image_checksum'...
Debug: 202 12 command.c:364 register_command_handler(): registering 'ocd_verify_image'...
Debug: 203 12 command.c:364 register_command_handler(): registering 'ocd_test_image'...
Debug: 204 12 command.c:364 register_command_handler(): registering 'ocd_reset_nag'...
Debug: 205 12 command.c:364 register_command_handler(): registering 'ocd_ps'...
Debug: 206 12 command.c:364 register_command_handler(): registering 'ocd_test_mem_access'...
Debug: 207 12 jlink.c:553 jlink_init(): Using libjaylink 0.2.0-git-8645845 (compiled with 0.2.0-git-8645845).
Debug: 208 23 jlink.c:532 jaylink_log_handler(): Found device (VID:PID = 1366:0101, bus:address = 001:020).
Debug: 209 24 jlink.c:532 jaylink_log_handler(): Device: USB address = 0.
Debug: 210 24 jlink.c:532 jaylink_log_handler(): Device: Serial number = 269401883.
Debug: 211 24 jlink.c:532 jaylink_log_handler(): Allocating new device instance.
Debug: 212 24 jlink.c:532 jaylink_log_handler(): Found 1 USB device(s).
Debug: 213 24 jlink.c:532 jaylink_log_handler(): Trying to open device (bus:address = 001:020).
Debug: 214 24 jlink.c:532 jaylink_log_handler(): Using endpoint 81 (IN) and 01 (OUT).
Debug: 215 24 jlink.c:532 jaylink_log_handler(): Device opened successfully.
Info : 223 25 jlink.c:670 jlink_init(): J-Link V9 compiled Apr 20 2018 16:47:26
Info : 236 25 jlink.c:711 jlink_init(): Hardware version: 9.40
Info : 245 25 jlink.c:753 jlink_init(): VTarget = 3.293 V
Debug: 251 26 jlink.c:532 jaylink_log_handler(): Last read operation left 16 bytes in the buffer.
Debug: 261 26 jlink.c:905 jlink_reset(): TRST: 0, SRST: 0.
Debug: 281 30 core.c:1612 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 282 30 core.c:1615 adapter_khz_to_speed(): have interface set up
Debug: 289 30 core.c:1612 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 290 30 core.c:1615 adapter_khz_to_speed(): have interface set up
Info : 291 30 core.c:1394 adapter_init(): clock speed 400 kHz
Debug: 292 30 openocd.c:142 handle_init_command(): Debug Adapter init complete
Debug: 293 30 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport init
Debug: 294 30 command.c:143 script_debug(): command - ocd_transport ocd_transport init
Debug: 296 30 transport.c:239 handle_transport_init(): handle_transport_init
Debug: 297 30 jlink.c:905 jlink_reset(): TRST: 0, SRST: 0.
Debug: 302 31 core.c:729 jtag_add_reset(): SRST line released
Debug: 303 31 core.c:753 jtag_add_reset(): TRST line released
Debug: 304 31 core.c:327 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 306 550 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init
Debug: 307 550 command.c:143 script_debug(): command - ocd_jtag ocd_jtag arp_init
Debug: 308 550 core.c:1407 jtag_init_inner(): Init JTAG chain
Debug: 309 550 core.c:327 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 319 551 core.c:1060 jtag_examine_chain(): DR scan interrogation for IDCODE/BYPASS
Debug: 320 551 core.c:327 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 330 553 jep106.c:33 jep106_manufacturer(): BUG: Caller passed out-of-range JEP106 ID!
Info : 331 553 core.c:959 jtag_examine_chain_display(): JTAG tap: fpga_spinal.bridge tap/device found: 0x10001fff (mfg: 0x7ff (<invalid>), part: 0x0001, ver: 0x1)
Debug: 332 553 core.c:1190 jtag_validate_ircapture(): IR capture validation scan
Debug: 342 554 core.c:1248 jtag_validate_ircapture(): fpga_spinal.bridge: IR capture 0x01
Debug: 343 554 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_dap init
Debug: 344 554 command.c:143 script_debug(): command - ocd_dap ocd_dap init
Debug: 346 554 arm_dap.c:105 dap_init_all(): Initializing all DAPs ...
Debug: 347 554 openocd.c:159 handle_init_command(): Examining targets...
Debug: 348 554 target.c:1581 target_call_event_callbacks(): target event 17 (examine-start)
Debug: 349 554 vexriscv.c:1510 vexriscv_examine(): vexriscv_examine
Debug: 350 554 vexriscv.c:820 vexriscv_assert_reset(): vexriscv_assert_reset

Debug: 369 555 vexriscv.c:835 vexriscv_assert_reset(): vexriscv_assert_reset
Debug: 370 555 vexriscv.c:842 vexriscv_deassert_reset(): vexriscv_deassert_reset

Debug: 389 557 vexriscv.c:851 vexriscv_deassert_reset(): vexriscv_deassert_reset
Debug: 399 558 vexriscv.c:1533 vexriscv_examine(): Target is halted
Debug: 400 558 target.c:1581 target_call_event_callbacks(): target event 18 (examine-end)
Debug: 401 558 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_flash init
Debug: 402 558 command.c:143 script_debug(): command - ocd_flash ocd_flash init
Debug: 413 559 tcl.c:1224 handle_flash_init_command(): Initializing flash devices...
Debug: 414 559 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_mflash init
Debug: 415 559 command.c:143 script_debug(): command - ocd_mflash ocd_mflash init
Debug: 426 560 mflash.c:1377 handle_mflash_init_command(): Initializing mflash devices...
Debug: 427 560 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_nand init
Debug: 428 560 command.c:143 script_debug(): command - ocd_nand ocd_nand init
Debug: 439 561 tcl.c:497 handle_nand_init_command(): Initializing NAND devices...
Debug: 440 561 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_pld init
Debug: 441 561 command.c:143 script_debug(): command - ocd_pld ocd_pld init
Debug: 452 562 pld.c:205 handle_pld_init_command(): Initializing PLDs...
Debug: 453 562 gdb_server.c:3393 gdb_target_start(): starting gdb server for fpga_spinal.cpu0 on 3333
Info : 454 562 server.c:311 add_service(): Listening on port 3333 for gdb connections
Debug: 455 562 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_soft_reset_halt
Debug: 456 562 command.c:143 script_debug(): command - soft_reset_halt ocd_soft_reset_halt
User : 467 563 target.c:3044 handle_soft_reset_halt_command(): requesting target halt and executing a soft reset
Debug: 468 563 vexriscv.c:1557 vexriscv_soft_reset_halt(): -
Info : 496 565 server.c:311 add_service(): Listening on port 6666 for tcl connections
Info : 497 565 server.c:311 add_service(): Listening on port 4444 for telnet connections
Debug: 498 565 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_init
Debug: 499 565 command.c:143 script_debug(): command - init ocd_init
Info : 1131 7559 server.c:100 add_connection(): accepting 'gdb' connection on tcp/3333
Debug: 1132 7559 breakpoints.c:354 breakpoint_clear_target_internal(): Delete all breakpoints for target: fpga_spinal.cpu0
Debug: 1133 7559 breakpoints.c:494 watchpoint_clear_target(): Delete all watchpoints for target: fpga_spinal.cpu0
Debug: 1134 7559 target.c:1581 target_call_event_callbacks(): target event 19 (gdb-attach)
Debug: 1135 7559 target.c:4535 target_handle_event(): target(0): fpga_spinal.cpu0 (vexriscv) event: 19 (gdb-attach) action: halt
Debug: 1136 7559 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_halt
Debug: 1137 7560 command.c:143 script_debug(): command - halt ocd_halt
Debug: 1148 7560 target.c:3018 handle_halt_command(): -
Debug: 1149 7560 vexriscv.c:729 vexriscv_halt(): target->state: halted
Debug: 1168 7562 gdb_server.c:1014 gdb_new_connection(): New GDB Connection: 1, Target fpga_spinal.cpu0, state: halted
Debug: 1169 7562 gdb_server.c:3160 gdb_input_inner(): received packet: 'qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+'
Debug: 1170 7562 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 0

Debug: 1171 7563 gdb_server.c:3160 gdb_input_inner(): received packet: 'vMustReplyEmpty'
Debug: 1172 7563 gdb_server.c:3160 gdb_input_inner(): received packet: 'QStartNoAckMode'
Debug: 1173 7563 gdb_server.c:639 gdb_get_packet_inner(): Received first acknowledgment after entering noack mode. Ignoring it.
Debug: 1174 7563 gdb_server.c:3160 gdb_input_inner(): received packet: 'Hg0'
Debug: 1175 7563 gdb_server.c:3160 gdb_input_inner(): received packet: 'qTStatus'
Debug: 1176 7563 gdb_server.c:3160 gdb_input_inner(): received packet: '?'
Debug: 1177 7564 gdb_server.c:3160 gdb_input_inner(): received packet: 'qXfer:threads:read::0,fff'
Debug: 1178 7564 gdb_server.c:3160 gdb_input_inner(): received packet: 'Hc-1'
Debug: 1179 7564 gdb_server.c:3160 gdb_input_inner(): received packet: 'qC'
Debug: 1180 7564 gdb_server.c:3160 gdb_input_inner(): received packet: 'qAttached'
Debug: 1181 7565 gdb_server.c:3160 gdb_input_inner(): received packet: 'qOffsets'
Debug: 1182 7565 gdb_server.c:3160 gdb_input_inner(): received packet: 'g'
Debug: 1183 7565 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 1

Debug: 1184 7566 gdb_server.c:3160 gdb_input_inner(): received packet: 'p20'
Debug: 1185 7566 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 0

Debug: 1195 7567 gdb_server.c:3160 gdb_input_inner(): received packet: 'qXfer:threads:read::0,fff'
Debug: 1196 7568 gdb_server.c:3160 gdb_input_inner(): received packet: 'qSymbol::'
Debug: 1215 7859 gdb_server.c:3160 gdb_input_inner(): received packet: 'qRcmd,72657365742068616c74'
Debug: 1225 7860 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_reset halt
Debug: 1226 7860 command.c:143 script_debug(): command - reset ocd_reset halt
Debug: 1237 7861 target.c:1599 target_call_reset_callbacks(): target reset 2 (halt)
Debug: 1238 7862 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_target names
Debug: 1239 7862 command.c:143 script_debug(): command - ocd_target ocd_target names
Debug: 1240 7862 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event reset-start
Debug: 1241 7862 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event reset-start
Debug: 1242 7862 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 1243 7862 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 1244 7862 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init-reset
Debug: 1245 7862 command.c:143 script_debug(): command - ocd_jtag ocd_jtag arp_init-reset
Debug: 1246 7862 core.c:1521 jtag_init_reset(): Initializing with hard TRST+SRST reset
Debug: 1247 7862 core.c:742 jtag_add_reset(): JTAG reset with TLR instead of TRST
Debug: 1248 7862 core.c:327 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 1258 7863 core.c:1407 jtag_init_inner(): Init JTAG chain
Debug: 1259 7863 core.c:327 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 1269 7863 core.c:1060 jtag_examine_chain(): DR scan interrogation for IDCODE/BYPASS
Debug: 1270 7863 core.c:327 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 1280 7865 jep106.c:33 jep106_manufacturer(): BUG: Caller passed out-of-range JEP106 ID!
Info : 1281 7865 core.c:959 jtag_examine_chain_display(): JTAG tap: fpga_spinal.bridge tap/device found: 0x10001fff (mfg: 0x7ff (<invalid>), part: 0x0001, ver: 0x1)
Debug: 1282 7865 core.c:1190 jtag_validate_ircapture(): IR capture validation scan
Debug: 1292 7866 core.c:1248 jtag_validate_ircapture(): fpga_spinal.bridge: IR capture 0x01
Debug: 1293 7866 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 1294 7866 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 1295 7866 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1296 7866 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1297 7866 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1298 7866 command.c:143 script_debug(): command - ocd_jtag ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1299 7866 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event examine-start
Debug: 1300 7866 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event examine-start
Debug: 1301 7866 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 arp_examine allow-defer
Debug: 1302 7866 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 arp_examine allow-defer
Debug: 1303 7866 vexriscv.c:1510 vexriscv_examine(): vexriscv_examine
Debug: 1304 7866 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event examine-end
Debug: 1305 7867 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event examine-end
Debug: 1306 7867 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event reset-assert-pre
Debug: 1307 7867 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event reset-assert-pre
Debug: 1308 7867 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 1309 7867 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 1310 7867 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1311 7867 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1312 7867 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1313 7867 command.c:143 script_debug(): command - ocd_jtag ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1314 7867 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 arp_reset assert 1
Debug: 1315 7867 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 arp_reset assert 1
Debug: 1316 7867 target.c:1931 target_free_all_working_areas_restore(): freeing all working areas
Debug: 1317 7867 vexriscv.c:820 vexriscv_assert_reset(): vexriscv_assert_reset

Debug: 1336 7868 vexriscv.c:835 vexriscv_assert_reset(): vexriscv_assert_reset
Debug: 1337 7868 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event reset-assert-post
Debug: 1338 7868 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event reset-assert-post
Debug: 1339 7869 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event reset-deassert-pre
Debug: 1340 7869 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event reset-deassert-pre
Debug: 1341 7869 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 1342 7869 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 1343 7869 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1344 7869 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1345 7869 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1346 7869 command.c:143 script_debug(): command - ocd_jtag ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1347 7869 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 arp_reset deassert 1
Debug: 1348 7869 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 arp_reset deassert 1
Debug: 1349 7869 target.c:1931 target_free_all_working_areas_restore(): freeing all working areas
Debug: 1350 7869 vexriscv.c:842 vexriscv_deassert_reset(): vexriscv_deassert_reset

Debug: 1369 7870 vexriscv.c:851 vexriscv_deassert_reset(): vexriscv_deassert_reset
Debug: 1370 7870 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event reset-deassert-post
Debug: 1371 7871 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event reset-deassert-post
Debug: 1372 7871 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 1373 7871 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 1374 7871 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1375 7871 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 cget -chain-position
Debug: 1376 7871 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1377 7871 command.c:143 script_debug(): command - ocd_jtag ocd_jtag tapisenabled fpga_spinal.bridge
Debug: 1378 7871 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 was_examined
Debug: 1379 7871 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 was_examined
Debug: 1380 7871 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 arp_waitstate halted 1000
Debug: 1381 7871 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 arp_waitstate halted 1000
Debug: 1391 7872 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 curstate
Debug: 1392 7872 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 curstate
Debug: 1393 7872 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_fpga_spinal.cpu0 invoke-event reset-end
Debug: 1394 7872 command.c:143 script_debug(): command - ocd_fpga_spinal.cpu0 ocd_fpga_spinal.cpu0 invoke-event reset-end
Debug: 1413 7961 gdb_server.c:3158 gdb_input_inner(): received packet: 'X80000000,0:<binary-data>'
Debug: 1414 7961 gdb_server.c:3158 gdb_input_inner(): received packet: 'X80000000,12c:<binary-data>'
Debug: 1415 7961 gdb_server.c:1584 gdb_write_memory_binary_packet(): addr: 0x80000000, len: 0x0000012c
Debug: 1416 7961 target.c:2138 target_write_buffer(): writing buffer of 300 byte at 0x80000000
Debug: 1417 7961 vexriscv.c:1146 vexriscv_write_memory(): SAVED : 18

Debug: 1420 7962 jlink.c:532 jaylink_log_handler(): Adjusted buffer size to 4096 bytes.
Debug: 1439 8016 gdb_server.c:3158 gdb_input_inner(): received packet: 'X8000012c,b4c:<binary-data>'
Debug: 1440 8017 gdb_server.c:1584 gdb_write_memory_binary_packet(): addr: 0x8000012c, len: 0x00000b4c
Debug: 1441 8017 target.c:2138 target_write_buffer(): writing buffer of 2892 byte at 0x8000012c
Debug: 1442 8019 vexriscv.c:1146 vexriscv_write_memory(): SAVED : 29d

Debug: 1541 8421 gdb_server.c:3158 gdb_input_inner(): received packet: 'X80000c78,1d8:<binary-data>'
Debug: 1542 8421 gdb_server.c:1584 gdb_write_memory_binary_packet(): addr: 0x80000c78, len: 0x000001d8
Debug: 1543 8421 target.c:2138 target_write_buffer(): writing buffer of 472 byte at 0x80000c78
Debug: 1544 8421 vexriscv.c:1146 vexriscv_write_memory(): SAVED : 34

Debug: 1566 8503 gdb_server.c:3158 gdb_input_inner(): received packet: 'X80000e50,1f0:<binary-data>'
Debug: 1567 8503 gdb_server.c:1584 gdb_write_memory_binary_packet(): addr: 0x80000e50, len: 0x000001f0
Debug: 1568 8503 target.c:2138 target_write_buffer(): writing buffer of 496 byte at 0x80000e50
Debug: 1569 8503 vexriscv.c:1146 vexriscv_write_memory(): SAVED : 75

Debug: 1590 8573 gdb_server.c:3158 gdb_input_inner(): received packet: 'X80001040,8:<binary-data>'
Debug: 1591 8573 gdb_server.c:1584 gdb_write_memory_binary_packet(): addr: 0x80001040, len: 0x00000008
Debug: 1592 8573 target.c:2138 target_write_buffer(): writing buffer of 8 byte at 0x80001040
Debug: 1602 8576 gdb_server.c:3160 gdb_input_inner(): received packet: 'P20=00000080'
Debug: 1603 8576 gdb_server.c:1349 gdb_set_register_packet(): -
Debug: 1604 8576 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 0

Debug: 1614 8667 gdb_server.c:3160 gdb_input_inner(): received packet: 'qXfer:threads:read::0,fff'
Debug: 1615 8688 gdb_server.c:3160 gdb_input_inner(): received packet: 'p342'
Debug: 1616 8688 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 0

Debug: 1626 8690 gdb_server.c:3160 gdb_input_inner(): received packet: 'm800005b8,4'
Debug: 1627 8690 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x00000000800005b8, len: 0x00000004
Debug: 1628 8690 target.c:2200 target_read_buffer(): reading buffer of 4 byte at 0x800005b8
Debug: 1638 8701 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000124,4'
Debug: 1639 8701 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000080000124, len: 0x00000004
Debug: 1640 8701 target.c:2200 target_read_buffer(): reading buffer of 4 byte at 0x80000124
Debug: 1650 8707 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000464,4'
Debug: 1651 8707 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000080000464, len: 0x00000004
Debug: 1652 8707 target.c:2200 target_read_buffer(): reading buffer of 4 byte at 0x80000464
Debug: 1662 8711 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000ccc,4'
Debug: 1663 8711 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000080000ccc, len: 0x00000004
Debug: 1664 8711 target.c:2200 target_read_buffer(): reading buffer of 4 byte at 0x80000ccc
Debug: 1674 8714 gdb_server.c:3160 gdb_input_inner(): received packet: 'm800000b0,4'
Debug: 1675 8714 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x00000000800000b0, len: 0x00000004
Debug: 1676 8714 target.c:2200 target_read_buffer(): reading buffer of 4 byte at 0x800000b0
Debug: 1695 8832 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000000,40'
Debug: 1696 8832 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000080000000, len: 0x00000040
Debug: 1697 8832 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x80000000
Debug: 1707 8852 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000040,40'
Debug: 1708 8852 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000080000040, len: 0x00000040
Debug: 1709 8852 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x80000040
Debug: 2295 15306 gdb_server.c:3160 gdb_input_inner(): received packet: 'Z0,800000b0,4'
Debug: 2296 15306 gdb_server.c:1643 gdb_breakpoint_watchpoint_packet(): -
Debug: 2297 15306 vexriscv.c:1278 vexriscv_add_breakpoint(): Adding breakpoint: addr 0x800000b0, len 4, type 1, set: 0, id: 0
Debug: 2334 15312 breakpoints.c:104 breakpoint_add_internal(): added software breakpoint at 0x800000b0 of length 0x00000004, (BPID: 0)
Debug: 2335 15312 gdb_server.c:3160 gdb_input_inner(): received packet: 'vCont?'
Debug: 2336 15312 gdb_server.c:3160 gdb_input_inner(): received packet: 'vCont;c'
Debug: 2337 15312 gdb_server.c:2729 gdb_handle_vcont_packet(): target fpga_spinal.cpu0 continue
Debug: 2338 15312 target.c:1581 target_call_event_callbacks(): target event 3 (resume-start)
Debug: 2339 15312 vexriscv.c:1422 vexriscv_resume_or_step(): Addr: 0x0, stepping: no, handle breakpoints no

Debug: 2340 15312 target.c:1931 target_free_all_working_areas_restore(): freeing all working areas
Debug: 2341 15312 vexriscv.c:685 vexriscv_restore_context(): -
Debug: 2360 15314 target.c:1581 target_call_event_callbacks(): target event 2 (resumed)
Debug: 2361 15314 vexriscv.c:1479 vexriscv_resume_or_step(): Target resumed at 0x80000000
Debug: 2362 15314 target.c:1581 target_call_event_callbacks(): target event 4 (resume-end)
Debug: 2363 15314 target.c:1581 target_call_event_callbacks(): target event 5 (gdb-start)
Debug: 2373 15415 vexriscv.c:710 vexriscv_debug_entry(): -
Debug: 2383 15416 vexriscv.c:636 vexriscv_save_context(): -
Debug: 2403 15440 target.c:1581 target_call_event_callbacks(): target event 0 (gdb-halt)
Debug: 2404 15441 target.c:1581 target_call_event_callbacks(): target event 1 (halted)
Debug: 2405 15441 target.c:1581 target_call_event_callbacks(): target event 6 (gdb-end)
Debug: 2406 15441 gdb_server.c:3160 gdb_input_inner(): received packet: 'p20'
Debug: 2407 15441 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 0

Debug: 2408 15441 gdb_server.c:3160 gdb_input_inner(): received packet: 'qXfer:threads:read::0,fff'
Debug: 2409 15442 gdb_server.c:3160 gdb_input_inner(): received packet: 'z0,800000b0,4'
Debug: 2410 15442 gdb_server.c:1643 gdb_breakpoint_watchpoint_packet(): -
Debug: 2411 15442 vexriscv.c:1358 vexriscv_remove_breakpoint(): Removing breakpoint: addr 0x800000b0, len 4, type 1, set: 0, id: 0
Debug: 2430 15445 breakpoints.c:307 breakpoint_free(): free BPID: 0 --> 0
Debug: 2431 15447 gdb_server.c:3160 gdb_input_inner(): received packet: 'qXfer:threads:read::0,fff'
Debug: 2432 15447 gdb_server.c:3160 gdb_input_inner(): received packet: 'g'
Debug: 2433 15447 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 1

Debug: 2434 15511 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000080,40'
Debug: 2435 15511 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000080000080, len: 0x00000040
Debug: 2436 15511 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x80000080
Debug: 2455 15532 gdb_server.c:3160 gdb_input_inner(): received packet: 'm800000c0,40'
Debug: 2456 15532 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x00000000800000c0, len: 0x00000040
Debug: 2457 15532 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x800000c0
Debug: 2467 15554 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000100,40'
Debug: 2468 15554 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000080000100, len: 0x00000040
Debug: 2469 15554 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x80000100
Debug: 2821 19511 gdb_server.c:3160 gdb_input_inner(): received packet: 'vCont;s:0;c:0'
Debug: 2822 19511 gdb_server.c:2812 gdb_handle_vcont_packet(): request to step current core only
Debug: 2823 19511 gdb_server.c:2820 gdb_handle_vcont_packet(): target fpga_spinal.cpu0 single-step thread 0
Debug: 2824 19511 target.c:1581 target_call_event_callbacks(): target event 5 (gdb-start)
Debug: 2825 19511 vexriscv.c:1422 vexriscv_resume_or_step(): Addr: 0x0, stepping: yes, handle breakpoints no

Debug: 2826 19511 target.c:1931 target_free_all_working_areas_restore(): freeing all working areas
Debug: 2827 19511 vexriscv.c:685 vexriscv_restore_context(): -
Debug: 2846 19514 target.c:1581 target_call_event_callbacks(): target event 2 (resumed)
Debug: 2847 19514 vexriscv.c:1479 vexriscv_resume_or_step(): Target resumed at 0x800000b0
Debug: 2857 19514 vexriscv.c:710 vexriscv_debug_entry(): -
Debug: 2867 19515 vexriscv.c:636 vexriscv_save_context(): -
Debug: 2886 19539 target.c:1581 target_call_event_callbacks(): target event 0 (gdb-halt)
Debug: 2887 19539 target.c:1581 target_call_event_callbacks(): target event 1 (halted)
Debug: 2888 19539 target.c:1581 target_call_event_callbacks(): target event 6 (gdb-end)
Debug: 2898 19540 gdb_server.c:3160 gdb_input_inner(): received packet: 'p20'
Debug: 2899 19540 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 0

Debug: 2909 19541 gdb_server.c:3160 gdb_input_inner(): received packet: 'g'
Debug: 2910 19541 vexriscv.c:1249 vexriscv_get_gdb_reg_list(): vexriscv_get_gdb_reg_list 1

Debug: 2911 19541 gdb_server.c:3160 gdb_input_inner(): received packet: 'qXfer:threads:read::0,fff'
Debug: 2912 19541 gdb_server.c:3160 gdb_input_inner(): received packet: 'qXfer:threads:read::0,fff'
Debug: 2913 19593 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80,40'
Debug: 2914 19593 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000000000080, len: 0x00000040
Debug: 2915 19593 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x00000080
Debug: 2925 19610 gdb_server.c:3160 gdb_input_inner(): received packet: 'mc0,40'
Debug: 2926 19610 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x00000000000000c0, len: 0x00000040
Debug: 2927 19610 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x000000c0
Debug: 2937 19626 gdb_server.c:3160 gdb_input_inner(): received packet: 'm100,40'
Debug: 2938 19626 gdb_server.c:1444 gdb_read_memory_packet(): addr: 0x0000000000000100, len: 0x00000040
Debug: 2939 19626 target.c:2200 target_read_buffer(): reading buffer of 64 byte at 0x00000100
Dolu1990 commented 5 years ago

Hi,

Hmm that's is weird. I never tried with that jtag key. Do you have another one ? Can you also try to connect to the simulated Murax via the SpinalSim ? (sbt "test:runMain vexriscv.MuraxSim" + jtagtcp interface for openocd)

Those two things can help to diagnostic :)

sebastien-riou commented 5 years ago

Hi,

Thanks for the suggestion, I was not aware of SpinalSim.

SpinalSim works well. the first relevant difference in the logs (as far as I can see) is this one: SpinalSim: Debug: 404 9045 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80000080,40' JLINK Hardware: Debug: 2913 19593 gdb_server.c:3160 gdb_input_inner(): received packet: 'm80,40'

I ordered another jtag hardware

Dolu1990 commented 5 years ago

Good :) So, just to say, i'm using a FTDI2232H based breakout, i already tried with some others, as JtagKey, JtagKey2. Some people also used raspberry pi by the past.

Let's me know how it go

sebastien-riou commented 5 years ago

I confirm nothing is wrong with Murax, I tried the "FT2232H_Mini_Module" with the exact same FPGA image and everything else, it works like a charm. The problem seems on JLink side or just a weird electrical connection problem, sorry about that.

Dolu1990 commented 5 years ago

One thing. Today, i had to make one board working with the c232hm_ddhsl_0. And with that specific dongle, i had some issues. It was because of electrical reasons, bad impedance matching / crosstalk. So what i finaly did, is adding a 380 ohm resistance between the FPGA pin and the dongle TCK pin (close to the FPGA) to filter that out. then it worked fine :)