DFU(Device Firmware Upgrade)
詳細情報
- 開発元
- USB Implementers Forum
- 種類
- USBデバイスクラス
専用の書き込み器なしで、機器に新しいファームウェアを書き込むための標準USBクラス。
USB-IFがこのクラスを定めたのは、ベンダーごとに独自の更新プロトコルを作らずに済むようにするためだ。デバイスはDFUモード、多くは保護されたフラッシュ領域にあるブートローダで再起動し、別のUSBデバイスとして再列挙され、ファイルを受け取ってブロックごとに書き込む。ホスト側ではdfu-utilのような汎用ツールが処理する。
STM32の複数のファミリーを含む多くのマイコンは、書き換え不能なROMにDFUを持っており、更新に失敗しても文鎮化しにくい。iPhoneにも同じ発想のDFUモードがある。セキュリティ面では、これは扉でもある。署名検証がなければブートローダはどんなファームウェアでも受け入れてしまう。本格的な製品がDFUとセキュアブートを組み合わせるのはそのためだ。