OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2302|回复: 0

关于STM32f103ZE 串口IAP下载bin程序的问题分享

[复制链接]

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-8-3
在线时间
13 小时
发表于 2018-8-3 17:30:55 | 显示全部楼层 |阅读模式
本人菜鸟一枚,最近在做串口IAP下载程序的项目,研究了整整两天终于看到点效果了。
与大家分享一下其中遇到的问题及解决办法。
起初在网上下载了STM32 F4 IAP升级的例程,移植调试了一整天,编译没问题了,但是
通过Bootloader下载bin文件的时候没有任何反应,放弃了!
在某宝论坛无意间找到了一个stm32f103 IAP升级的例程,立刻修改移植,一切修改好后,
将BootLoader下载到开发板,正常运行;接下来通过串口助手下载bin,也就是app时却出
了问题,显示下载成功,按下按键执行的时候开发板却不执行,连BootLoader程序也卡死了。
立刻意识到是程序偏移地址的问题,但是反复检查都没问题。。。。无奈啊,继续逛各大
论坛寻找解决办法,功夫不负有心人,终于在一个即将沉了的帖子最底部看到一句留言。
留言内容说:
BootLoader可以移植使用,但建议用户程序自己新建一个工程,因为旧工程可能与
keil版本不一致,即使
①user中设置了程序起始地址
②main函数中也写了SCB->VTOR = FLASH_BASE | 0xXXXX;
但是工程map文件的入口地址仍然是原来的,这也就导致了即使程序都没问题,但是下载
bin文件的时候开发板却没有执行程序,原因就在于map程序入口地址与BootLoader起始地址
冲突都为0X8000000。
找到原因所在,立刻新建了一个测试工程,改好偏移地址后编译通过,到工程目录下查看map
文件的入口地址,果然与修改后的一致,再次使用串口助手将bin文件下载到开发板,这次开发板
便可以成功运行了。

解决了这个问题,后面的IAP开发就比较顺利了。本人小白,在老鸟面前班门弄斧了,见谅,希望
与大家多多交流STM32的心得。

.map文件入口地址

.map文件入口地址

option for target设置

option for target设置
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 03:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表