netduinoのブートローダを書き換えたり何らかの理由で消えてしまった場合の復旧方法
Windowsユーザの方が圧倒的に多いはずなので、参考までに復旧方法を書いておきます。macユーザもbootloaderの消去方法は同じです。
netduino bootloaderはATMEL ARM7バイナリ用で*.bin形式バイナリファイルで提供されています(例えばここのTinyBooterDecompressor_v4.1.0.3_BETA_B2 など)。
復旧に必要なソフトを用意します。
- SAM-BA
- MFDeploy.exe (netduinoを使う際に.NET Microframework SDKをインストール済みのはずなので、デフォルトではC:\Program Files\Microsoft .NET Micro Framework\v4.1\Tools\MFDeploy.exe にあるはずです)
- TinyBooterDecompressor (例えばここにあるブートローダ*1。 SAM-BA.exeでnetduinoに書き込みします)
- NetduinoFirmware(例えばここにあるファームウェア。MFDeploy.exeでnetduinoに書き込みします)
用意ができたら、さっそく復旧です。流れは以下の通り
- netnuinoのブートローダを消去(詳細後述)
- bootloaderの書き込み(via. sam-ba.exe )
- Netduino Firmwareの書き込み (via. MFDeploy.exe)
具体的に…
- ブートローダの消去は下図の部分をショートさせながら電源を入れます(USBから給電で構わない)。
- netduinoのUSBケーブルを再挿抜
- SAM-BA起動
(connectionに/usb/ARM0/が出てきたら消去成功、出なかったらもう一度消去やり直し)Select your boardは「at91sam7x512-ek」を選択して「connect」
- 書き込み
Flashタブ選択→(ブートローダ)TinyBooterDecompressor選択→「Send File」→「Boot From Flash(GPNVM2)」
- MFDeployをつかってNetduino Firmware書き込み。
*1:ブートローダのありかが見つからない場合、netduinoフォーラムの検索窓で「Firmware」などで探すと良い。