NVIC 所处的区域叫做“系统控制空间(SCS)”,在 SCS 里的除了 NVIC 外,还有 SysTick、MPU 以 及代码调试控制所用的寄存器。
最后,未用的提供商指定区也通过系统总线来访问,但是不允许在其中执行指令。
2.4.2 位带操作
在Cotex-M3存储器映射中包括两个位操作区。分别位于SRAM和片上外设存储区的最低1MB空间中。 这两个位带中的地址除了可以像普通的RAM一样使用外,它们还都有自己的“位带别名区”,位带别名 区把每个比特膨胀成一个32位的字形成位地址。当你通过位带别名区访问这些字时,就可以达到访问原 始比特的目的,其对应关系如图2.8所。
位地址与位别名对应关系统如下: 对于 SRAM 位带区的某个位:
Aliasaddr 0x22000000 ((A 0x20000000) 8 n) 4
0x22000000 ( A 0x20000000) 32 n 4
对于片上外设位带区的某个位:
Aliasaddr 0x42000000 ((A 0x40000000) 8 n) 4
0x42000000 ( A 0x40000000) 32 n 4
在上述表达式中,A 表示要操作的位所在的字节地址,n(0≤n≤7)表示位序号。
2.9 位操作对应关系图
举例:将地址 0x20000000 的第 2 位置 1。通过上述计算关系,可计算出位带别名为 0x22000008。 如程序清单 L2.1 所示。
程序清单 L2.1 SRAM 位操作实例
LDR R0,=0x22000008