DFU (Device Firmware Upgrade)
Więcej informacji
- Twórca
- USB Implementers Forum
- Typ
- Klasa urządzeń USB
Standardowa klasa USB do wgrywania nowego firmware’u do urządzenia bez dedykowanej sondy programującej.
USB-IF zdefiniowało tę klasę, by każdy producent nie wymyślał własnego protokołu aktualizacji. Urządzenie restartuje się w tryb DFU — zwykle to bootloader w chronionym obszarze flasha — i ponownie się enumeruje jako inne urządzenie USB, które przyjmuje plik i zapisuje go blok po bloku. Po stronie hosta robi to ogólne narzędzie, takie jak dfu-util.
Wiele mikrokontrolerów, w tym kilka rodzin STM32, nosi DFU w pamięci ROM, której nie da się nadpisać, więc nieudana aktualizacja nie jest w stanie trwale „ubić” urządzenia. iPhone’y mają własny tryb DFU oparty na tym samym pomyśle. Z punktu widzenia bezpieczeństwa to drzwi: bez sprawdzania podpisów bootloader przyjmie dowolny firmware, dlatego poważne produkty łączą DFU z secure boot.