博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARM三星44B0存储管理探秘
阅读量:3514 次
发布时间:2019-05-20

本文共 653 字,大约阅读时间需要 2 分钟。

2007-12-24 13:56:14
字体变小
字体变大
ARM三星44B0存储管理探秘
初学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有了一个总体的了解,也有了初步认识。
一点认识,希望ARM爱好者们赐教和讨论:)

转载地址:http://henqj.baihongyu.com/

你可能感兴趣的文章
获取input选择文件的本地地址
查看>>
React绑定全局方法或变量
查看>>
js监听div标签上面的自定义属性
查看>>
navcat如何重置窗口
查看>>
代码注入
查看>>
off-by-one
查看>>
ctf-pwn的一些小技巧
查看>>
POJ 1915 Knight Moves
查看>>
Git 撤销修改
查看>>
Git 删除文件
查看>>
Git与远程仓库关联以及关联错误解决方法
查看>>
[HDU] 平方和与立方和
查看>>
[HDU 2096] 小明A+B
查看>>
[HDU 2520] 我是菜鸟,我怕谁(不一样的for循环)
查看>>
[HDU 1215] 七夕节(求因子,不超时)
查看>>
[POJ 1915] Knight Moves
查看>>
Memcache技术精华
查看>>
Redis详解入门篇
查看>>
php开启redis扩展包与redis安装
查看>>
php使用openssl来实现非对称加密
查看>>