本应用笔记介绍了在ST7 USB微控制器中实现设备固件升级(DFU)功能。它遵循由USB Implementers Forum定义的DFU类规范,用于通过USB重新编程应用程序。DFU原则特别适用于需要在现场重新编程的USB应用程序:同一个USB连接器既可以用于标准操作模式,也可以用于重新编程过程。
这一操作得以实现是因为大多数ST7微控制器具有的IAP能力,允许通过任何通信通道对FLASH MCU进行重新编程(更多细节请参考AN1575)。
DFU过程,像其他任何IAP过程一样,基于位于ST7 Flash存储器扇区0中的固件的执行,该固件管理扇区1和2的Flash操作(擦除和编程)。
本应用笔记涵盖了两个主要方面:
- 位于扇区0的固件
- 扇区1和2中固件与扇区0中固件之间的接口
提出的实现示例使用了两个不同的项目:USB低速设备评估套件和ST7265全速5合1演示板。在本文档中,将这些项目称为“LS项目”和“FS项目”。
这些项目中还使用了基本的DFU协议。实现中使用的模块化方法基于DFU库,使您可以轻松适应其他更高级别的协议或新类型的硬件。