Compania Bootlin a publicat prima versiune a instrumentului Snagboot, destinat restaurării funcționării și reprogramării dispozitivelor încorporate care nu mai pornesc, de exemplu, din cauza coruperii firmware-ului. Codul Snagboot este scris în Python și este disponibil sub licența GPLv2.
Cele mai multe platforme încorporate, în caz de corupție a firmware-ului, oferă interfețe funcționale prin USB sau UART pentru restaurarea funcționării și transferul imaginii de boot, dar aceste interfețe sunt specifice fiecărei platforme și necesită utilizarea utilitarelor de restaurare legate de produsele anumitor producători. Snagboot servește ca un analog al utilitarelor specializate, în principal proprietare, pentru restaurarea și reprogramarea dispozitivelor, cum ar fi STM32CubeProgrammer, SAM-BA ISP, UUU și sunxi-fel.
Snagboot este conceput pentru a funcționa cu o gamă largă de plăci și dispozitive încorporate, ceea ce scapă dezvoltatorii de sistemele încorporate de necesitatea de a studia specificul utilizării diferitelor utilitare. De exemplu, prima versiune Snagboot poate fi utilizată pentru restaurarea dispozitivelor bazate pe SoC ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI și Texas Instruments AM62x.
Instrumentul include două utilitare pentru încărcare și reprogramare:
- snagrecover — folosește mecanisme specifice diverșilor producători pentru a lucra cu codul din ROM pentru a inițializa memoria RAM externă și a porni bootloader-ul U-Boot fără a modifica conținutul memoriei permanente.
- snagflash — interacționează cu U-Boot pornit pentru a programa imaginea de sistem în memoria nealterabilă, utilizând DFU (Device Firmware Upgrade), UMS (USB Mass Storage) sau Fastboot.
Sursa: opennet.ro
