NVIC_VECTTAB_RAM
和 NVIC_VECTTAB_FLASH
是与嵌入式系统中的中断向量表(Interrupt Vector Table)相关的常量或标志,通常用于设置中断向量表的存储位置。中断向量表包含了系统中断服务例程(ISR)的入口地址。通过这些常量,系统能够决定中断向量表是存放在 RAM 还是 FLASH 中。
1. NVIC_VECTTAB_RAM:
- 含义: 该标志表示中断向量表存放在 RAM(随机存取存储器)中。
- 用途: 在某些情况下,开发者可能会将中断向量表放入 RAM 中。这样做的好处是向量表可以在运行时被修改。比如在启动过程中,系统的引导加载器可能会首先在 FLASH 中运行,之后可能会将向量表重新定位到 RAM 中,以支持自定义的中断处理或支持动态更改中断向量。
- 典型场景:
- 实现动态中断服务例程切换。
- 系统启动后,需要改变中断向量表(如引导阶段的多阶段切换)。
- 在一些高级嵌入式操作系统中,可能会使用 RAM 中的向量表来管理任务间的中断处理。
2. NVIC_VECTTAB_FLASH:
- 含义: 该标志表示中断向量表存放在 FLASH(闪存)中。
- 用途: 在大多数情况下,中断向量表是固定的ÿ