ARM64架构启动流程

ARM64 架构的启动流程是一个多阶段、分层次的过程,涉及硬件初始化、权限切换、代码加载和操作系统启动。以下是其核心流程的详细说明:


1. 硬件上电与 BootROM 执行

  • 复位向量(Reset Vector)
    CPU 上电后,从固定地址(通常为 0x00000000 或厂商定义的地址)开始执行 BootROM 代码。

    • BootROM 是芯片内部只读固件,负责最底层硬件初始化(如时钟、内存控制器、安全引擎)。
    • 验证下一阶段代码(如 Bootloader)的数字签名(Secure Boot)。
  • 异常级别(Exception Level, EL)
    ARM64 启动时运行在最高特权模式:

    • EL3(Secure Monitor):负责安全世界(Secure World)与非安全世界(Normal World)的切换。
    • EL2(Hypervisor):可选,支持虚拟化。
    • EL1(OS Kernel):操作系统内核运行级别。
    • EL0(User Space):用户应用程序。

2. 加载并执行 Bootloader

阶段 1:Primary Bootloader(如 ARM Trusted Firmware, ATF)
  • 任务

    1. 初始化关键外设(如 UART 调试串口、DRAM 控制器)。
    2. 设置异常向量表(Exception Vector Table)。
    3. 加载下一阶段 Bootloader(如 U-Boot)到内存。
    4. 切换异常级别(从 EL3 → EL2 或 EL1)。
  • 示例代码(ATF 跳转)

    bl31_main(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值