Mbedのプログラムをデバッグするのに、最初、Mbed-CLIをインストールし、しかし、CLIに根気が(記憶力が)続かず。次にSW4STM32に手をだし、普通にEclipseのGUIからデバッグ出来て目出度し、となりました。でも、Mbedご本家にもデバッグ可能でローカルなGUI開発環境
Mbed Studio
があるではありませんか。ただし、まだベータ版。公式なリリースになれば整うのかもしれませんが、現時点では私の希望が皆通るわけではございませんです。
※「鳥なき里のマイコン屋」投稿順Indexはこちら
まずは、インストールした Mbed Studioのバージョン表示を確認しておきましょう。0.5.3が1.0.0までどのくらいの「距離」なのかは私には想像がつきませんが、まだ「少し」ギャップがあるものと理解させていただきます。
インストールしてみたのは、Windows版ですが、特になんのトラブルもなく、インストールして、起動できました。EclipseベースのIDEばかり見ているとちょっと画面構成が新鮮です。黒を基調にしたシンプルなウインドウもカッコイイ。この環境の「売り」の一つは、
ARMの純正コンパイラ、それもサイズ制限なしが付属
です。いや、なかなか太っ腹。その上、どうもWeb開発環境では、バージョン5であったコンパイラが、Mbed Studioではバージョン6になっています。これだけのためにこちらの環境使うのもありかも。
また、別な売りは
USBに接続すれば、自動でボードを識別する
という機能。Web開発環境では、多分数百もあるサポート対象の中から自分でターゲットを選ばないとならないですが、Mbed Studioは自動で認識すると。実際、Nucleo-F401RE を接続してみます。
御覧のとおり、Targetの欄に、黄色のUSBで接続されているよアイコンとともに
NUCLEO-F401RE
の文字が表示されます。S/Nまで表示されるので、「詳しく」調べた結果として認識されていることが期待できます。が、しかし、ちゃんと認識してくれるにも関わらず、
このボードは、現在のMbed Studioのサポート対象外
だったります。なぜなら、悲しいお知らせが、接続すると自動的にOUTPUTウインドウに出力されてしまっています。
デバッグをサポートしていない、と断言されてしまいました。ちゃんとSW4ETM32からはOpenOCDとGDBでデバッグできるのですけどね。どうも、現時点のMbed Studioが要求するデバッグの仕様はかなりキツイように見えます。
Nucleoシリーズの数あるボードのうち、1機種だけサポート対象
です。まだ、ベータ版なので、サポート対象を絞り込んでいるためなのか、それとも、Mbed Studioで開発を想定しているようなシステムの要求仕様からくるものなのかは分かりません。
デバッグはできない(できないので虫マークはアクティブにならない)ですが、ビルドのハンマーマークと、実行(Flashへの書き込み)の右向き三角ボタンはアクティブになります。
ターゲットボードを設定すれば、必要なセットアップが自動的に行われ、ビルド可能な状態になります。
ハンマー叩いてやれば、ビルド進行。ただし、SW4ETM32でもそうでしたが、Mbed OS5のファイル類を端からコンパイルかけていくので、Web開発環境に比べると、かなりビルドに時間がかかります。
コンソールには、ずるずるとコンパイル中のファイル名が作業進捗のパーセンテージとともに流れていきます。右下には
Background Tasks
デバッグはできないのですが、問題なくFlash書き込みしてRunしてくれるので、ビルドに成功すれば即実行可能です。今回は、Mbed OS5のサンプル中のいの一番サンプルプログラム
mbed-os-example-blinky
ですから、仮想端末を接続しておけば、各種の情報が、画面に出力されてきます。こんな感じ。
OSのバージョン、Arm CPUのIDなどに混じって、コンパイラのIDは1(Arm純正コンパイラ)です。バージョンの頭は6。
今のところ、フルにMbed Studioの機能を使えるターゲットボードの種類が限られる(私の手元にはない)ということが、最大の難点。サポート対象の「良いスペック?」のボードを手に入れるべきなのか、それともベータ版が外れるころには、サポートボードの種類が増えてくるのか?今後に期待というところですかね。