Optiboot
詳細情報
- 開発者
- Peter Knight、Bill Westfield
- 種別
- ブートローダ
- ライセンス
- GPL
- ソースコード
- github.com/Optiboot/optiboot
512バイトのブートローダ。追加のハードウェアなしに、USBケーブル経由でArduinoへの書き込みを可能にする。
先代のブートローダはATmega328Pの32 KBのうち2 KBを食っていた。Optibootは同じ仕事をその4分の1で済ませ、1.5 KBをユーザーのスケッチに返した。これを理由に2010年からArduino Unoの標準になった。Atmel STK500プロトコルのサブセットを115,200 baudで話す。
便利さの仕掛けはチップの外にある。USBシリアルチップのDTR線がコンデンサ経由でリセットにつながっており、ポートを開くとボードが再起動する。Optibootはしばらくデータを待ち、来なければアプリケーションへジャンプする。リセット要因も確認し、ウォッチドッグリセットなら即座にアプリケーションへ進むため、意図的に自分をリセットするファームウェアが書き込みを待って止まることはない。