Visual StudioでRTApp(RTCore)をデバッグ実行したときの振る舞い
前記事。
以前は、HLApp(HLCore)のデバッグ実行を見ました。
今回は、RTApp(RTCore)がどう振舞うのかを確認しました。
RTApp (RTCore)をデバッグ実行
初期状態はこちら。デバイスにはHLApp, RTAppとも入っていません。
C:\>azsphere device image list-installed Installed images: --> gdbserver --> Image type: Application --> Component ID: 8548b129-b16f-4f84-8dbe-d2c847862e78 --> Image ID: 2eac78bb-c68c-4aa3-9849-9c82d65d9406 C:\>
サンプルのSamples/HelloWorld/HelloWorld_RTApp_MT3620_BareMetalをデバッグ実行すると、imagepackageがビルドされて、デバイスに転送、アプリケーションが起動します。RTAppと同じですね。
azsphereコマンドで確認すると、HelloWorld_RTApが追加されて、デバッギング状態になっているのが確認できます。
C:\>azsphere device image list-installed Installed images: --> gdbserver --> Image type: Application --> Component ID: 8548b129-b16f-4f84-8dbe-d2c847862e78 --> Image ID: 2eac78bb-c68c-4aa3-9849-9c82d65d9406 --> HelloWorld_RTAp --> Image type: Application --> Component ID: d3b80666-feaf-433a-b294-6a5846853b4a --> Image ID: 907893dd-a830-4e97-8eee-3766eaeadf0c C:\>
C:\>azsphere device app show-status d3b80666-feaf-433a-b294-6a5846853b4a: App state : debugging GDB port : 2345 Output port : 2342 C:\>
前記事のHLAppと比較すると、Image type、App stateの表記が同一で、HLAppなのかRTAppなのかパッと見では分かりませんね。
Visual Studioのデバッグを停止すると、イメージは残ったままで、実行状態がdebuggingのまま。HLAppのようにstoppedに変化しませんでした。
C:\>azsphere device image list-installed Installed images: --> gdbserver --> Image type: Application --> Component ID: 8548b129-b16f-4f84-8dbe-d2c847862e78 --> Image ID: 2eac78bb-c68c-4aa3-9849-9c82d65d9406 --> HelloWorld_RTAp --> Image type: Application --> Component ID: d3b80666-feaf-433a-b294-6a5846853b4a --> Image ID: 907893dd-a830-4e97-8eee-3766eaeadf0c C:\>
C:\>azsphere device app show-status d3b80666-feaf-433a-b294-6a5846853b4a: App state : debugging GDB port : 2345 Output port : 2342 C:\>
もしかして、動き続けているのかな?
このサンプルは、IOx_TXDに"Tick", "Tock"を送信し続けるというものなので、IO0_TXD(H3.6)とIO1_TXD(H3.8)にロジアナを繋いで確認することに。
Visual Studioでデバッグ実行中は、、、IO0_TXDへメッセージが送信されています。
では、Visual Studioのデバッグを停止すると、、、
計測できず。
ということは、App stateはdebuggingだが、実行自体は停止されている、ということでした。
では、ここでデバイスのUSBを抜き差ししてみます。
動いてる。
ステータスは、runningになっていました。
C:\>azsphere device app show-status d3b80666-feaf-433a-b294-6a5846853b4a: App state: running C:\>
結果
要約すると、
- Visual Studioでデバッグ実行すると実行イメージが転送され、デバッギング状態に
- デバッグを停止してもデバッギング状態のままだが、実行は止まる
- USB抜き差しすると実行状態に
あと、ロジアナのプローブをIO0_TXDとIO1_TXDのどちらに接続するのか分からず。
実行しているRTCoreによってピンが違うのだろうと思いましたが、azsphere device app show-status
でどちらのRTCoreで動いているか表示されないのでorz
ちなみに、アレコレと試したところ、手動で実行状態にするときには表示されました。
C:\>azsphere device app start -i d3b80666-feaf-433a-b294-6a5846853b4a d3b80666-feaf-433a-b294-6a5846853b4a App state: running Core : 0 C:\>