如图所示,当PD3为低电平的时候,USB接口供电,即可用,这一点在上一篇文章已经讲解了,我们在STM32CubeMX把这个管脚默认拉低即可。
3、分析问题、分析问题
STM32CubeMX支持了与USB相关的诸多配置功能,请看如下:
由于我们需要使用USB接口来更新程序,所以我们需要在配置USB设备模式的时候给它选择Download Firmware Update Class(DFU)。
1、、USB烧写原理及流程分析烧写原理及流程分析
1.1 烧写原理烧写原理
这点与IAP升级是大同小异的,只不过这里我们使用了USB来烧写,之前写过类似的一篇文章:
带串口屏显示的BootLoader程序开发
在这篇文章里面也介绍了相应的原理,这里就不再重复描述,我们负责把这篇文章里提到的几点实现就可以了。
1.2 程序存储分区程序存储分区
STM32F103ZET6的FLASH容量一共有512KB。
所以,我给BootLoader的大小是64K,也就是0x10000
0x10000转十进制为65536,65536/1024 = 64K
把剩下的空间全部分配给APP,也就是0x70000
0x70000转十进制为458752,458752/1024 = 448K
4、解决问题、解决问题
4.1 配置编写配置编写BootLoader程序的程序的CubeMX工程工程
4.1.1 配置配置RCC时钟时钟
评论0