准备工作:
1.STM32F4开发板
2.USB转串口工具
3.MDK Keil5
4.CubeMX
5.secureCRT上位机软件
目录
工程下载地址:
顶部 往上看.......
一、CubeMX的配置
需要配置IAP和APP两个工程,这两个工程的配置都比较简单
1.IAP
打开CubeMX软件,选好芯片型号,这里我的芯片型号是STM32F405RGT6
配置时钟
配置主时钟,我配置的是内部时钟,主频为168MHz
配置串口
我这里配置的是串口1,对应引脚为PA9和PA10,波特率为115200,串口采用轮询的方式通讯,不采用中断的方式,故不配置串口中断,其他默认
代码生成
H和C文件分开,配置完成后,生成代码,为后续IAP移植修改作准备
2.APP
需要再配置一个APP工程,做一个简单的APP,就是让一个LED灯不断闪烁。
这里简单的配置了PB12口为输出,作为LED灯,其他配置过程这里就省略了。
二、移植Ymodem官方代码
1.文件移植
打开之前生成好的IAP工程目录,在该目录下新建一个Ymodem的文件夹
打开我们从官网下载好en.stsw-stm32067官方固件库,将en.stsw-stm32067->STM32F4xx_AN3965_V1.0.0->Project->STM32F4xx_IAP下的inc和src文件夹中的部分文件复制到新建的Ymodem的文件夹中
复制完的Ymodem的文件夹内容如下,一共8个文件
2.MDK文件、路径添加
打开IAP的MDK工程,添加一个Ymodem组,将Ymodem文件夹中的.c文件添加进去
添加Ymodem文件夹中的.H文件的路径
三、测试
打开secureCRT上位机软件,选好端口,设置好波特率,去掉RTS/CTS的勾,点击连接,如下图
点击选项,选择会话选项,弹出如下窗口,按下图设置好,点击确定
将IAP代烧录到开发板,代码开始执行后,如下图
在下方窗口输入1,此时串口不断接受到'C',如下图所示
选择传输,点击发送Ymodem
选择添加好APP生成的bin文件,点击确定
等待一段时间,等待擦除flash,就会完成传输,此时,在下方窗口输入3,即可运行APP
结束。。。。。。。。。。。。