原理分析: Cortex?-M3 存储器映像包括两个位段(bit-band)区。这两个位段区将别名存储器区中的每个字映射到位段 存储器区的一个位,在别名存储区写入一个字具有对位段区的目标位执行读-改-写操作的相同效果。 所有 STM32F10x 外设寄存器都被映射到一个位段(bit-band)区。 位带操作: 在 CM3支持了位带中,有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB 范围。这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字。当你通过位带别名区访问这些字时,就可以达到访问原始比特的目的。操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。 0x2000_0000‐0x200F_FFFF( SRAM 区中的最低 1MB) 0x4000_0000‐0x400F_FFFF(片上外设区中的最低 1MB)对 SRAM 位带区的某个比特,记它所在字节地址为 A,位序号 在别名区的地址为: AliasAddr= |
|
来自: 昵称32804670 > 《待分类》