2024年11月24日日曜日

Simplicity Studioを使ってみた! その2

前回からの続きです。


「Simplicity Studio」でのプロジェクト作成

インストールした「Simplicity Studio」の動作確認を兼ねて、簡単なプログラムを作ってターゲットを動かしてみましょう。

ターゲットは「Z-Wave 800 Pro キット」という評価ボードを使用することを前提として書いています。

ターゲット - 1


そのために、まずはプロジェクトの作成が必要です。

何はともあれ「Simplicity Studio」を起動させましょう。

Simplicity Studio - 1


画面左上のメニューから「File」→「New」→「Silicon Labs Project Wizard...」と順にクリックしていきましょう。

Simplicity Studio - 2


すると「New Project Wizard」というダイアログが表示されます。

ここでは、これから作成するプロジェクトのターゲット情報を設定するのですが、各項目、自動入力されていますね。

誤りがなければ、ダイアログ下部の「NEXT」ボタンをクリックしてください。

Simplicity Studio - 3


次の表示では、とりあえず「Empty C Project」を選択しましょう。

そして「NEXT」ボタンをクリック…。

Simplicity Studio - 4


次の表示では、プロジェクト名やその保存先を設定します。

しかし、デフォルトでプロジェクト名は「empty」と入力されていますので、このままでも良いです。

気になる方は、お好きな名前を。

プロジェクトの保存先においても、特別な事情がない限りはそのままで結構です。

ただし、SDKの扱いだけは「Copy contents」にラジオボタンを選択しています。

これを選択した方が、SDKのソースコードが作成するプロジェクト内にコピーされる仕組みとなるので、特に他人にプロジェクトを渡すときにトラブルが無さそうです。

ダイアログ下部の「FINISH」ボタンをクリックして「New Project Wizard」を終了させます。

Simplicity Studio - 5


これで「empty」という新しいプロジェクトが作成されたはず。

画面左上の「Project Explorer」に注目です。

Simplicity Studio - 6


このように、いくつかのディレクトリやファイルが「empty」プロジェクトのディレクトリ以下に生成されていることが分かります。

これらの中で「empty.pintool」というファイルをダブルクリックしてみてください。

Simplicity Studio - 7


すると「Simplicity Studio」のメインタブに、マイコンの絵とピンの機能を説明する表が現れました。

他のマイコンメーカーの統合開発環境と同じく、ここにピンの役割を設定してやって、ドライバーやミドルウェアをプロジェクトに追加していくのでしょう。

Simplicity Studio - 8


さて、今回は「Simplicity Studio」の味見と試運転が目的ですから、そんなに凝ったプログラムは書きません。

それでも、最低限のハードウェアの動きは見てみたいと思います。

(そうじゃなきゃツマンナイ。)

ターゲット上に用意されている、簡単に、且つ気軽に使えるハードウェアはどれかな~?

ターゲットのクイックスタートガイドをダウンロードし、一通り読んでみましょう。

まず、このターゲットには、LEDとプッシュボタンがそれぞれ2つずつ載ってるみたいですね。

回路図 - 1


実際にはこれらの場所…。

ターゲット - 2


加えて、シリアル通信も使えそうです。

これは、ターゲット上でUSBに変換されて、パソコンに差すとシリアルポートとして認識されるタイプです。

回路図 - 2


USB Cタイプのジャックはターゲットの左側にあります。

これは、デバッグポートも兼ねていますので、ケーブル一本でデバッグもシリアル通信もできてしまう親切設計ですね。

ターゲット - 3


これらを踏まえた上で「Simplicity Studio」上で、マイコンのピンに機能を割り振っていきましょう。


まずは、1つ目のLEDです。

上記の回路図から、これは「PB02」に接続されています。

ですので、「Simplicity Studio」のメインタブに現れた表の中から「PB02」の行を見つけて、これをダブルクリックします。

Simplicity Studio - 9


以下のような編集画面が表示されましたね。

ここに必要事項を設定していきましょう。

まずは一番上の「Function:」の欄、これはコンボボックスになっていますので、右端の「」マークをクリックです。

Simplicity Studio - 10


選択できる項目が表示されます。

LEDは、マイコンのGPIO(General Purpose Input/Output)という機能を使用しますので、ここでは「GPIO_mode」を選択します。

これにより「PB02」のピンはGPIOとして使用するように設定されたことになります。

Simplicity Studio - 11


次の「Custom Pin Name:」のテキストボックスは飛ばして…。

(せっかく入力しても、この後の操作でクリアされてしまうので。)

その下の「Please add a compatible component for the Function:」の欄のコンボボックスの右側の「NEW」というボタン…。

これをクリックします。

Simplicity Studio - 12


すると、以下のような画面に切り替わります。

ここでは、このピンに紐づけるドライバやミドルウェアなどのコンポーネント(これらを「SDK」と呼んでいます。)を選択します。

とはいえ、左側に表示されているように、これらの数は膨大です。

絞り込みのために画面上部の「Search keywords: component's name」の欄にキーワードを入力します。

Simplicity Studio - 13


キーワードは「LED」としましょう。

入力と同時に左側の選択肢も大分絞られたと思います。

Simplicity Studio - 14


絞られた選択肢の中から、今回は「Simple LED」というのを選びましょう。

「Simple」っていう名前に惹かれました!

左側の一覧で「Platform」→「Driver」→「LED」と展開していき、表示された「Simple LED」をクリックし、更に右側に表示された説明文の上の「Intsall」ボタンをクリックします。

Simplicity Studio - 15


以下のような確認画面が表示されます。

この「Simple LED」というコンポーネントを「led0」という名前でインスタンスを作成するけどいい?…って聞いています。

もちろん「Done」ボタンをクリックです。

Simplicity Studio - 16


無事にコンポーネントがインストールされて「led0」インスタンスが生成されると以下のような表示となります。

「Simplicity Studio」のメインタブを「empty.pintool」に切り替えましょう。

Simplicity Studio - 17


まずは「Please add a compatible component for the Function:」の欄のコンボボックスに「Simple LED」コンポーネントの「led0」インスタンスが選択されていることを確認してください。

正しければ「Custom Pin Name:」のテキストボックスに「PB02」の信号名を入力します。

上記の回路図では「UIF_LED0」という名前でしたね。

入力したら「APPLY AND CLOSE」ボタンをクリックします。

Simplicity Studio - 18


マイコンの絵とピンの機能を説明する表に戻ってきました!

「PB02」の行に、今までの設定の結果が表示されているはずですね。

これで1つ目のLEDの設定は完了です。

Simplicity Studio - 19


次に、2つ目のLEDです。

2つ目のLEDは「PD03」ピンを「UIF_LED1」という名前で「Function: GPIO_mode」と設定します。

1つ目のLEDの時の作業と同様ですが「Simple LED」コンポーネントのインスタンスを作成する時の操作が異なります。

この時点でコンポーネントは既にインストールされているため、今回は以下のように「Simple LED」コンポーネントの説明文の下部の「Add New Instances」ボタンをクリックします。

Simplicity Studio - 20


今回は「led1」という名前でインスタンスが作成されるようです。

Done」ボタンをクリックします。

Simplicity Studio - 21


メインタブを「empty.pintool」に切り替え「Custom Pin Name:」のテキストボックスに「PD03」の信号名を入力します。

上記の回路図では「UIF_LED1」という名前でしたね。

入力したら「APPLY AND CLOSE」ボタンをクリックします。

Simplicity Studio - 22


次に、2つのプッシュボタンの設定です。

作業はLEDのときとぼぼ一緒。

1つ目は「PB01」ピンを「UIF_PB0」という名前で「Function: GPIO_mode」…

2つ目は「PB03」ピンを「UIF_PB1」という名前で「Function: GPIO_mode」…

とそれぞれ設定すれば良いのですが、異なるのはコンポーネントの部分だけです。

LEDのときは「Simple LED」というコンポーネントでしたが、今回は「Simple Button」というコンポーネントを使います。

以下の通り、コンポーネントを検索するキーワードは「button」とでも入力すれば良いでしょう。

Simplicity Studio - 23


最後にシリアル通信の設定です。

上記の回路図では、5つのピンを使用することが分かります。

面倒くさいのですが、まずは「PA08」ピンを「VCOM_TX」という名前で「Function: USART0_TX」として設定していきます。

基本、今までと同様に作業していきますが、今回のコンポーネントは「UARTDRV USART」です。

検索キーワードは「uart」が良いでしょう。

Simplicity Studio - 24


今回は「vcom」という名前でインスタンスが作成されるようです。

Done」ボタンをクリックします。

Simplicity Studio - 25


メインタブを「empty.pintool」に切り替え「Custom Pin Name:」のテキストボックスに「PA08」の信号名「VCOM_TX」を入力し「APPLY AND CLOSE」ボタンをクリックします。

Simplicity Studio - 26


さて、残りのピンも設定しないと…と思ってピンの設定一覧表を見てみると…。

なんと!残りのピンのインスタンスも設定されているではないですか!?

どうやら、シリアル通信のような複数のピンを使用するコンポーネントを設定する場合、その中の一つでも設定された時点で残りのピンの設定も自動的に行われる仕組みのようです。

便利~。

ただし、ピンの名前「Custom Pin Name:」だけは空欄のままですので「VCOM_RX」、「VCOM_CTS」…などと、手動で入力してあげましょう。


最終的に、各ピンが以下のように設定できていればOKです。

(この表は各項目でソート可能で、以下は「Custom Pin Name」でソートした例。)

同時に左側のマイコンの絵のピンにも、設定内容が反映されていますね!

Simplicity Studio - 27


最後に「Simplicity Studio」の上部に配置されている「保存」ボタンをクリックして「empty.pintool」を保存しましょう。

面倒くさい作業だったので、設定が失われたら大変だ…。

Simplicity Studio - 28


ここまで、意外と手数が必要でしたね…。

他のマイコンメーカーのツールと比べて、ちょっと変わった操作感で戸惑うところはありましたが、慣れの問題でしょうね。

さて、これでいよいよコーディング作業に移ることができます。

長くなっちゃうので、次回…。


<続く>

2024年11月18日月曜日

Simplicity Studioを使ってみた! その1

「Simplicity Studio」のインストール

急遽、Silicon Labs社のマイコンを使用することになり、その統合開発環境「Simplicity Studio」をインストールしました。

手順が多く結構ハマったので、その備忘録です。

まずは、インストーラーのダウンロードです。

以下のページにアクセスします。

このページを少し下にスクロールして行くと…


https://www.silabs.com/developer-tools/simplicity-studio

ダウンロード・ページ - 1


インストーラーへのリンクのバナーが並んでいます。

ここでは「Windows Installer >」のバナーをクリックします。

ダウンロード・ページ - 2


すると、ログインを促されます。

アカウントを作成するには「Create an Acount」の表示をクリックして諸々入力する必要があります。

面倒ですが、これは必須です。

ダウンロード・ページ - 3


アカウントを作成したら、いざログインです。

メールアドレスパスワードを入力し「Login」ボタンをクリックします。

ダウンロード・ページ - 4


即座に保存場所を問われます。

ディレクトリを指定して「保存」ボタンをクリック!

保存場所ダイアログ


ダウンロードが終了すると指定したディレクトリに「SimplicityStudio-5.iso」というファイルが生成されています。

これは「.exe」ではなくディスクイメージ「.iso」ですね。

「SimplicityStudio-5.iso」を右クリックして表示されたメニューから「マウント」をクリックします。

ディスクイメージのマウント


以下の警告が出たら「開く」ボタンをクリックです。

警告ダイアログ


マウントが終了すると、新たにエクスプローラーが開きます。

これは、マウントされたディスクイメージの中身を表示しています。

この中から「setup.exe」をダブルクリックしてインストーラーを起動しましょう。

エクスプローラー


インストーラーが起動すると、まずはライセンスの確認と承諾です。

ラジオボタンを「I acept the terms of the license agreement」に設定し「Next >」ボタンをクリックしてください。

インストーラー - 1


特別な事情がない限り、ここは「Next >」ボタンをクリック!

インストーラー - 2


Install」ボタンをクリックするとインストール作業が始まります。

インストーラー - 3


インストール作業が始まりました。

ここまでは、スムーズに進みます。

インストーラー - 4


問題はココ!!

インストール作業の後半で以下のスプラッシュスクリーンが表示されます。

でも、このプログレスバーが全く進まない!

まるでフリーズしたように物凄く長い時間待たされます。

明らかに異常と判断して、ここで、何度インストールを中断してしまったことか…。

エラーではありませんので、ここはグッと我慢して待っていてください。

スプラッシュスクリーン


以下の画面が表示されるとホットします。

ここでは、画面右上の「Log In」という表示をクリックします。

インストーラー - 5


表示されたメニューの中から「Log In」をクリックしましょう。

インストーラー - 6


すると、以下のダイアログが表示されますので、メールアドレスパスワードを入力し「Login」ボタンをクリックします。

ログイン・ダイアログ


間髪入れずに以下のポップアップが表示されます。

今後の開発のために、お客さんの使用状況が知りたいのでユーザーデータを下さい!って言ってます。

ヤダ!という選択肢は無しか…。

ここは一旦「OK」ボタンをクリックです。

ポップアップ - 1


ココも問題!

以下のポップが表示されます。

先ほどのユーザーデータを収集しているのか何なのか分かりませんが、これのプログレスバーも待てど暮らせど全く進まない!

Silicon Labs社のサーバーが遅いのか、私の家のネットワークが悪いのか?

私は、ここでたまらず「Cancel」ボタンをクリックしてしまいましたが、インストールに支障はないようです。

義理堅い方は、終わるまで待っていてあげてください。

ポップアップ - 2


ふー…ようやく元の画面に戻りました。

ここでは、画面下部の「Accept all agreements」のチェックボックスにチェックを入れて(片方だけチェックすると両方チェックされます。)右下の「Done」ボタンをクリックします。

インストーラー - 7


次に、以下の画面が表示されます。

まずは「Run demos on connected devices」という部分をクリックしましょう。

インストーラー - 8


以下の画面に切り替わったら…。

インストーラー - 9


このタイミングでターゲットボードをパソコンに接続しましょう。

私が使っているのは「Z-Wave 800 Pro キット」というものです。

高いです!

ターゲットボード


これをUSB経由でパソコンに接続すると、以下のようにインストーラーに認識されるはずです。

自分が接続したターゲットボードが正しく認識されたことを確認してから「Start」ボタンをクリックします。

インストーラー - 10


次に「Install Developer Tools」という表示をクリックすると…

インストーラー - 11


…以下の画面に戻ります。

次は真ん中の「Install by connecting device(s)」をクリックします。

ここでは、ツールチェーンやSDKなどをアップデート/インストールします。

インストーラー - 12


アップデートを検索しているようですね。

ちょっと待ちましょう…。

インストーラー - 13


以下の画面に切り替わったらアップデートやインストールが可能なソフトウェアが表示されます。

特に事情がなければ右下の「Update All」をクリックします。

インストーラー - 14


アップデート作業が始まります。

デバッガーなどのデバイスドライバもアップデートされる場合があるため、途中で数回セキュリティ警告が出るかもしれません(いずれも「OK」で大丈夫です。)。

これも結構時間がかかります…。

インストーラー - 15


アップデートが終わると、以下の表示となります。

Restart」ボタンをクリックしてください。

インストーラー - 16


その後、再び以下の画面が表示されます。

今度こそ最後か!?

右側の「Install by technology type...」をクリックです。

ここでは、Silicon Labs社のマイコンの特徴である無線関係のプロトコルスタックやライブラリをインストールします。

インストーラー - 17


またまたアップデートの検索です。

インストーラー - 18


以下の画面に切り替わったらインストールが可能なソフトウェアが表示されます。

「Select All」としても良いのでしょうが、今回はお目当ての「32-bit and Wireless MCUs」をチェックし、画面右下の「Next」ボタンをクリックしました。

インストーラー - 19


以下の表示では、特に事情がない限り「Auto」を選択し。画面右下の「Next」ボタンをクリックします。

インストーラー - 20


再びライセンスの確認と承諾です。

ここでも、画面下部の「Accept all agreements」のチェックボックスにチェックを入れて(片方だけチェックすると両方チェックされます。)右下の「Next」ボタンをクリックします。

インストーラー - 21


インストール作業が開始されます。

これまたかなりの時間待たされます…。

ゆっくりお茶でも飲んでいた方が良いです。

インストーラー - 22


インストール作業が終わると、以下の表示となります。

Restart」ボタンをクリックしてください。

インストーラー - 23


スプラッシュスクリーンの後、以下のようにEclipseベースの開発環境が立ち上がれば「Simplicity Studio」のインストールは完了です。

「Simplicity Studio」


「Simplicity Studio」のインストールは、全体として待たされることが多く、安定性も今一つな印象です。

よほど時間のある時に実施しましょう!


さて、次は動作確認も兼ねてSilicon Labs社のSDKを使った簡単なプログラムを動かしてみましょうかね~。


<続く>

Simplicity Studioを使ってみた! その3

前回からの続き です。 このテーマを最初からご覧になる場合は こちら からどうぞ。 「Simplicity Studio」でプログラミング インストールしたSilicon Labs社のマイコン用の統合開発環境「 Simplicity Studio 」で、テストプログラムを動かして...