6.地址映射和外部存储器


6.1.内存映射和地址映射
(1)S5PV210属于ARM的Cortex-A8架构,32位的CPU(有32根数据总线),CPU设计时就有32根地址总线和32根数据总线。32根地址总线决定了CPU的寻址空间为4G(现代CPU访问的基本单位是B,即字节1B=8b。1B需要一个地址,那么一根地址总线访存容量为1B,两根地址总线访存容量为4B,即00,01,10,11四个地址。现在大多数的CPU是32根地址总线的,访存容量为4G),那么关于这4G空间如何分配使用,即所谓的内存映射或地址映射问题。
(2)地址映射是由设计CPU的人事先设计好的,我们需要查看datasheet了解具体的地址映射。在数据手册”S5PV210_UM_REV1.1”中”section 01_overview”中的第2部分”2 MEMORY MAP”主要描述了S5PV210中的内存映射(见图1和图2)。
(3)专业术语:ROM(read only memory 只读存储器,不能直接通过地址总线写数据 );RAM(ramdom access memory 随机访问存储器);IROM(internal rom 内部ROM,指的是集成到SoC内部的ROM);IRAM(internal ram 内部RAM,指的是集成到SoC内部的RAM);DRAM(dynamic ram 动态RAM);SRAM(static ram 静态RAM);SROM(static rom或sram and rom?);ONENAND/NAND(都为NAND FLASH,ONENAND是三星的NAND FLASH芯片) ;SFR(special function register 特殊功能寄存器)。
(4)我们最好记住DARM0(0x2000_0000~0x3FFF_FFFF,512MB)和DARM1(0x4000_0000~0x7FFF_FFFF,1024MB)及IRAM(0xD002_0000~0xD003_7FFF,96KB)这三个区域的地址映射详情。


6.2.内存和外存详解
(1)内存,即内部存储器,用来运行程序的,RAM(譬如DRAM、SRAM、DDR);外存,外部存储器,用来存储数据的,ROM(譬如硬盘、Flash(Nand、iNand、U盘、SSD固态硬盘)、光盘)。
(2)CPU连接外存和内存的连接方式是不同的。内存需要直接地址访问,所以是通过地址总线和数据总线的总线式访问方式连接的(好处是直接访问、随机访问;坏处是占用CPU的地址空间,大小受限)。外存是通过CPU的外存接口来连接的(好处是不占用CPU的地址空间;坏处是访问速度没有总线式快,访问时序较复杂)。


6.3.SoC常用外部存储器
(1)NorFlash类:NorFlash,总线式访问,可接到SROM bank;单位容量较贵而且容量较小,16MB就已经很大了;一般用作启动介质,譬如台式机上使用NorFlash存储BIOS。
(2)NandFlash类:NandFlash(分为SLC(容量较小、价格高、访问稳定性好、访问时序较简单、不容易出现坏块、一般不需要做ecc校验)和MLC(容量非常大、价格很低、访问较复杂、较容易出现坏块、必须做ecc校验))、eMMC/iNand/moviNand(embeded MMC即嵌入式的MMC卡,目前比较流行,iNand是SanDisk公司出产的eMMC,moviNand是三星公司出产的eMMC,eMMC是国际性标准)、SD卡/TF卡/MMC卡(将来可能会淘汰)、oneNAND(是三星公司自己出的Nand Flash,它是三星公司自己的标准)、eSSD(嵌入式的固态硬盘即MLC的NandFlash)。
(3)硬盘类:SATA硬盘,机械式访问、磁存储原理、通过SATA接口连接电脑。硬盘在台式机和笔记本电脑上使用较多,硬盘的特点是单位存储容量比较便宜,后续估计硬盘会被Flash淘汰掉。


6.4.S5PV210支持的外部存储器
(1)见datasheet Section2.6 booting sequence、见datasheet Section5全部,memory、见datasheet Section8.7 SD/MMC部分。
(2)The booting device(启动介质):General NAND Flash memory、OneNAND memory、SD/MMC memory (such as MoviNAND and iNAND)、eMMC memory、eSSD memory、UART and USB devices。


6.5.开发板支持的外部存储器
(1)我们使用的是三星的NandFlash,容量为512MB(字节)。GEC210开发板通过拨码开关选择从NandFlash启动或SD卡启动。
(2)S5PV210共支持4个SD/MMC通道,其中通道0和2依次用作启动。X210开发板中SD/MMC0通道用于连接板载MMC,因此外部启动时只能使用SD/MMC2通道(注意通道3不能启动)。见”S5PV210_iROM_ApplicationNote_Preliminary_20091126.pdf”中P6。


6.6.外部存储器总结
(1)现代SoC支持多种外部存储器。
(2)外部存储器主要用来存储程序(可执行代码),相当于电脑的硬盘。
(3)各种不同外部存储器原理不同,大小、性价比不同,一般产品厂家根据需要选择适合自己产品的外存使用。
(4)外部存储器和CPU连接一般不是通过地址&数据总线直接相连,因为地址空间不够用。一般都是通过专门的接口来连接的。


6.地址映射和外部存储器_第1张图片


6.地址映射和外部存储器_第2张图片


你可能感兴趣的:(arm裸机)