首先注意位带区的映射是把一个字节膨胀成4个字节,这四个字节是连续的且都有各自的地址,注意,每一个字节是8位且都有各自的地址,那么把图中的每一个方格映射以后,就是一个等差为4的数列,第一个字节映射后其首字节地址的计算公式为0x20000000+4n(n从0到7),第二个字节第一位的计算为0x20000000+{(0x20000001-0x20000000)x8+1}*4,又映射后首字节地址有效,公式则是:
{(A-0x20000000)*8+n}*4+0x20000000,此处A为位带区的地址,n为带区的位。例如
要计算第二个字节位带别名区地址,那么就应该是:
0x20000000+((0x20000001-0x20000000)*8+6)*4
结合这张图再来理解就不难了。
STM32位带别名区的计算公式推导
于 2023-11-15 17:33:48 首次发布