はじめに
Simplicity Studio 5になり、ユーザーインターフェイスや設定方法が大幅に変更され、困惑されている方も多いのではないでしょうか。本文章では、Virtual COM Portを使用して、printf()関数によるデバックメッセージを出力する方法について記載します。
環境
以下に使用した環境について記載いたします。
- ソフトウェア
Simplicity Studio 5 - SDK
Gecko SDK Suite v4.2.3 - 開発ボード
SLWSTK6101D(EFR32BG Bluetooth モジュール・スターター・キット) - 使用モジュール
BGM13P22 SiP モジュール
printf()関数の有効化
サンプルプロジェクトの作成
「Create New Project」をクリックし、サンプルプロジェクト(Bluetooth Mesh – SoC Empty)を作成します。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-sample-project-01-1024x572.png)
ここでは、「Bluetooth Mesh – SoC Empty」を選択し、「Next」をクリックします。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-sample-project-02.png)
「Next」をクリックします。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-sample-project-03.png)
「Bluetooth Mesh – SoC Empty」プロジェクトが作成されます。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-sample-project-04-1024x572.png)
ソフトウェアコンポーネントのインストール
「Project Configurator」を使用して、以下のソフトウェアコンポーネントをインストールします。
IO Stream: UARTの有効化
「Services」 ⇒ 「IO Stream」 ⇒ 「Driver」 ⇒ 「IO Stream: UART」を選択し、「Install」をクリックします。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-01-1024x669.png)
「INSTANSE NAME」を確認し、「Done」をクリックします。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-02.png)
インストールが完了すると右上のボタンが「Install」から「Configure」に変わります。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-03-1024x669.png)
IO Stream Retarget STDIOの有効化
「Services」 ⇒ 「IO Stream」 ⇒ 「IO Stream」 ⇒ 「IO Stream Retarget STDIO」を選択し、「Install」をクリックします。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-04-1024x669.png)
インストールが完了すると右上のボタンが「Install」が消えます。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-05-1024x669.png)
Virtual COM Portの有効化
「Platform」 ⇒ 「Board」 ⇒ 「Board Control」を選択し、「Configure」をクリックします。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-06-1024x669.png)
「Enable Virtual COM UART」のボタンをクリックし有効化します。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-07-1024x669.png)
出力確認
Virtual COM Portへの接続
TeraTermなどを使用して、Virtual COM Portへ接続します。ここでは、TeraTermを使用します。
デフォルト設定では、スピード:115200、データ:8ビット、パリティ:none、ストップビット:1ビット(115200 8N1)です。
(※接続ポートは、環境により異なるため、適切なポートに接続してください。)
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-console-01.png)
printf()関数の記載
ここでは、「app.c」ソースコードの app_init()関数に、printf()関数でメッセージを出力するコードを追記します。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-08-1024x669.png)
SL_WEAK void app_init(void)
{
/////////////////////////////////////////////////////////////////////////////
// Put your additional application init code here! //
// This is called once during start-up. //
/////////////////////////////////////////////////////////////////////////////
printf("Execution of printf() function.\r\n"); <= printf()を追記
}
デバックモードで実行
上部のツールメニューの「Run」⇒「Debug」をクリックします。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-09-1024x669.png)
ビルドされた後、エントリーポイントで停止しますので、上部メニューボタンの「Resume」ボタンをクリックし、後続処理を実行します。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-10-1024x669.png)
以下のように、コンソールにメッセージが表示されます。
![](https://www.ingenious.jp/wp-content/uploads/2023/05/silabs-ssv5-vcom-printf-console-02.png)
以上で終了です。