ARM——驱动——Linux启动流程和Linux启动

一、flash存储器

lash存储器,全称为Flash EEPROM Memory,又名闪存,是一种长寿命的非易失性存储器。它能够在断电情况下保持所存储的数据信息,因此非常适合用于存储需要持久保存的数据。Flash存储器的数据删除不是以单个的字节为单位,而是以固定的区块为单位,区块大小一般为256KB到20MB。

在ARM系统中,Flash存储器主要分为两种类型:NOR Flash和NAND Flash。

  1. NOR Flash(可线性访问与内存访问方式相同)
    • 特点:地址线和数据线分开,可以像内存一样进行随机访问。支持XIP(Execute In Place,片内执行),即代码可以直接在NOR Flash上执行,无需复制到内存中。
    • 应用:由于其快速读取速度和数据不易失的特点,NOR Flash常被用作启动存储介质,存储操作系统的引导程序、内核映像等关键文件。
  2. NAND Flash(不可线性访问必须配个专门的程序访问)
    • 特点:地址线和数据线共用,需要通过特定的命令和地址控制来读取数据。写入和擦除速度比NOR Flash快,但读取速度相对较慢。不支持XIP,需要通过软件控制读取时序。
    • 应用:由于其高容量和低成本的特点,NAND Flash常被用作大容量数据存储介质,如存储设备中的文件系统和数据分区。

二、Linux操作系统启动

Linux启动是一个复杂但有序的过程,它涉及从系统加电到用户登录界面的多个步骤。以下是Linux启动过程的详细解析:

 一、启动准备阶段

1. **固件初始化**:
   - 在x86系统中,通常是通过BIOS(基本输入输出系统)或UEFI(统一可扩展固件接口)进行初始化。BIOS/UEFI负责硬件初始化、自检以及加载固件驱动程序等。
   - 在ARM架构中,情况可能有所不同。ARM处理器通常不直接包含BIOS的概念,而是可能使用如OpenSBI(开源的RISC-V虚拟化二进制接口)或其他类似机制进行启动前的准备工作。

2. **启动设备选择**:
   - BIOS/UEFI会检测并识别可启动的设备,如硬盘、光盘、USB设备等,并根据预设的启动顺序或用户设置的启动选项,选择一个可启动的设备作为启动介质。

二、加载引导程序(Boot Loader)

1. **Boot Loader的作用**:
   - Boot Loader是引导加载程序,负责加载内核文件到内存中,并传递一些参数给内核。常见的       Boot Loader有GRUB(GRand Unified Bootloader)、LILO等。
   - 在ARM架构中,u-boot是另一种常见的Boot Loader,它主要用于嵌入式系统。2. **加载过程**:
   - 当BIOS/UEFI找到启动设备后,它会读取该设备上的主引导记录(M

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值