新手入门
- 积分
- 19
- 金钱
- 19
- 注册时间
- 2018-7-3
- 在线时间
- 1 小时
|
1金钱
本帖最后由 zwneu 于 2018-7-3 17:38 编辑
我有个关于stm32F4的bootloader升级问题,困扰我好久了,现在是bootloader正常,但是如果被升级的程序是不是用ucosIII的例程,就一切正常,但是如果是带有ucosIII的例程,现象是代码运行到不知道什么位置就会进入HardFault_Handler,我反复查验了应用升序的FLASH地址以及中断向量的重新映射,都没有错,哪位大神能帮我看看吗?万分感谢!
目前bootlaoder中主要就是这样
#define APPLICATION_ADDRESS ADDR_FLASH_SECTOR_2
iap_load_app(APPLICATION_ADDRESS);
void iap_load_app(u32 appxaddr)
{
if(((*(vu32*)appxaddr)&0x2FF00000)==0x20000000) //¼ì2éÕ»¶¥μØÖ·êÇ·ñoÏ·¨.
{
jump2app=(iapfun)*(vu32*)(appxaddr+4);
MSR_MSP(*(vu32*)appxaddr);
jump2app();
}
}
应用程序配置如下:
在system_stm32f4xx.c中定义#define VECT_TAB_OFFSET 0x8000
感觉没啥问题了呀,可是跳入应用程序中,能从main切换到start_task中,就出现HardFault_Handler了,既然能任务切换,说明系统工作正常啊!
各位大神,帮帮我吧,要崩溃了
BootloaderV1.0.zip
(1.02 MB, 下载次数: 59)
|
|