存储器映射.pptVIP

  • 36
  • 0
  • 约5.83千字
  • 约 22页
  • 2017-06-17 发布于湖北
  • 举报
存储器映射

位带区对应的是最低的1MB字节(8M位)地址范围,而位带别名区里面的每个字对应位带区的一个比特。 位带区与位带别名区的膨胀对应关系图 举例:欲设置地址0x2000_0000中的比特2,则使用位带操作的设置过程如下图所示: 对应的汇编代码 位带读操作相对简单些: 位带操作的概念其实30年前就有了,那还是8051单片机开创的先河。如今,CM3将此能力进化,这里的位带操作是8051位寻址区的威力极度加强版。 在位带区中,每个比特都映射到别名地址区的一个字——这是个只有LSB才有效的字。当一个别名地址被访问时,会先把该地址变换成位带地址。对于读操作,读取位带地址中的一个字,再把需要的位右移到LSB,并把LSB返回。对于写操作,把需要写的位左移至对应的位序号处,然后执行一个原子的“读-改-写”过程。 支持位带操作的两个内存区的范围是: 0x2000_0000-0x200F_FFFF(SRAM区中的最低1MB) 0x4000_0000-0x400F_FFFF(片上外设区中的最低1MB) 对于SRAM位带区的某个比特,记它所在字节地址为A,位序号为n(0=n=7),则该比特在别名区的地址为: AliasAddr= 0((A-0*8+n)*4 =0 (A-0*32 + n*4 上式中,“*4”表示一个

文档评论(0)

1亿VIP精品文档

相关文档