CPU和S5PV210的内存地址映射
一、S5PV210的内存(地址)映射详解
1、什么是内存(地址)映射
- S5PV210属于ARM Cortex-A8架构,32位CPU,CPU设计时就有32根地址线和32根数据线。
- 32根地址线决定了CPU的地址空间为4G,那么这4G空间如何分配使用?这个问题就是内存映射问题(好像准确点应该叫地址映射吧,我懒的改标题了,大家注意这个小坑)。
2、S5PV210内存映射位置
2.1 整体分布
- ROM:read only memory 只读存储器(比如硬盘,只能读不能写是从CPU的地址总线角度出发的,通过CPU的地址总线不能写硬盘)
- RAM:ramdom access memory 随机访问存储器
- IROM:internal rom 内部ROM,指的是集成到SoC内部的ROM
- IRAM:internal ram 内部RAM,指的是集成到SoC内部的RAM
(底部的IRAM和IROM是上部的IRAM和IROM的映射)
- DRAM:dynamic ram 动态RAM(上图中的DRAM0和DRAM1可以将其当作内存插槽,用来扩展内存)
- SRAM:static ram 静态RAM
- SROM:static rom? sram and rom?
- ONENAND/NAND: NAND FLASH (用于接NAND的)
- SFR:special function register 特殊功能寄存器
- SROMC_BANK:用来扩展一些器件的,比如网卡等
- Low Power Audio SRAM:用于低功耗音频
2.2、从0xD000_0000到0XDFFF_FFFF之间的详细分布:
中间的Not Avaliable是用来分割开两边的内存区域的。
二、CPU和外部存储器的接口
1、内存与外存的区别
内存:内部存储器,用来运行程序,RAM,随机存储器。CPU与内存通过地址总线直接去访问。
外存:外部存储器,用来存储东西,ROM,例如硬盘、Flash(NAND,SSD,U盘,光盘等)(Flash比硬盘快一些)
总结:
CPU与内存与外存的连接方式不同。内存需要直接地址访问,所以是通过地址总线和数据总线的总线式方式连接(好处是直接访问,随机访问,坏处是)。外存是通过CPU的外存接口来连接的(好处是不占用CPU的地址空间,坏处是访问速度没有总线式快,访问时序较复杂)
2、SoC常用的外部存储器(Flash和硬盘)
2.1、Flash(是电子式访问的、电子存储原理)(NorFlash和NandFlash两种)
NorFlash:(现在已经很少了)
- NorFlash 总线式访问,一般接到SROM BANK,优点是可以直接总线访问,一般用来启动。缺点是单位容量贵。
NandFlash:(现在也可以用来启动了)
- NandFlash分为SLC(早期,容量小)和MLC(容量大,容易出错,出现坏块)
- eMMC/iNand/moviNand: eMMC(embeded MMC)类似于MMC卡
- oneNAND: oneNAND是三星公司出的一种NAND
- SD卡/TF卡/MMC卡: TF卡就是大型的SD卡
- eSSD :embeded SSD(就是将SSD做成芯片了)
嵌入式一般都是用的Flash。
2.2、硬盘(是机械式访问、磁存储原理)
- SATA硬盘(SATA是接口类型)
硬盘单位存储比较便宜、且容量比较大。
3、S5PV210支持的外部存储器
- 见datasheet Section2.6 booting sequence
- 见datasheet Section5全部,memory(与内存和外存有关的)
- 见datasheet Section8.7 SD/MMC部分
4、X210开发板支持的外部存储器
- X210有2个版本,Nand版和iNand版,分别使用Nandflash和iNand为外部存储器。我们使用的是iNand版本,板载4GB iNand
- S5PV210共支持4个SD/MMC通道,其中通道0和2依次用作启动。X210开发板中SD/MMC 0通道设计时已经用于连接板载MMC,因此外部启动时只能使用SD/MMC 2通道(注意通道3不能启动)。见《S5PV210_iROM_ApplicationNote_Preliminary_20091126.pdf》中P6
总结:
- 1、现代SoC支持多种外部存储器
- 2、外部存储器主要用来存储程序(可执行代码),相当于电脑的硬盘。
- 3、各种不同外部存储器原理不同,大小、性价比不同,一般产品厂家根据需要选择适合自己产品的外存使用。
- 4、外部存储器和CPU连接一般不是通过地址&数据总线直接相连,因为地址空间不够用。一般都是通过专门的接口来连接的。