STM32の開発でJ-Linkというデバッガーがよさそうらしいので
手元のNucleoで試してみる。
準備
今回試すのはNucleo-F401、
ST-Linkの基板が隣にくっついているので
このST-Link部分をJ-Linkにして、
STM32F401REに書き込み、デバッグしてみる。
メインループ
STM32Cube MXのmain.cにあるメインループに書き足す。
while (1) { /* USER CODE END WHILE */ HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); HAL_Delay(1000); /* USER CODE BEGIN 3 */ }
J-Link化
何はともあれNucleoのST-Link部分をJ-Linkにすることが必要。
https://www.segger.com/downloads/jlink/#STLink_Reflash
ST-Link書き換え用のソフトウェアを手に入れる。
Nucleoをつなげるとデバイスマネージャーには
ST-Link V2などが認識されている。
STLinkReflash.exeを起動していくつかの同意事項を確認した後、
書き込みを行う。
デバイスマネージャーには以下のようになる。
J-Linkソフトウェアをインストール
https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack
J-Link Software and Documentation Packを入れた。
arm-none-eabi-gdb
WSLから
arm-none-eabi-gdb test.elf
target remote localhost:2331
でGDBの”waiting for connection”が緑になる。
あとは
load continue
でelfが書き込まれた後に、
実行が始まる。
continue前に
b HAL_GPIO_TogglePin
とすれば、ここで実行が停止する。
Amazonでj-linkのデバッガーを探したが
そのものはなかった。
代わりに以下のモジュールにはj-Link Lite SEGGERがついてくるらしい。
BLE 開発キット with J-Link segger:BVMCN5103-CFAC-BK KIT PLUS
- 出版社/メーカー: Braveridge
- メディア:
- この商品を含むブログを見る