ARM cortex-m3中断向量表重映射

项目开发过程中,有时我们向把中断向量表重映射到RAM中,本文介绍ARM cortex-m3如何将中断向量表重新映射到RAM制定的地址。

1.程序在RAM,中断向量表重映射到RAM

这种情况发生在我们将程序直接下载到RAM中去调试,执行,要想中断得以执行需要将中断向量表基地址修改为RAM中中断向量表的地址。

SCB->VTOR  = SRAM_BASE | VECT_TAB_OFFSET;

注意:中断向量表的地址必须是0x100(256)的整数倍。

2.程序在Flash,中断向量表重映射到RAM

SCB->VTOR  = SRAM_BASE | VECT_TAB_OFFSET;
memcpy(SRAM_BASE | VECT_TAB_OFFSET, 0x08000000, n * 4);

这里的n为该芯片所有的中断向量的个数,可以在startup.s中查看,这里,同样要求,中断向量表的地址必须是0x100(256)的整数倍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值