先日、購入したFRDM-KL25ZのKinetisが使い物にならなくなりました。誤ってフラッシュのセキュリティ設定をしてしまい、フラッシュへの書き込みができなくなってしまったのです。
ねむいさんの記事を読んでいたんので、Kinetisではこういうことが起こりうるということは知っていましたが、まさかこんなに簡単に自分がそういう目に会うとは。。
何も特別なソフトを作ろうとか、FSECレジスタを操作しようとしていたわけではありません。普通にGCCでビルドした結果を、OpenSDAのMSCドライバを使って書き込もうとしただけです。Windows上の操作としては、hoge.srecをFRKL25ZボードのドライブにDrag&Dropしようとしただけです。とっても簡単な操作で書き込みできるので、便利ではあるのですが、そこに大きな落とし穴がありました。
本来はhoge.srecをコピーしなくてはいけないのですが、自分でも気づかないうちにhoge.elfをドラッグして落としてしまったのです。コピーが終わってもソフトが動き始めないので、最初は何が起こったのかわかりませんでした。誤ってhoge.elfをコピーしたことに気付いたので、hoge.srecをコピーしたもののやはり動きません。コンパイル済みのサンプルLチカをコピーしてもやはり動きません。こうして、「どうやら壊してしまったようだ」と腹をくくるに至ったのです。
確認のために、CrossWorksにJTAGでつないでみると。。
あぁ、やっぱりセキュリティビットが設定されていたようです。試しにクリアーを試みてみたものの。。。
うぎゃー、やっぱりダメです。ログを確認してみると、
クリアに失敗しています。クリアもさせてくれないなんてあんまりだぁ。
こうして、わがFRDM-KL25Zは文鎮と化しました。せっかくJTAG用ヘッダを2つもハンダ付けしたのに、まっとうにJTAGを使ったのは、この死亡診断だけでしたよ。シクシク。
文鎮化することを英語では
Bricked
と言うようです。
FRDM-KL25Z bricked
で検索してみたら、自分と同じように誤ってELFを書き込んだという人を見つけることができました。「この世界には同じ過ちをおかした人がいるんだ」ということを知ることができただけでも、心が癒されるのでした。