· 

MDBT50Q-DB-33(nRF52833)でUSBにprintk

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を使う
  1. {
  2.     "version": "0.2.0",
  3.     "configurations": [
  4.         {
  5.             "name": "Cortex Debug",
  6.             "type": "cortex-debug",
  7.             "request": "launch",
  8.             "servertype": "openocd",
  9.             "cwd": "${workspaceRoot}",
  10.             "executable": "${workspaceFolder}/build/zephyr/zephyr.elf",
  11.             "configFiles": [
  12.                 "interface/cmsis-dap.cfg",
  13.                 "target/nrf52.cfg"
  14.             ],
  15.             "runToEntryPoint": "main",
  16.             "postRestartCommands": [
  17.                 "break main",
  18.                 "continue"
  19.             ],
  20.             "serverpath": "/usr/bin/openocd", // OpenOCDのインストールパス
  21.             "gdbPath": "/home/hoge/ncs/toolchains/e9dba88316/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb", // GDBのパス
  22.             "armToolchainPath": "/home/hoge/ncs/toolchains/e9dba88316/opt/zephyr-sdk/arm-zephyr-eabi/bin/" // ARMツールチェーンのパス
  23.         }
  24.     ]
  25. }
で、ブツを接続
再生ボタンを押す
mainの最初の命令で自動的に止まる
この段階ではそれらしいUSBデバイスは接続されていないかんじになてる
再生ボタンを押す
それらしいのが現れた
VSCodeのシリアルモニターを開いてそれらしいポートを設定して監視の開始を押す(VSCode内じゃなくてもお好みのターミナルソフトでも当然ok)
こんな感じでちゃんと出力されてますイイネ
 
ところで、わたくしは、Nordicの回し者ではない。たまたまそろそろBLEに取り組もうかなと思って最初に入手したのがSeeeduino XIAO BLE nRF52840だったからその流れで。BLEのチップってあちこちのICメーカがあるよね、、、大手だとNordicとか???とか??とか。???は仕様がほとんど開示されていなくて、ホビーユーザーには敷居が高い。??はアレだし。ホビーユーザーは自然とNordic一択かも。