cpu直接访问的内存有哪些和linux启动流程

一、重要内存说明

1.1 cpu直接访问的内存

cpu可直接访问的内存有缓存(cache),只读存储器(ROM),随机存取存储器(RAM),相关的内存控制器。
cache,分为一级、二级、三级缓存,集成在CPU内部,容量小,执行效率高,用于CPU对日常数据的处理。
ROM,用在soc(system on chip,片上系统)中,用于存储系统代码,包括系统启动,内核和其他用户内存等,主要是系统上电后的系统启动代码加载和内核的跳转。NOR FLASH可直接访问,NAND FLASH需要配合控制器访问。
RAM,通常说的运行内存,特点是容量大,随机访问,断电清除。SDRAM和SRAM属于这类内存。
相关内存控制器,集成于cpu中,用于直接访问相关内存的控制,如nand flash控制器。

1.2 NOR FLASH与NAND FLASH、EMMC

都是非易失性闪存技术,emmc也是flash内存一种,一般是nand flash,特性与nand flash一样,nor flash和nand flash区别如下:
1.2.1 速度
nor flash读速度快,nand flash写速度快。nand以8-32k的块擦除,时间为4ms,nor要求在进行擦除前,先将目标块内所有的位都写为1以64~128k的块擦除,时间为5s。
1.2.2 接口
nor flash:有SRAM接口,足够的地址引脚寻址,容易存取内存每一个字节。
nand flash:使用复杂的I/O串行通讯,8个引脚传送控制、地址和数据信息,依赖时序。
1.2.3 容量和价格
nor flash:生产工艺较复杂,容量小,价格高
nand flash:生产工艺较简单,容量大,价格低
1.2.4 寿命
nor flash:擦写最大次数为十万次
nand flash:擦写最大次数为一百万次

1.3 SRAM与SDRAM

1.3.1 SRAM
static random access memory,静态随机访问内存。一种具有静止存取功能的内存,不需要刷新电路,就能保存内部存储,掉电消失。制作工艺复杂,成本高,容量小,读写快。
1.3.2 SDRAM
synchronous dynamic ramdom access memory,同步动态随机访问内存。为了保存数据,需要不断刷新,只要不刷新或掉电,数据消失。需要同步时钟,进行动态刷新,保证数据不丢失。随机是自由指定地址进行数据读写,而不是依次存储。

二、linux启动流程

1.1 启动流程

在nor flash中启动,cpu可直接访问,uboot直接在nor flash上运行,启动后,地址会映射到0。
在nand flash中启动,cpu需要结合控制器访问,nand flash使用同步串行通讯,不能片上直接执行uboot,上电后,nand flash控制器会将nand flash前4kb内容复制到SRAM中,nand flash控制器将指针指向arm地址空间0,准备开始执行SRAM代码,4kb代码即为初始控制代码,如果初始控制在4kb内无需额外操作,大于4kb需通过编写代码进行拷贝操作,当然,boot代码也需要拷贝到SRAM中,在SRAM上运行。nand flash需要的RAM为SRAM,不能为SDRAM。

1.2 bootloader说明

bootloader是系统启动一段执行的代码,是一段起引导作用的二进制代码,烧写在flash中,目的是为了引导kernel的启动。
提供一些debug功能,提供的功能由代码编写,常见的有烧写命令,控制gpio,查看bootrag,分区信息等。
bootloader执行需要完成以下的功能
a.硬件初始化操作:关闭关门狗(防止单板重启),初始化系统时钟、SDRAM、NAND FLASH
b.代码引导操作:bootloader从nand flash中读到SRAM中执行(bootloader比较大,需要重定位到SDRAM);内核从flash中读到SDRAM;跳转内核
c.参数传递操作:将重要参数传递给kernel

参考

以上为个人整理总结的知识,如有遗漏或错误欢迎留言指出、点评,如需引用,请标注说明,如需转载,请联系通知,未经允许谢绝转载。
[1]: https://zhuanlan.zhihu.com/p/420078389
[2]: https://www.php.cn/faq/415787.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值