前两天分享的STM32 IAP升级的程序,有读者反应库文件中的例程只是针对大容量的F107和F103芯片,中容量的芯片不能使用。这里分享一下修改方法。
首先新建一个STM32CubeMX工程,初始化时钟、使能串口和相应的按键端口(不使能中断)。
然后将以下4个.c文件和对应的.h文件添加到工程中。
需要修改的是flash_if.h的文件。用户flash结束地址,如果是128K的flash,修改如下。应用程序所在的flash页,由于大容量和中容量的芯片flash不同,所以需要修改。
然后在主函数中添加以下程序。需要注意的是,如果Bootloader程序使能了中断,尽量在进入应用程序时关闭总中断,以免与应用程序冲突。完成后即可实现IAP功能。
源码如下:
链接:https://pan.baidu.com/s/1fmWHG_5HuF_JalOmUQSNEQ
提取码:3n7t
欢迎关注公众号"嵌入式技术开发",大家可以后台给我留言沟通交流。如果觉得该公众号对你有所帮助,也欢迎推荐分享给其他人。