先日、購入した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を使ったのは、この死亡診断だけでしたよ。シクシク。
文鎮化することを英語では
何も特別なソフトを作ろうとか、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を書き込んだという人を見つけることができました。「この世界には同じ過ちをおかした人がいるんだ」ということを知ることができただけでも、心が癒されるのでした。