本文共 653 字,大约阅读时间需要 2 分钟。
初学ARM7TDMI,正好实验室有三星44b0的试验板一块,看了几天44b0的数据手册和用户手册,看的晕乎乎的,最主要的是对其存储管理不了解,因为三星44b0把存储器分了8块,也就是8个bank,从bank0到bank7,每个bank支持最大32M,总共支持256M存储空间。 实际上我的试验板有2Mflash存储器,64M的SDRAM,那么我的存储器的是怎么分布的呢?试验板带的资料也没有细说,但从其调试手册上看其调试地址是从0x0c00_0000开始的,为什么从0x0c00_0000开始呢?64M的SDRAM的地址空间是从哪里开始到哪里结束呢?2M的FLASH的地址空间从哪里开始呢?一团迷雾。 后来对着板子看了半天研究了它的原理图和三星44b0的数据手册,认为64M的SDRAM正好是Bank6和bank7的存储容量,而且调试的时候是把程序下载到SDRAM中开始的,并不是从FLASH开始,所以44B0的SDRAM的地址是从0x0c00_0000到0x0fff_ffff. 那么Flash的又从哪里开始呢?因为ARM运行,必须从0x0000_0000的ROM地址开始,所以2M的Flash是放在bank0里面的。这样就完全解释了上面遇到的疑问,在网上搜索了半天,从点点滴滴的资料了证明了我的判断。 理解存储器分布后我的感觉恍然明朗起来,对44B0有了一个总体的了解,也有了初步认识。 | | |
转载地址:http://henqj.baihongyu.com/