apm32f003 iap在线升级 中断向量表 修改无效

[复制链接]
1862|3
 楼主| cqlixingping 发表于 2024-7-11 11:58 | 显示全部楼层 |阅读模式
已定义 #define __VTOR_PRESENT            1U  /*!<Vector  Table  Register supported    */
#define VECT_TAB_OFFSET 0x2000

int main()
{
        SCB->VTOR = FMC_BASE | VECT_TAB_OFFSET;        //此处修改了中断向量表偏移地址,但实际并未被修改               
        GPIO_Init();
       
        TMR4Init();                                                      //中断处理中对PB4进行翻转
        while(1)
        {
                        delay(500000);
                        //GPIO_Toggle(GPIOB, GPIO_PIN_4);
        }
        return 0;
}


shanyuxiang 发表于 2024-7-12 09:53 | 显示全部楼层

apm32f003 iap在线升级 中断向量表 修改无效

向量表的操作方法是对的,可能是其他问题,需要检查APP编译地址,还有就是TMR本身的配置
zchong 发表于 2024-7-13 13:55 | 显示全部楼层
怎么判断修改偏移地址没有成功?
 楼主| cqlixingping 发表于 2024-7-14 07:02 | 显示全部楼层
int main()
{
        SCB->VTOR = FMC_BASE | VECT_TAB_OFFSET;                       
        GPIO_Init();
  //TMR4Init();
        while(1)
        {
                        delay(500000);
                  if(SCB->VTOR == (FMC_BASE | VECT_TAB_OFFSET))
                        GPIO_Toggle(GPIOB, GPIO_PIN_4);//一直未被执行到
        }
        return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部