最近公司项目要求做在线升级,然后我调用串口IAP实验中的IAP-Bootloader V1.0作为引导程序。通过串口发送bin文件,出现了个问题,思考多日都梅搞明白,还烦请大神指点指点。
项目的程序中用到了3个定时器,TIM2,TIM3,TIM4,3和4用来控制PWM输出,2用来计数。定时器2注释掉,定时器3和4的功能都能正常运行;一旦定时器2不注释,从引导程序调到项目程序必定卡死。其中生成bin文件都是按照教程设置,项目程序也通过SCB->VTOR = FLASH_BASE | 0x10000跳转中断向量表。
而使用例程,单独编译定时器2作为app程序又是可以正常运行的。
如果是中断向量表指向问题,为什么定时器3和定时器4都ok,唯独2不可以,而单独编译定时器2又可以?
注:使用的例程为战舰V3标准库函数。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
这个试过,在iap关中断然后在app重新打开,还是不行。
一周热门 更多>