请教个问题,想做IAP升级程序,那么bootloader程序如何校验下载的bin文件的起始地址,如果bin文件起始地址错的话,那跳到app程序就会变砖头了
热门产品 :
CH634: 4端口USB3.0 HUB控制器芯片
请教个问题,想做IAP升级程序,那么bootloader程序如何校验下载的bin文件的起始地址,如果bin文件起始地址错的话,那跳到app程序就会变砖头了
首次下载的时候是通过原厂bootload的ISP工具将IAP+APP都下载进芯片。
需要进行升级的是APP的功能程序,IAP的程序是不修改的。
IAP的代码一般从0地址开始跑,总共4K,是一个独立的功能。可以参考例程IAP。
IAP代码往APP代码跳转是一个固定的地址,即APP的起始地址。
IAP跳转的是一个固定的地址,那么如果说这个地址是错误的(比如APP地址和IAP地址重叠了或者APP地址也是0x00),有没有办法跳转回IAP
这个地址不应该存在错误的情况,这是在最初开发的时候,就已经规划好的地址。
如果存在工作不正常的情况,可以尝试复位,从0地址重新运行。