最近在做一个项目,STM32F407跑FreeRTOS系统做IAP在线升级,编译器用的是MDK5的,碰到一个问题是,IAP程序跑起来没问题,APP程序没有修改中断向量表起始地址时,跑起来也没有问题的,但修改了中断向量表起始地址后,中断向量表起始地址由0x8000000改为0x8010000后,APP程序运行起来会进入void HardFault_Handler(void)里跑飞,不过删除一些.c文件减少程序能跑起来,中断向量表起始地址在程序里SCB->VTOR = FLASH_BASE | 0x10000;也改了,编译器也设置正确了!这里和平常的STM32的IAP升级最大的不同是IAP程序和APP程序用到分散加载,并且分散加载文件里把堆栈地址指定了,大小也分配了。有哪位大神搞过的或知道哪里出问题,跪求请教{:cry:}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>