はじめに
今回は、オンセミ社のRSL10でセンシングをおこないます。
ここでは初めてRSL10を開発する方、これから開発する方にRSL10でセンシングする方法を案内します。本記事は2部構成の後編です。
RSL10でセンシングの前編の記事については以下を参照ください。
Bluetooth®5認定SoC、RSL10を初めて評価してみた全3回の記録"~第2弾前編“「RSL10でセンシング”エラー発生”」
前編記事の要約と今回の後編記事の内容について
前回はサンプルコードをダウンロードし、ビルドしました。
ビルド後に作成されたnoa1305_example.elfファイルを用いてデバッグをおこないました。
ところが、エラーメッセージが出てしまいました。
今回の記事ではエラー原因の突き止めた流れについてと、実際にRSL10でのセンシングの実行方法について説明します。
エラー原因の突き止めた流れとセンシングの実行方法
1. まずハードウェア的に問題ないかを調べました。
センサー部分とRSL10-BDK-GEVK(接続図上ではRSL10 BDKと記載)とRSL10-SIP-001GEVB(接続図上ではRSL10 SIPと記載)の接続が問題ないかを確認しました。
接続図を下図1に示します。
ハードウェアの接続的に問題がないことが分かりました。
![図1 接続図](/business/semiconductor/articles/Onsemi_1Colum_connect_block.png)
2. 続いてソフトウェア的に問題ないかを調べました。
デバッグ実行時に以下のエラーコードが出ることが分かります。図2に示します。
![図2 デバッグ実行時のエラーコード](/business/semiconductor/articles/ce4133fa4ad1556a834e37379cd037fc_1.png)
図2よりmain.cファイルの29行目でエラーが起きて動作していないことが分かります。そこでデバッグ時に一行ずつ、実行することでエラー要因を突き止めることにしました。
以前では、デバッグをクリックした後に、Resume(F8)をクリックしていましたが、下図3の一番右のStep Overという箇所で、一行ずつプログラムを実行する事で突き止めていきます。
STEP Overについて説明します。
STEP Over:一時停止している次の行に進んで一時停止する。対象行でメソッドを呼び出している場合などは、それらの処理をおこなって次の行に進む。
![図3 Step Over実行箇所について](/business/semiconductor/articles/e27c41a33573d1c42d1c5d2b53160d23.png)
今回は29行目でエラーが出ている為、24行目までStep Overで実行します。Step Overで実行したのちにStep Intoを実行します。
STEP Intoについて説明します。
Step Into:一時停止している次の行に進んで一時停止する。対象行でメソッドを呼び出す場合、呼び出し先のメソッドに入って先頭で一時停止する。
Step Intoで潜っていくと、以下をループすることが分かります。(図4参照)
よってDIOの接続に問題があると推定できます。
![](/business/semiconductor/articles/e7d215cba953294e7054e7cea2cbb419.png)
3. そこでRSL10-SIP-001GEVBとRSL10-BDK-GEVKのDIOの接続先について調べました。
RSL10-SIP-001BEVBとRSL10-BDK-GEVKのDIOの接続先をまとめたものを図5に示します。
![図5 RSL10-SIP-001BEVB とRSL10-BDK-GEVKにおけるDIOの接続先](/business/semiconductor/articles/86e76070d4936f00e40ef337f4246727_18.png)
DIOの接続先を確認するとRSL10-SIP-001BEVB 、RSL10-BDK-GEVKの接続先が同じでないことが分かります。また、ダウンロードしたサンプルコードがRSL10-BDK-GEVKに対応しています。つまり、サンプルコードはRSL10-BDK-GEVKのDIOで定義されているため、RSL10-SIP-001BEVBに対応するDIOを定義する必要があります。
4. RSL10-SIP-001BEVBに対応するDIOの定義をします。
PinName.hファイルの内部にある、以下の黄色でラインされたPIN_DIOに書きかえて保存します。(図6参照)
![図6 PIN_DIOの書き換え](/business/semiconductor/articles/104c521b9f71c14dbdb9a186786b19e0.png)
![図6 PIN_DIOの書き換え](/business/semiconductor/articles/40dfd73371f7fe1df2de265dacf603c6.png)
5. NOA1305_example用のフォルダを右クリックし、再度Build Projectをクリックします。または、プロジェクトを選択し、[Build Project]をクリックします。
6. ビルドが実行されると、図7に示すようにビルドの出力がオンセミIDE C/C++上で表示されます。
![](/business/semiconductor/articles/ea8370fe6e59ba09032608d7a536325f_1.png)
7. プロジェクトエクスプローラー上のDebugフォルダーに出力される主な結果は以下の通りです。図8に示します。
センシングをするにあたって使用するファイルはnoa1305_example.elfになります。
![](/business/semiconductor/articles/85442fa4c29b1b1fd60b2ee2eb7ed759_1.png)
8. noa1305_example.elfファイルを用いてデバッグをおこないます。Project Explorer内でnoa1305_example.elfファイルを右クリックし、Debug As > Debug Configurationsを選択します。
9. Debug Configurationsダイアログが表示されたら、GDB SEGGER J-Link Debuggingを右クリックし、New Configurationを選択します。
GDB SEGGERの見出しの下にnoa1305_example.elfの新しいコンフィギュレーションが表示されます。
右側のパネルに新しいコンフィギュレーションの詳細が表示されます。
10. Debuggerタブに移動し、「デバイス名」欄に「RSL10」と入力します。
ターゲット・インターフェースにSWDが選択されていることを確認してください。(図9参照)
![](/business/semiconductor/articles/3574aed702ce3b16410b0310d3202bee_1.png)
11. コンフィギュレーションの更新が完了したら、評価・開発ボードをマイクロUSBケーブルでPCに接続し、デバッグをクリックします。
J-Linkは自動的にnoa1305_exampleというサンプルコードをダウンロードし、RSL10 のフラッシュメモリに保存します。
12. デバッグをクリックした後に、下図10のResume(F8)をクリックします。
![](/business/semiconductor/articles/6b365e74330eb0d7ec435f5e919d9f99_1.png)
13. Resumeクリック後に、下図11のOpen a terminalをクリックします。
![](/business/semiconductor/articles/0a46dcb420a160a3ac7eedc103143f2b_1.png)
14. 動作を確認することができました。(図12参照)
![](/business/semiconductor/articles/4785b256d36ebb236fde56d5734ec719.png)
最後に
今回はオンセミ社のRSL10でセンシングをおこないました。次回(第三弾)は、RSL10でBLE通信を用いたデモ環境の構築をおこないたいと思います。
お問い合わせ
今回紹介した内容及び製品にご興味がある方は、ぜひお問い合わせください。
オンセミ メーカー情報Topへ
オンセミ メーカー情報Topに戻りたい方は以下をクリックしてください。