mbed-KL25Z を動かしてみた

/media/uploads/okano/dsc_1334l.jpg

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」があり,

/media/uploads/okano/file.png

これを開くと..

  • もしログインした状態で開いたのなら,
    • このページ「mbed FRDM KL25Z Introduction」が開く.
    • これと同時にコンパイラのターゲット設定も自動で追加されるようです.
  • そうでなければ
    • ユーザ登録画面に行くようです.

Information

これまでのmbed(青とか黄とか)では1個の基板で1アカウントにしかターゲットを登録できませんでしたが,このmbed-KL25Zでは複数のアカウントにターゲットを追加できるようです (mbed 2.0でリニューアルされたページで「フリーツール」となったことが説明されていたけど,これはその現れ?).

ターゲットを選択してコンパイル

上記の操作でKL25Zをターゲットとして登録し終わると,コンパイラページで選択可能になっています.

/media/uploads/okano/targets.png

コンパイラページのNewボタンで新しいプログラムを作って,KL25Z用にコンパイルすると*.binファイルが降ってきます.

実行ファイルをターゲットにコピー,実行

マウントされたMBEDストレージに先ほどのbinファイルをドラッグ・アンド・ドロップ.
これでファイルが保存され,リセットを押すとプログラム実行が始まるのかと思いきや,ストレージは一旦アンマウントされて再度マウントされました.中を開いてみると.. ファイルが消えてる (@o@)/
ちょっとビックリしましたが,どうやらそういう仕様みたい.

その後,SW1(ファームのアップデートのとき使った,あのボタン)を押したり,USBケーブルを抜き差ししたりすると目出度くプログラムが実行されます.

下の写真はLEDチカチカ(Lチカ)プログラム実行中の様子

/media/uploads/okano/dsc_1334s.png

printfもこれまで通り

/media/uploads/okano/hello_kz25z.png

Information

ちなみにストレージには非対応なのかなと思い,サンプルコードをインポートしてライブラリをアップデートし,コンパイルしてみたけど「LocalFileSystemが定義されていない」というエラーが出た.
回路図を見ると2MBのSPI接続のフラッシュが搭載されているので,今後サポートされるといいなぁ..なんて思います.
Twitterで指摘をいただきました.実機ではフラッシュメモリが未実装とのこと. (いま手元に基板がないので確認出来次第訂正します)

確かに実回路上では実装されていませんでした.ご指摘ありがとうございました m(_ _)m [2013/03/01追記]
/media/uploads/okano/dsc_1347.jpg

Information

mbed-KL25ZはUSBツリーの中でどのように見えるのかと思い,確認すると「MBED CMSIS-DAP」の文字が!
オフラインデバッガも使えそうです(^ ^)
/media/uploads/okano/usb-tree.png

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の接続
/media/uploads/okano/blue_led_conn.png

FRDM-KL25ZのLEDの接続 (LEDの部分のみ)
/media/uploads/okano/kl25z_led_conn.png

Information

あとから気づいたんですけど,このボード用のサンプルコードが用意されているみたいです


Please log in to post comments.