STM32学习笔记(Second)

1.位段(Bit-Banding)
Cortex™-M3 存储器映像包括两个位段(bit-band)区。这两个位段区将别名存储器区中的每个字映射到位段存储器区的一个位,在别名存储区写入一个字具有对位段区的目标位执行读-改-写操作的相同效果。所有STM32F10x外设寄存器都被映射到一个位段(bit-band)区。这个特性在各个函数中对单个比特进行置1/置0操作时被大量使用,用以减小和优化代码尺寸.
2.映射公式
映射公式给出了别名区中的每个字是如何对应位带区的相应位的,公式如下:
bit_word_offset = (byte_offset x 32) + (bit_number × 4) bit_word_addr = bit_band_base + bit_word_offset
其中: bit_word_offset是目标位在存取器位段区中的位置bit_word_addr 是别名存储器区中字的地址,它映射到某个目标位。bit_band_base 是别名区的起始地址。byte_offset 是包含目标位的字节在位段里的序号bit_number 是目标位所在位置(0-31)。

猜你喜欢

转载自blog.csdn.net/weixin_37893968/article/details/87855467