在线时间0 小时
UID2075430
注册时间2014-2-25
NXP金币0
该用户从未签到
新手上路

- 积分
- 37
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2014-5-29 09:23:14
|
显示全部楼层
回复:固件升级失败 ,请教安老师和各位高手
回复第 3 楼 于2014-05-27 15:31:23发表:
配置应用程序project中.prm文件中的ROM地址为0x4000 -0xDFFF。在应用程序中设置受保护的FLASH范围为0xFA00-0xFFFF,并开启向量重定向,向量重定向到0xF3C0-0xF3FD。单独运行应用程序project,是可以正常运行的,程序首先执行0x4000处的_Startup程序,然后在_Startup函数中跳到地址0x5AF6(应用程序的main函数首地址)。编译应用程序的project,生成S19文件。在S19文件中,应用程序的地址确实是在0x4000-0xDFFF范围内,向量重定向到0xF3C0-0xF3FD。
配置BootLoader 程序project中.prm文件中的地址为0xF400 - 0xFFAD。在BootLoader程序中设置受保护的FLASH范围为0xFA00-0xFFFF,并开启向量重定向,向量重定向到0xF3C0-0xF3FD。运行BootLoader程序时,程序先从0xF400处的_Startup函数,然后在_Startup函数中跳转到BootLoader的mian函数(地址在0xF400 - 0xFFAD范围内)。下载上面的S19文件,应用程序除向量重定向部分能够下载成功(向量重定向部分不能下载成功)。运行程序,程序从BootLoader程序跳出后,跳到应用程序0x4000处的_Startup函数,但是在_Startup函数中无法像单独运行应用程序那样跳到应用程序的mian函数,而是直接跑飞了。
上面所述是我的方法和过程,不知是什么原因导致:
1.下载应用程序时,向量重定向部分下载不成功,即数据写不了位于此处的FLASH;
2.程序从BootLoader 程序跳出后,能跳到应用程序的_Startup函数,但是在_Startup函数中无法跳到应用程序的main函数。
|
|