SpresenseをLPC-Link2とOpenOCDでデバッグしたいのにlocalhost:3333: Operation timed out.
SpresenseでOpenOCDを接続したいのにGDB server接続できない。
【理由】メインボードと拡張ボードが浮いていた!?
(上から押しつけたらカチっと嫌な音。その後、無事にlocalhost:3333が立ち上がった)
【確認方法】
拡張基板側をUSB接続してみて、青ランプが点灯していれば問題ない。
筆者は結構押し込んで安定させないと、都度消えていることが多かった。
【確認したこと】
■LPC-Link2のファームウェア
■SWDコネクタの接続
はんだ付けに自信がなかったので、導通チェックを何度も確認
■ Ubuntu環境なので
60-openocd.rulesのコピー
【調査】
spresense - Eclipse IDE(LPC-Link2) デバッグの実行でエラーになる - スタック・オーバーフロー
とか、Facebookのグループにも同様に悩んでる人が多かった。
*** Spresenseの問題ではなさそう?
spresenseenv/usr/bin以下で下記のとおり、openocdをデバッグ出力(-d3をつける)
~/spresenseenv/usr/bin$ sudo ./openocd -f interface/cmsis-dap.cfg -f target/cxd5602.cfg -d3 -c "transport select swd" Open On-Chip Debugger 0.10.0+dev-00948-g7542ae67 (2019-11-25-05:46) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html User : 13 1 options.c:60 configuration_output_handler(): debug_level: 3 User : 14 1 options.c:60 configuration_output_handler(): Debug: 15 1 options.c:184 add_default_dirs(): bindir=/tmp/dist/bin Debug: 16 1 options.c:185 add_default_dirs(): pkgdatadir=/tmp/dist/share/openocd Debug: 17 1 options.c:186 add_default_dirs(): ・・・ Info : 177 64 cmsis_dap_usb.c:874 cmsis_dap_get_caps_info(): CMSIS-DAP: SWD Supported Info : 178 64 cmsis_dap_usb.c:876 cmsis_dap_get_caps_info(): CMSIS-DAP: JTAG Supported Info : 179 64 cmsis_dap_usb.c:854 cmsis_dap_get_version_info(): CMSIS-DAP: FW Version = 1.0 Info : 180 65 cmsis_dap_usb.c:967 cmsis_dap_swd_open(): CMSIS-DAP: Interface Initialised (SWD) Debug: 181 66 cmsis_dap_usb.c:1039 cmsis_dap_init(): CMSIS-DAP: Packet Size = 64 Debug: 182 66 cmsis_dap_usb.c:1052 cmsis_dap_init(): CMSIS-DAP: Packet Count = 64 Debug: 183 66 cmsis_dap_usb.c:1055 cmsis_dap_init(): Allocating FIFO for 3 pending HID requests Info : 184 67 cmsis_dap_usb.c:895 cmsis_dap_get_status(): SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1 Info : 185 69 cmsis_dap_usb.c:1108 cmsis_dap_init(): CMSIS-DAP: Interface ready Debug: 186 69 core.c:1668 adapter_khz_to_speed(): convert khz to interface specific speed value Debug: 187 69 core.c:1672 adapter_khz_to_speed(): have interface set up Debug: 188 69 core.c:1668 adapter_khz_to_speed(): convert khz to interface specific speed value Debug: 189 70 core.c:1672 adapter_khz_to_speed(): have interface set up Info : 190 70 core.c:1450 adapter_init(): clock speed 1000 kHz Debug: 191 70 openocd.c:141 handle_init_command(): Debug Adapter init complete Debug: 192 70 command.c:143 script_debug(): command - transport transport init Debug: 194 70 transport.c:239 handle_transport_init(): handle_transport_init Debug: 195 70 command.c:143 script_debug(): command - dap dap init Debug: 197 70 arm_dap.c:106 dap_init_all(): Initializing all DAPs ... Debug: 198 71 cmsis_dap_usb.c:929 cmsis_dap_swd_switch_seq(): JTAG-to-SWD Debug: 199 72 cmsis_dap_usb.c:733 cmsis_dap_swd_read_process(): SWD ack not OK @ 0 JUNK Debug: 200 72 command.c:630 run_command(): Command 'dap init' failed with error code -4 User : 201 73 command.c:695 command_run_line(): Debug: 202 73 command.c:630 run_command(): Command 'init' failed with error code -4 User : 203 73 command.c:695 command_run_line(): Debug: 204 73 target.c:1959 target_free_all_working_areas_restore(): freeing all working areas Debug: 205 74 cmsis_dap_usb.c:934 cmsis_dap_swd_switch_seq(): SWD-to-JTAG
「run_command(): Command 'dap init' failed with error code -4」って何だ!!
⇒ググる
⇒接続間違えてんじゃね? しか出てこない。。。
⇒いやいやいや、ちゃんとKEYのとこもペンチで抜いたしSWD接続あってんぜ・・・
⇒(それから1週間後)
⇒ メインボード + 拡張ボード+圧力 = カチッ!!