本應用筆記介紹了在ST7 USB微控制器中實現(xiàn)設備固件升級(DFU)功能。它遵循由USB Implementers Forum定義的DFU類規(guī)范,用于通過USB重新編程應用程序。DFU原則特別適用于需要在現(xiàn)場重新編程的USB應用程序:同一個USB連接器既可以用于標準操作模式,也可以用于重新編程過程。
這一操作得以實現(xiàn)是因為大多數(shù)ST7微控制器具有的IAP能力,允許通過任何通信通道對FLASH MCU進行重新編程(更多細節(jié)請參考AN1575)。
DFU過程,像其他任何IAP過程一樣,基于位于ST7 Flash存儲器扇區(qū)0中的固件的執(zhí)行,該固件管理扇區(qū)1和2的Flash操作(擦除和編程)。
本應用筆記涵蓋了兩個主要方面:
- 位于扇區(qū)0的固件
- 扇區(qū)1和2中固件與扇區(qū)0中固件之間的接口
提出的實現(xiàn)示例使用了兩個不同的項目:USB低速設備評估套件和ST7265全速5合1演示板。在本文檔中,將這些項目稱為“LS項目”和“FS項目”。
這些項目中還使用了基本的DFU協(xié)議。實現(xiàn)中使用的模塊化方法基于DFU庫,使您可以輕松適應其他更高級別的協(xié)議或新類型的硬件。