简介
简单介绍ARM设备启动原理和启动过程,帮助了解一些嵌入式相关理论基础知识。此文章是看韦东山老师的uboot启动课程总结的。
一 几种存储介质的介绍
1 SRAM:SRAM(Static Random Access Memory),即静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。这样他不需要初始化就能够直接使用。SRAM主要用于二级高速缓存(Level2 Cache)。它利用晶体管来存储数据。与DRAM相比较,SRAM的速度快,但在相同面积中SRAM的容量要比其他类型的内存小。部分ARM9的CPU内部都集成有一个SRAM。
这与我们在外部扩展的大容量的SDRAM是不一样的,外部大容量的SDRAM是需要初始化后才能使用,这对我们后面讨论启动过程必不可少,比如s3c2440这颗CPU上内部这个SRAM大小为4KB,datasheet里把它叫做Stepping Stone,江湖人称“起步石”。
2 SDRAM:同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写,用作内存。我们常说的DDR就是SDRAM家族中的一种。SDRAM使用需要先初始化才可以使用,不能直接使用。
3 NORFLASH:NOR FLASH地址线和数据线分开,有地址和控制信号,NORFLASH像内存一样是直接挂在系统总线上的,这样有足够多的地址线使得CPU能够寻址到每一个存储单元上去,这也意味着CPU能够直接通过总线访问NORFLASH上存储的内容,同时他还支持XIP(即片上执行,不用将代码搬到内存中,直接在NORFLASH上就能运行)。

文章介绍了ARM设备的启动过程,包括SRAM和SDRAM的区别,NOR与NANDFlash的特性,以及XIP执行模式。启动方式包括从NORFlash的直接执行和NANDFlash的SPL加载到SRAM中执行。U-Boot在启动流程中的作用是初始化DDR并重定位代码。文章还提到了不同启动方式下的代码下载和地址处理差异。

551

被折叠的 条评论
为什么被折叠?



