OpenEdv-开源电子网

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

关于串口IAP升级的问题

[复制链接]

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2018-6-19
在线时间
33 小时
发表于 2018-7-8 10:39:11 | 显示全部楼层 |阅读模式
1金钱
最近在弄串口iap升级,遇到一个很气怪的问题,想在这里请教一下各位大神  问题如下:

  情况一:擦除整片,先用仿真器烧录下IAP程序到Bootloader地址(addr:0x08000000  size;0x8000),然后再用仿真器烧录app程序到应用地址(addr:0x08008000  size;0x8000),按键跳转到app程序,程序可正常工作,重新上电也可以用串口工具对app程序进行升级,升级后               app程序都可以正常工作
  情况二:擦除整片,先用仿真器烧录下IAP程序到Bootloader区域(addr:0x08000000  size;0x8000),接下来用串口工具通过芯片的IAP程序下载app程序到应用地址(addr:0x08008000  size;0x8000),按键跳转到app程序,app程序不能正常工作了.

    iap升级采用的是flash模式的.芯片是103c8t6   flash:64K        iap程序大小:20左右,    app程序大小:1.4kB左右     

问题:就是在芯片升级时,必须先用仿真器在应用区域下载一个app程序进去后,后面的串口升级功能才正常,每次升级的app程序也能工作,如果刚开始就直接通过串口升级app,则app不能工作.   

   本人分析是不是仿真器烧录的情况下还改写了除(addr:0x08008000  size;0x8000)以外的数据,实在想不出来是哪里的问题了,请各位前辈帮忙分析分析,在此谢过!


















正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

67

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4968
金钱
4968
注册时间
2014-10-24
在线时间
976 小时
发表于 2018-7-8 11:17:09 | 显示全部楼层
我感觉你的iap程序并没有成功把APP程序写入到flash,第一种情况正常是你已经把app用烧写器写入了。你可以这样验证下,针对第一种情况你iap升级的时候用另外一个app不要用烧写器烧写的app看他能不能正常正常工作第二种情况iap升级之后你可以用jlink读出flash内容可是否和你的app一样。
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2018-6-19
在线时间
33 小时
 楼主| 发表于 2018-7-8 11:35:09 | 显示全部楼层
小小的爱 发表于 2018-7-8 11:17
我感觉你的iap程序并没有成功把APP程序写入到flash,第一种情况正常是你已经把app用烧写器写入了。你可以这 ...

感谢你的回答,针对情况一,app程序是个闪灯功能,用烧录器烧闪100ms的程序,后面用iap升级闪1000ms的,两种现象都不一样,说明程序有烧进去,有没有完全烧正确有待验证.
我仿真器用的是st-link ,也不知道能不能读出程序,后面再研究一下.   
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2018-6-19
在线时间
33 小时
 楼主| 发表于 2018-7-8 12:44:13 | 显示全部楼层
小小的爱 发表于 2018-7-8 11:17
我感觉你的iap程序并没有成功把APP程序写入到flash,第一种情况正常是你已经把app用烧写器写入了。你可以这 ...

读了下程序,发现0x080083e0后面有段程序通过串口的方式好像没有写进去,全为0xFF,而烧录器烧的就有数据,可能是我程序操作flash的函数有点问题吧,后面再看看是怎么回事.
感谢感谢!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-15 15:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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