STM32CubeMXに関する事 5 セミホスティングを使う [STM32F]
ST-LINK V2だけの機能なのか?ST-LINK V1ではどうだっけ?他のオンチップデバッガーの状況は?さっぱり知りませんが、セミホスティング便利です。
従来UARTの一部を使って、動作中のメッセージ等を出力してデバッグとかしている事も多いと思いますが、セミホスティングを使えば特別にI/Fを用意する事無く、デバッガーの画面にメッセージを出力する事も、なにか文字を受信することもできます。
使い方は簡単。プロジェクトにリポジトリでSemihostingを追加し、CoIDEの設定(Configuration)のDebuggerタブでAdvanceのSemihosting Enableにチェックを入れるだけでした。
main.cのこの部分にsemihosting.hをインクルードします。
main.hのこの部分に以下のマクロを追加します。
mainのwhileループにこれを追加します。
以上
従来UARTの一部を使って、動作中のメッセージ等を出力してデバッグとかしている事も多いと思いますが、セミホスティングを使えば特別にI/Fを用意する事無く、デバッガーの画面にメッセージを出力する事も、なにか文字を受信することもできます。
使い方は簡単。プロジェクトにリポジトリでSemihostingを追加し、CoIDEの設定(Configuration)のDebuggerタブでAdvanceのSemihosting Enableにチェックを入れるだけでした。
main.cのこの部分にsemihosting.hをインクルードします。
main.hのこの部分に以下のマクロを追加します。
/* USER CODE BEGIN Private defines */ /* debug */ #if defined(__DEBUG__) #define debugPrint(fmt,param) do{ char buf[128]; sprintf(buf,fmt,param); SH_SendString(buf);} while(0) #else #define debugPrint(fmt,param) #endif /*__DEBUG__*/ /* USER CODE END Private defines */
mainのwhileループにこれを追加します。
debugPrint( "loop count = %d\r\n", count++ );
以上
2017-08-23 16:29
nice!(0)
コメント(0)
コメント 0