マイコンといえばPICばかり扱ってきましたが、他のも弄ってみようと少し前からARM系のマイコンボードを購入していました。そのなかでもmbed対応のマイコンボードで、STMicroelectronics社のSTM32マイコンボードNucleoは秋月やそのほかでも1500円前後で手軽に入手できます。今回はマルツで購入しました。
モノはST Nucleo F401REで、ARM Cortex-M4 84MHz Flash 512KB SRAM 96KBと上位モデルになります。
mbedはPC自体に開発環境を置かずに、ブラウザ上でコードを記述したりコンパイルして実行ファイルをダウンロードし、Drag&Dropでマイコンボードに転送して即実行できるという非常に便利な環境になっています。
しばらくボードはそのままになっていましたが、G+つながりでにわかに流行りだした(笑)ので自分も乗っかってみたという次第です。
スタートは比較的容易です。
mbedのサイトでユーザー登録してログインし、右上のCompilerをクリックすると開発画面が別タブで出てきます。mbedマイコンボードのUSB端子からPCにつなぐとドライバーがインストールされ(モノによっては(Nucleoの一部など)ファームウエア更新が必要。ですがサイトに手順が載っています)USB大容量記憶装置(ドライブ)として認識されます。PCで認識されたドライブを開いて中にあるmbed.htmをダブルクリックするとmbed開発環境がマイコンボードを認識してくれます。後々別のmbed対応ボードの追加も可能です。
開発に当たってライブラリやサンプルプログラム、公開されたほかの人のプログラムもインポート可能でチュートリアルも充実しており、開発効率は良いと考えます。
そこで早速、基本のLチカとDDS版Lチカ(笑)やってみました。
mbed.hという基本のインクルードファイルを導入し、PICで記述したDDSへのシリアル送信部分と周波数設定関数はほぼそのまま、出力ポートの設定のみであっさりとコンパイル通りました。(変数の型についてWarningでましたが)
コンパイルが通ると自動的に実行ファイル(*.binファイル)がダウンロードされるのでマイコンボードのドライブにファイルをDrag&Dropすれば、転送されて即実行されます。
NucleoからBB上のAD9834のモジュールに通信ラインを接続して電源を入れ、設定周波数どおりのDDS信号が出ました。
言語がC++なので多少修正は必要かもしれませんが、今までのPICのプログラムソースが使えそうです。また逆にmbedで開発した資産もPICでも使えてソースが相互に利用できそうでなかなか良さそうに思えました。
Cortex-M4搭載なのでDSPも簡単に使えたらいいなぁ...←欲張りhi
秋月から同じ物を入手して”お試し”をしてみました。一日かかってやっとvirtual serial portが動きました。参考のためトラ技を久しぶりに買ったのですが昔に比べてかなり薄くなりましたね。
返信削除GYEさん、コメントありがとうございます。
削除mbedはPCにいちいち開発環境をインストールしなくても済み、ブラウザさえあればどこでも開発が出来るのが面白いですね。最近トラ技は毎月チェックしています。薄くなったので持ち運びもしやすくなりましたhi