SpresenseをLPC-Link2とOpenOCDでデバッグしたいのにlocalhost:3333: Operation timed out.

SpresenseでOpenOCDを接続したいのにGDB server接続できない。

【理由】メインボードと拡張ボードが浮いていた!?
   (上から押しつけたらカチっと嫌な音。その後、無事にlocalhost:3333が立ち上がった)

【確認方法】
  拡張基板側をUSB接続してみて、青ランプが点灯していれば問題ない。
  筆者は結構押し込んで安定させないと、都度消えていることが多かった。

【確認したこと】

  ■LPC-Link2のファームウェア
  

f:id:ThreeStones:20200606023509p:plain
tool

   ■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週間後)
     ⇒ メインボード + 拡張ボード+圧力 = カチッ!!