FRDMボードをmbed.orgの指示通りにmbed化するとwindows10で使えない
volanoにセンサを追加したのでさっさとプログラムをmbed(FRDM-KL25Z)かarduinoで書こうとしたが、一年ぶりぐらいに触ったらどちらもうまく書き込めなかった。
arduinoはブートローダーの焼き直しで直った。なぜかは思い出せないがISP経由で書き込んでAVRボードとして使用していたらしい。
FRDM-KL25Zは
Firmware FRDM KL25Z - Handbook | mbed
の手順でデバッグI/Fにmbed用のファームウェアを書き込む必要があるが、もともとこの作業がwindows7以前のOSでないとうまくいかないという問題がある。ので、たまたま手に取ったボードがその作業を完了していないだけだろうと思ってデスクトップのwindows7マシンでファームを書き直した。そのままwindows7経由でBlinkyを書き込んだところ正常に動作した。
しかし、windows10のマシンにつなぐとKL25Zの動作は停止、デバッグI/FはmbedのMSDブートローダーが認識されてこそいるがここにファイルをコピーしてもKL25Zに書き込まれる様子がない。そもそもデバッグI/Fとの接続が定期的に切れる。何かがおかしい。
色々試した結果、結局
のOpenSDA Firmware(MSD & Debug)からのリンクでダウンロードできる
”MSD-DEBUG-FRDM-KL25Z_Pemicro_v118.SDA”
を書き込み、mbed I/FではなくOpenSDAのMSDブートローダーを使うようにするとmbed compilerで作成したファームも正しく書き込みができるようになった。
FRDM-K64Fも持っている。怪しいから一応作業しておこうとmbed.orgの手順を探した。
OpenSDA Serial and Debug Adapter|NXP
に手順があるが、なんか折りたたまれている部分に赤字でバグがある旨が書いてある。そんな重要な情報を折りたたむな。
Freedom OpenSDA Firmware Issues Reported on Win... | NXP Community
要約すると
「CMSIS-DAP v2.1のブートローダー書き込んだままwindows10に接続するとブートローダーが破壊される可能性があるよ!直り次第ASAPでアップロードするから!それまではwindows10につなぐ前にSegger JLink or P&E OpenSDA applicationをwindows10以外のマシンで書き込んでから使って!」
最終更新日20160801。ASAP、できるだけ早く(急ぐとは言っていない)。なるほどね。一応下のほう見るとv2.2 betaみたいなのにたどり着くことができるが…
P&E OpenSDAはKL25Z用にダウンロードしていたので"MSD-DEBUG-FRDM-K64F_Pemicro_v114.SDA"を書き込もうとしたが、ブートローダーのMSDに容量不足とか言われて拒否される。結局JLinkのファームを使うとMSDのブートローダーが使用可能になった。
最近全然趣味でマイコンを触っていなかったので思わぬところで苦戦してしまったがこれでまたいろいろいじれるようになる。