需要一个stm32f407vet6 的串口Ymderm升级bootloader,采用stm32f407 标准库实现
(1) 进入bootloader 方式:
通过上电启动时,判断按键是否按下。按键按下进入bootloader, 否则直接进入应用程序
优点:启动延时为0, 不会对正常应用程序启动造成延时
(2)升级方式:
通过Ymoderm 通信把 bin 文件发送到stm32f407 的Ram 里面保存。因为Ram 空间只有192k, (64k) 为固定不可以用。所以定义了应用程序的最大为120Kbyte.
(3) 升级方式:
串口输入1:Ymoderm 发送 bin 文件到RAM
串口输入2: 烧录 RAM 到 flash , flash地址为:80008000。(应用程序的偏移地址)
串口输入3: 运行应用程序
(4)应用程序偏移设置:
KEIL 设置
keil 下载设置
设置这个可以让应用程序在下载时可以直接运行。
(5) stm32f407 的flash 操作
flash FLASH_Unlock(); 解锁后 ,必须FLASH_DataCacheCmd(DISABLE);
烧录完成后, FLASH_Lock(); 前必须 FLASH_DataCacheCmd(ENABLE);
(6) Ymderm 串口终端
串口终端配置波特率: 115200n81。
超级终端
或者secureCRT
进入bootloader 界面后,按数字按键1, 进入Ymoderm 传输
发送完毕后按数字键:2
烧录完成后按数字键:3 运行程序
代码: