はじめに
今回は、オンセミ社の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に示します。
ハードウェアの接続的に問題がないことが分かりました。
2. 続いてソフトウェア的に問題ないかを調べました。
デバッグ実行時に以下のエラーコードが出ることが分かります。図2に示します。
図2よりmain.cファイルの29行目でエラーが起きて動作していないことが分かります。そこでデバッグ時に一行ずつ、実行することでエラー要因を突き止めることにしました。
以前では、デバッグをクリックした後に、Resume(F8)をクリックしていましたが、下図3の一番右のStep Overという箇所で、一行ずつプログラムを実行する事で突き止めていきます。
STEP Overについて説明します。
STEP Over:一時停止している次の行に進んで一時停止する。対象行でメソッドを呼び出している場合などは、それらの処理をおこなって次の行に進む。
今回は29行目でエラーが出ている為、24行目までStep Overで実行します。Step Overで実行したのちにStep Intoを実行します。
STEP Intoについて説明します。
Step Into:一時停止している次の行に進んで一時停止する。対象行でメソッドを呼び出す場合、呼び出し先のメソッドに入って先頭で一時停止する。
Step Intoで潜っていくと、以下をループすることが分かります。(図4参照)
よってDIOの接続に問題があると推定できます。
3. そこでRSL10-SIP-001GEVBとRSL10-BDK-GEVKのDIOの接続先について調べました。
RSL10-SIP-001BEVBとRSL10-BDK-GEVKのDIOの接続先をまとめたものを図5に示します。
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参照)
5. NOA1305_example用のフォルダを右クリックし、再度Build Projectをクリックします。または、プロジェクトを選択し、[Build Project]をクリックします。
6. ビルドが実行されると、図7に示すようにビルドの出力がオンセミIDE C/C++上で表示されます。
7. プロジェクトエクスプローラー上のDebugフォルダーに出力される主な結果は以下の通りです。図8に示します。
センシングをするにあたって使用するファイルはnoa1305_example.elfになります。
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参照)
11. コンフィギュレーションの更新が完了したら、評価・開発ボードをマイクロUSBケーブルでPCに接続し、デバッグをクリックします。
J-Linkは自動的にnoa1305_exampleというサンプルコードをダウンロードし、RSL10 のフラッシュメモリに保存します。
12. デバッグをクリックした後に、下図10のResume(F8)をクリックします。
13. Resumeクリック後に、下図11のOpen a terminalをクリックします。
14. 動作を確認することができました。(図12参照)
最後に
今回はオンセミ社のRSL10でセンシングをおこないました。次回(第三弾)は、RSL10でBLE通信を用いたデモ環境の構築をおこないたいと思います。
お問い合わせ
今回紹介した内容及び製品にご興味がある方は、ぜひお問い合わせください。
オンセミ メーカー情報Topへ
オンセミ メーカー情報Topに戻りたい方は以下をクリックしてください。