トランジスタ技術10月号でmbed特集をやっている。いままではmbedってなんか共通開発プラットフォームみたいな理解だったけど、ARMの勉強をしようと思って開発環境を立ち上げようってことになって、「STM32マイコン徹底入門」とか読み始めて気付いた。うーん、開発環境を立ち上げるのがしんどい。PICのときは書き込みツールやボードも購入して準備したけど、いまからそれを全部準備するのはさすがに。で、mbedってそんなに楽ならやってみようってことになったわけ。また、mbedボードで一番安いと思われるSTマイクロ製のNucleo(¥1500)を購入した。以下はそんなmbedの覚書。
STマイクロのホームページから、Nucleo L152REのページへ行ってドライバとか、最新ファームウェアを入手。
このページの下の方に、
リンクがあるので、以下の順で準備していく。
1.USBドライバのインストール
上記のページから
STSW-LINK008 ST-LINK/V2-1 USB driver on Windows Vista, 7 and 8
からドライバーをインストール。32bitOSならdpinst_x86.exeを、64bitOSならdpinst_amd64.exeを実行する。
いくつか質問されるが、”はい”を押して続行。
問題なく、インストールできたら、いよいよNucleoをPCに接続する。認識がされればOK。
ボードにあるLEDのLD1とLD2が、赤く点灯していれば問題無し。LD2はユーザコントロールなので、ボードによって違うかもしれないが、デフォルトでは緑が高速に点滅していた。
2.ファームウェアのアップデート
次はファームウェはのアップデートである。やはり、STマイクロのホームページから、
STSW-LINK007 ST-LINK/V2-1 firmware upgrade
から最新ファームウェはを入手。ボードを接続した状態でST-LinkUpgrade.exeを実行。
まず、Device Connectのボタンをおして、接続されるのを確認。そのあと、”Yes >>>>”というボタンを押せば書き込みが実行される。この時点のバージョンは、V2.J23.M6だった。
問題なければ、以下のようにSuccessfulというメッセージがされる。
3.Online IDEを使う
いよいよプログラムである。
https://developer.mbed.org/
へ行ってログイン。当然、はじめてななのでSignUpを選んで、ユーザ情報を入れてアカウント作成。
ここで、メールアドレス等を入れればほんの数分でアカウント作成完了。
自分のPlatformを選んで、”New Program…”を選び、templateとして”Blinky LED Hello World”を選択。
あとは、”Compile”すればコンパイルされた結果のバイナリデータファイルがダウンロードできる。
プログラムの書き込みは、WindowsにUSB接続されてリムーバルディスクと認識されているフォルダに書き込むだけでよい。ファイル名が関係あるかと思ったけど、どんな名前でも良いみたい。書き込んでみてもう一度フォルダーの中身を見てみるとファイルは消えている。どうも、書き込んだあとにファイルとしては無くなるみたいだ。
最初はだれもが実行するLEDの点滅。サンプルのプログラムの中にあるので、即実行できる。
たった、これだけのコードなのだが、動くのは初めてだとうれしい。
次はシリアル通信で、printfを見てみよう。このプログラムサンプルにすでにある。
“compile”して実行するのは、前と同じであるが、今回は実行してprintfの結果をUSB経由のシリアル通信で見ることにする。って、別にUSB-シリアル変換を使うのでなく、今回インストールしたST-LINKはUSBをシリアル通信として接続できる。
TeraTermを起動して、最初のメニューでシリアルを選べばOK。ただ、ボードの電源を入れたときとか、ときどきシリアルポートが認識されないことがあったのは、原因不明である。TeraTermを接続状態にしておけば、
なんて感じで実行ログが見れる。今日はこのくらい。次はブレッドボードを接続してみたい。