mbed-KL25Z を動かしてみた
.
mbedがFreescale社のKL25Zに対応したと聞いたので早速試してみた.
Freescale KL25Zの評価基板「FRDM-KL25Z」のデバッガ部のファームを入れ替えることで,この基板をmbed化できる!
(購入したのはココ.国内在庫があった(2013年2月25日現在)ので)
Information
この基板についての情報がSuga koubouさんにより日本語化されています.
『mbed FRDM KL25Z 諸元』
ファームウェアの更新
まずファームウェアの更新が必要.
手順はこのページ( http://mbed.org/handbook/mbed-FRDM-KL25Z-Upgrade )に示されている通り.
ただ,この最初のブートローダを書くときにだけ,Windowsマシンが必要なので,予め用意しておかなくてはなりません.
Information
ファームウェア更新手順の詳細はこちらで.
『mbed FRDM KL25Z ゲッティングスターテッド』
『mbedボード FRDM-KL25Z』
ターゲットの登録
ファームウェアを更新してUSBケーブルを挿し直すとmbedストレージとして認識してくれます.これを開くと中に「mbed.htm」があり,
これを開くと..
- もしログインした状態で開いたのなら,
- このページ「mbed FRDM KL25Z Introduction」が開く.
- これと同時にコンパイラのターゲット設定も自動で追加されるようです.
- そうでなければ
- ユーザ登録画面に行くようです.
Information
これまでのmbed(青とか黄とか)では1個の基板で1アカウントにしかターゲットを登録できませんでしたが,このmbed-KL25Zでは複数のアカウントにターゲットを追加できるようです (mbed 2.0でリニューアルされたページで「フリーツール」となったことが説明されていたけど,これはその現れ?).
ターゲットを選択してコンパイル
上記の操作でKL25Zをターゲットとして登録し終わると,コンパイラページで選択可能になっています.
コンパイラページのNewボタンで新しいプログラムを作って,KL25Z用にコンパイルすると*.binファイルが降ってきます.
実行ファイルをターゲットにコピー,実行
マウントされたMBEDストレージに先ほどのbinファイルをドラッグ・アンド・ドロップ.
これでファイルが保存され,リセットを押すとプログラム実行が始まるのかと思いきや,ストレージは一旦アンマウントされて再度マウントされました.中を開いてみると.. ファイルが消えてる (@o@)/
ちょっとビックリしましたが,どうやらそういう仕様みたい.
その後,SW1(ファームのアップデートのとき使った,あのボタン)を押したり,USBケーブルを抜き差ししたりすると目出度くプログラムが実行されます.
下の写真はLEDチカチカ(Lチカ)プログラム実行中の様子
printfもこれまで通り
Information
ちなみにストレージには非対応なのかなと思い,サンプルコードをインポートしてライブラリをアップデートし,コンパイルしてみたけど「LocalFileSystemが定義されていない」というエラーが出た.
回路図を見ると2MBのSPI接続のフラッシュが搭載されているので,今後サポートされるといいなぁ..なんて思います.
Twitterで指摘をいただきました.実機ではフラッシュメモリが未実装とのこと. (いま手元に基板がないので確認出来次第訂正します)
確かに実回路上では実装されていませんでした.ご指摘ありがとうございました m(_ _)m [2013/03/01追記]
Information
mbed-KL25ZはUSBツリーの中でどのように見えるのかと思い,確認すると「MBED CMSIS-DAP」の文字が!
オフラインデバッガも使えそうです(^ ^)
Information
RGBの青色LEDの点灯はデフォルト・プログラムのLED1の指定でできたけど,その他LED1〜LED4がどのように接続されているのかを確認してみました.
しかし回路図を見ても4個目のLEDが無さそうなのでヘッダファイルも見てみます.
ヘッダファイルを見るには..
プログラムをたとえばKeil uVision4用にExportするとヘッダファイルをローカルに持ってこれます.これを解凍して中を見てみるとmbed/KL25Z/PinNames.hというファイルがあるのでこれでLED1などの定義を見ることができます.
これを見るとLED3とLED4は同じLEDが指定されていることがわかりました.
それから「LED_BLUE」のように色名でLEDを指定できるのは便利ですね!
LED name definition part in mbed/KL25X/PinNames.h
// mbed original LED naming LED1 = LED_BLUE, LED2 = LED_GREEN, LED3 = LED_RED, LED4 = LED_RED,
ちなみにLEDのONとOFFは
- 1と書くとOFF
- 0を書くとON になっていて,青や黄色のmbedとは論理が逆になってます.
これは単純にマイコンのポートがKL25Zではカソード側に接続されて電流を引っ張る側になっているため.
青や黄ではアノード側から電流を流すように接続されています.
青いmbedのLEDの接続
FRDM-KL25ZのLEDの接続 (LEDの部分のみ)
Information
あとから気づいたんですけど,このボード用のサンプルコードが用意されているみたいです
Please log in to post comments.