Bootlin 發布了 Snagboot 工具包的首個版本,該工具包旨在恢復和重新刷新因韌體損壞等原因而停止啟動的嵌入式裝置。 Snagboot 使用 Python 編寫,並根據 GPLv2 許可證開源。
大多數嵌入式平台都提供 USB 或 UART 接口,用於在韌體損壞時恢復操作和傳輸啟動映像,但這些接口因平台而異,需要使用與各個製造商產品綁定的實用程式進行恢復。 Snagboot 類似於一些專門的、大多是專有的、用於恢復和刷新設備的實用程序,例如 STM32CubeProgrammer、SAM-BA ISP、UUU 和 sunxi-fel。
Snagboot 旨在相容於各種主機板和嵌入式設備,讓嵌入式開發人員無需學習不同實用程式的特定使用方法。例如,snagboot 的首個版本可用於恢復基於 SoC ST STM32MP1、Microchip SAMA5、NXP i.MX6/7/8、Texas Instruments AM335x、Allwinner SUNXI 和 Texas Instruments AM62x 的裝置。
該工具包包括兩個用於下載和刷新的實用程式:
- snagrecover - 使用製造商特定的機制與 ROM 程式碼協同工作,以初始化外部 RAM 並啟動 U-Boot 引導程序,而不更改永久記憶體的內容。
- snagflash - 與正在運行的 U-Boot 交互,使用 DFU(裝置韌體升級)、UMS(USB 大容量儲存)或 Fastboot 將系統映像刷入非揮發性記憶體。
來源: opennet.ru
