(ARM9存储器结构总结.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(ARM9存储器结构总结

ARM存储器结构   ARM存储器:片内Flash、片内静态RAM、片外存储器   映射就是一一对应的意思。重映射就是重新分配这种一一对应的关系。   我们可以把存储器看成一个具有输出和输入口的黑盒子。输入量是地址,输出的是对应地址上存储的数据。当然这个黑盒子是由很复杂的半导体电路实现的,具体的实现的方式我们现在不管。存储单位一般是字节。这样,每个字节的存储单元对应一个地址,当一个合法地址从存储器的地址总线输入后,该地址对应的存储单元上存储的数据就会出现在数据总线上面。   普通的单片机把可执行代码和数据存放到存储器中。单片机中的CPU从储器中取指令代码和数据。其中存储器中每个物理存储单元与其地址是一一对应而且是不可变的,UGG boots。   而ARM比较复杂,ARM芯片与普通单片机在存储器地址方面的不同在于:ARM芯片中有些物理存储单元的地址可以根据设置变换。就是说一个物理存储单元现在对应一个地址,经过设置以后,这个存储单元就对应了另外一个地址了(这就是后面要说的重新映射)。例如将0址上的存储单元映射到新的地址0。CPU存取0是存取0的物理存储单元。(随便举的例子为了说明道理,没有实际意义)   存储器重新映射(Memory Re-Map)   存储器重新映射是将复位后用户可见的存储器中部分区域,再次映射到其他的地址上。   存储器重新映射包括两个方面:1、Boot Block重新映射(关于Boot Block的相关内容看我博客中的另一篇文章)。2、异常(中断)向量重新映射   Boot Block重新映射:本来Boot Block在片内Flash的最高8KB,但是为了与将来期间相兼容,生产商为了产品的升级换代,在新型芯片中增加内部Flash容量时,不至于因为位于Flash高端的Boot Block的地址发生了变化而改写其代码,整个Boot Block都要被重新映射到内部存储器空间的顶部,即片内RAM的最高8KB。(地址为:0x7FFFE000~0x7FFFFFFF)   异常(中断)向量重新映射:本来中断向量表在片内Flash的最低32字节,重新映射时要把这32个字节再加上其后的32个字节(后面这32个字节是存放快速中断IRQ的服务程序的)共64个字节重新映射(地址为:00x0000003F)重新映射到的地方有三个:内部Flash高端的64字节空间、内部RAM低端的64字节空间和外部RAM低端的64字节空间,再加上原来的内部Flash低端的64字节空间,异常向量一共可以在四个地方出现。为了对存储器映射进行控制,处理器设置了存储器映射控制寄存器MEMMAP,其控制格式如下图所示:   注:1、当MEMMAP[1:0]=00时是映射到内部Flash高端,同内部Flash高端的Boot Block 一起又被 映射到了内部RAM高端   2、当MEMMAP[1:0]=01时相当于没有重新映射,异常向量表在内部Flash低端   3、当MEMMAP[1:0]=10时映射到了内部RAM的低端   4、当MEMMAP[1:0]=11时映射到了外部RAM低端 首先说一下,S3C2440 存储器空间并不包括NAND FLASH ,NAND FLASH只是一个外设而已。 S3C2440存储器控制器的寻址范围是0~0x3fff ffff,共1G。这1G空间分为8个BANK,BANK0~BANK7。 在产品开发阶段,一般使用BANK0控制NOR FLASH,BANK6控制SDRAM;对于成品,则会去掉NOR FLASH,而将固件放在NAND FLASH上,SDRAM不变。 对于代码存储,如NOR FLASH,是没有必要访问到具体字节;而对于SDRAM,因为可能保存有字节变量,必须得支持访问到字节。这里就说一下,在32位总线宽度下,存储器控制器是如何访问SDRAM的字节的。 比如,使用两片16位的SDRAM组成32位宽度的数据总线。S3C2440的地址线A0、A1不再使用,S3C2440提供了DQM0、 DQM1、 DQM2和 DQM3来选通某个字节(猜想: DQM0、 DQM1、 DQM2和 DQM3是由 A0、A1经内部译码器而得 ,这样可以节省外部元件)。再把SDRAM的行、列地址展开,再加上 SDRAM BANK的选择线,其实SDRAM就完全可以看做一片SRAM了 。 1、S3C2440A的存储器管理器提供访问外部存储器的所有控制信号? 2、27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等? 3、总共有8个存储器bank

文档评论(0)

1983xuesheng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档