初级会员

- 积分
- 79
- 金钱
- 79
- 注册时间
- 2018-6-19
- 在线时间
- 33 小时
|
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)以外的数据,实在想不出来是哪里的问题了,请各位前辈帮忙分析分析,在此谢过!
|
|