支持了位带操作(bit_band),有两个区中实现了位带。其中一个是SRAM 区的最低1MB 范围,第二个则是片内外设 Hv8.#Ut // 区的最低1MB 范围。这两个区中的地址除了可以像普通的RAM 一样使用外,它们还都有自 #+ p" *V3 // 己的“位带别名区”,位带别名区把每个比特膨胀成一个32 位的字 tjXd.]O // mY[h]}yDs // 每个比特膨胀成一个32 位的字,就是把 1M 扩展为 32M , *v@^[v+S[ // r 6SlTt // 于是;RAM地址 0X200000000(一个字节)扩展到8个32 位的字,它们是: Ee >C // 0X220000000 ,0X220000004,0X220000008,0X22000000C,0X220000010,0X220000014, 0X220000018,0X22000001C T}v)(^e // 支持位带操作的两个内存区的范围是: =oMCW; // 0x2000_0000‐0x200F_FFFF(SRAM 区中的 }F-can# // 0x4000_0000‐0x400F_FFFF(片上外设区中的最低1MB) 4!n^*x8G+ /* y*XIEqft N XS5 对SRAM 位带区的某个比特,记它所在字节地址为A,位序号 ep#]BOz 在别名区的地址为: -nm1a!7FXX AliasAddr= 0x22000000 +((A‐0x20000000)*8+n)*4 =0x22000000+ (A‐0x20000000)*32 + n*4 *R#mGE\ 对于片上外设位带区的某个比特,记它所在字节的地址为A,位序号为n(0 |
RE:STM32 BIT_BAND 位带别名区使用入门
解释的很形象