2015年6月6日土曜日

ARMmbed で .cpp を編集 コンパイルして書き込む FRDM-KL25Z

前記事の最後で、FRDM-KL25Z のコンパイルされたデータ .srec ファイルを OpenSDA 経由で書き込みましたが、今回は、ソースからコンパイルしてターゲットのKL25Z に書き込みます。

まだ、どのツールチェインを自分のメインにするか決めかねています。そこで目にしたのが ARMmbed という仕組みでした。悪くなさそうだと思います。オンラインで全部用意されている環境を利用してコンパイルし、ダウンロードした .bin ファイルをオンボードの KL25Z に書き込みます。
この mbed から出力される .bin ファイルを書き込むのに、OpenSDA のファームウェアを mbed 用のファームウェアに書き換える必要があります。


  • ARMmbed の利用開始
  1. ARMmbedにアカウントを作ります
    ログイン名、メイルアドレス、ログイン用パスワードを設定し、自分のアカウントを作ります。
  2. Compiler ページでターゲットプラットフォームを選択します
    FRDM-KL25Z を選択します。この時点で LED 点滅のソースが現れます(!)
  3. コンパイルしてみます。
    コンパイルというボタンがあるので押してみると、mbed_blinky_KL25Z.bin というファイルがダウンロードされます。ちょっと驚きです。
  • OpenSDA ファームウェアの書き換え
  1. ファームウェアをダウンロード
    プラットフォームのページには個々プラットフォーム依存のファームウェアアップデートの方法などが記載されています。ARMmbed FDRM-KL25Z のページからリンクされている  mbed用 OpenSDA のファームウェアをダウンロードします。https://developer.mbed.org/handbook/Firmware-FRDM-KL25Z
    今日の時点で 20140530_k20dx128_kl25z_if_opensda でした。
  2.  ダウンロードしたファイルを展開します。Zip ファイルです。
  3. FRDM-KL25ZをBootload モードで接続し、ファームウェアを更新します。
    基板上の Reset ボタンを押しながら USB SDA側に接続します。LED が点滅したら RESET ボタンを離します。現れた Flash Drive, Bootloader に展開した 20140530_k20dx128_kl25z_if_opensda.s19 ファイルをコピーします。再度接続すると OpenSDA は新しい mbed 用ファームウェアで動きます。
  • 設計変更、再コンパイルと書き込み
  1. はじめのコンパイル済みデータを書き込みます。
    はじめの手順でダウンロードした mbed_blinky_KL25Z.bin を現れた mbed ドライブ、フラッシュドライブにコピーします。
  2. ターゲットをリセットします。リセットボタンを押すと LED が点滅します
  3. ソースを変更しコンパイルします。
    Line 8, Line 10 あたりの wait(0.2); を wait(2.0); あたりに変更して、再度コンパイルボタンを押します。新しい mbed_blinky_KL25Z.bin がダウンロードされます。
  4. ターゲットを書き換えます
    手順 1に戻り、新しくダウンロードした、mbed_blinky_KL25Z.bin をターゲットに書き込み、基板のリセットボタンを押すと、LED の点滅スピードが変わっていることを確認します。

隔世の感がありますね。
ラップトップからプリンターポートが消え、USB経由の GPIO を何とかしようと苦労していましたが。意外なところで解決策に出会えたような気がします。これなら社内で同僚と使ったりもできそうです。 Arduino IF ピンには馴染めませんが、ここまで流行ってしまうと、もう止めようがありません飲むことにしましょう。

この設計データを、オフラインのツールチェインに組み込む手順も用意されているようです。



0 件のコメント: