stm32F4bootloader工作不正常求助!

2019-07-20 07:25发布

本帖最后由 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();                                                                        
        }
}        

应用程序配置如下:
无标题.png
在system_stm32f4xx.c中定义#define VECT_TAB_OFFSET  0x8000

感觉没啥问题了呀,可是跳入应用程序中,能从main切换到start_task中,就出现HardFault_Handler了,既然能任务切换,说明系统工作正常啊!

各位大神,帮帮我吧,要崩溃了
BootloaderV1.0.zip (1.02 MB, 下载次数: 46) 2018-7-3 17:38 上传 点击文件名下载附件

例6-2 UCOSIII任务挂起和恢复.rar (1.24 MB, 下载次数: 35) 2018-7-3 17:38 上传 点击文件名下载附件



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。