MDBT50Q-DB-33(nRF52833)でUSBにprintkで文字列を出力する
nRF52833にCMSIS-DAPデバッガをつないでVSCodeでデバッグの最後のほうで、nRF52833評価ボード(MDBT50Q-DB-33)でprintk出力する際にFTDIのUSBシリアル変換ICのボードを使ったわけだけど、nRF52833にはUSBポートあるので、そこから出力できないものかって思う。
ところで、MDBT50Q-DB-33は台湾のRaytocってところが作っていて本家はこちら(https://www.raytac.com/product/ins.php?index_id=97)。スイッチサイエンスや共立エレショップで4000円程度で購入できる。Nordic製のnRF52833 DKはDigikeyで8000円程度で購入できる。本家のほうがドキュメントとかexampleとかが充実しているので安心なんだけど、安いのを使いこなすってスキルも必要かなっと(単なるお財布事情を高尚に語る)。
では、、、とはいえ、実は、それらしいexampleがあるので、これがMDBT50Q-DB-33で動けばオkなわけで、しかもnRF52833 DKのボードコンフィグで動くのではないかと、HP見るとUSBのD+/D-が単につながっているだけだし、動く確信をもって、それを確認するだけ。
VSCodeを起動して、Nordicのアイコンを押す。
Create a new application
Copy a sample
Consoleって入力して、Console over USBを選択
フォルダを決めて(通常はそのまんまおすすめされた通りでもいい)、エンター
当然、Open
これ↓は無視
Nordicアイコンを再び押す
Add build configuration
Board targetのドロップダウンリストに52833と入力して、nrf52833dkを選ぶ(MDBT50Q-DB-33も選択できるんだけど、あえて)
下のほうまでスクロールしてBuild Configuration
ターミナルを見ると、なんじゃかんじゃやっていることがわかる
で、おわった的なことがわかる
デバッグボタンを押す
launch.jsonファイルを作成します。を押す
ここでの選択は全く意味ないけどCortex Debugを押す
エディタにlanuch.jsonが開くので、これを入力(てかコピペ)
今回もCMSIS-DAPと化したSeeeduinoXIAOを使う
-
{
-
"version": "0.2.0",
-
"configurations": [
-
{
-
"name": "Cortex Debug",
-
"type": "cortex-debug",
-
"request": "launch",
-
"servertype": "openocd",
-
"cwd": "${workspaceRoot}",
-
"executable": "${workspaceFolder}/build/zephyr/zephyr.elf",
-
"configFiles": [
-
"interface/cmsis-dap.cfg",
-
"target/nrf52.cfg"
-
],
-
"runToEntryPoint": "main",
-
"postRestartCommands": [
-
"break main",
-
"continue"
-
],
-
"serverpath": "/usr/bin/openocd", // OpenOCDのインストールパス
-
"gdbPath": "/home/hoge/ncs/toolchains/e9dba88316/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb", // GDBのパス
-
"armToolchainPath": "/home/hoge/ncs/toolchains/e9dba88316/opt/zephyr-sdk/arm-zephyr-eabi/bin/" // ARMツールチェーンのパス
-
}
-
]
-
}
再生ボタンを押す
mainの最初の命令で自動的に止まる
この段階ではそれらしいUSBデバイスは接続されていないかんじになてる
再生ボタンを押す
それらしいのが現れた
VSCodeのシリアルモニターを開いてそれらしいポートを設定して監視の開始を押す(VSCode内じゃなくてもお好みのターミナルソフトでも当然ok)
こんな感じでちゃんと出力されてますイイネ
ところで、わたくしは、Nordicの回し者ではない。たまたまそろそろBLEに取り組もうかなと思って最初に入手したのがSeeeduino XIAO BLE nRF52840だったからその流れで。BLEのチップってあちこちのICメーカがあるよね、、、大手だとNordicとか???とか??とか。???は仕様がほとんど開示されていなくて、ホビーユーザーには敷居が高い。??はアレだし。ホビーユーザーは自然とNordic一択かも。
コメントをお書きください