首页
›
Linux内核与驱动
›
077-Linux内核启动流程
›
《head S阶段异常向量表配置与ARM64启动调试》
VIP10
本课程属于:077-Linux内核启动流程
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
head S阶段异常向量表配置与ARM64启动调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
ARM64启动流程概述
从Reset到C语言环境的建立 · Head.S在启动链中的位置与作用
ARM64
启动流程概述
02
ARMv8-A异常模型基础
异常等级(EL0-EL3) · 异常类型(Synchronous · IRQ
ARMv8-A
异常模型基础
03
异常向量表(Vector Table)原理
基地址寄存器VBAR_ELn · 向量表偏移 · 表项大小(每条16字节)
Vector
Table
04
Head.S中异常向量表的定义
使用.align 11对齐 · .section .vectors声… · 标签定义
Head.S
异常向量表的定义
05
同步异常处理入口
Synchronous Except… · 保存上下文
同步异常处理入口
Synchronous
06
IRQ中断处理入口
IRQ Handler的汇编存根实现 · 中断屏蔽与使能
IRQ
断处理入口
07
FIQ快速中断处理入口
FIQ Handler的汇编存根实现 · 与IRQ的区别
FIQ
快速
08
SError系统错误处理入口
SError Handler的汇编存… · 错误记录与Panic
SError
系统错误处理入口
09
异常向量表的完整填充
使用.rept .endr填充未使用… · 确保表大小为2KB
异常向量表的完整…
rept
10
VBAR_ELx寄存器的配置
在Head.S中通过MSR指令设置V…
VBAR
ELx
11
启动时异常等级切换
从EL3到EL2再到EL1的切换流程 · SCR_EL3/HCR_EL2寄存器…
启动时异常等级切…
EL3
12
MMU与页表初始化前的中断处理
在MMU未开启时 · 如何保证异常向量表在物理地址空间可访…
MMU
页表初始化前的
13
栈指针(SP)的初始化
在设置异常向量表之前或之后 · 为每个异常等级配置SP_ELx
SP
栈指针
14
CPU初始化与异常屏蔽
在Head.S中通过DAIFSet/…
CPU
初始化
15
GICv3中断控制器初始化
在启动早期对GIC的Distribu…
GICv3
断控制器初始化
16
异常向量表重定位
当内核解压或KASLR开启后 · 如何重新设置VBAR_ELx
异常向量表重定位
KASLR
17
调试工具准备
QEMU + GDB调试ARM64启…
调试工具准备
QEMU
18
使用GDB连接QEMU
target remote命令 · 断点设置(break *0x地址) · 单步调试
GDB
QEMU
19
查看异常向量表内存布局
使用GDB的x/256gx命令查看向…
查看异常向量表内…
GDB
20
验证VBAR_ELx寄存器值
使用GDB的info registe…
VBAR
ELx
21
模拟触发同步异常
通过执行未定义指令(.word 0)… · 观察向量表跳转
模拟触发同步异常
word
22
模拟触发IRQ中断
通过QEMU的qemu-system…
IRQ
模拟触发
23
调试异常处理存根
在异常处理入口设置断点 · 检查保存的上下文(x0-x30 · sp
调试异常处理存根
异常处理入口设置…
24
分析异常返回流程
从异常处理返回时 · ERET指令的执行与SPSR_ELx…
分析异常返回流程
从异常处理返回时
25
常见启动异常分析
Undefined Instruct… · Page Fault · Alignment Fault的调试…
常见启动异常分析
Undefined
26
使用Trace工具
QEMU的semihosting与-…
Trace
使用
27
Head.S中异常向量表的优化
减少异常处理延迟 · 使用快速路径(Fast Path)处…
Head.S
异常向量表的优化
28
多核启动中的异常向量表
Secondary CPU的启动与每…
多核启动
异常向量表
29
安全世界与正常世界的异常路由
EL3 Monitor模式下的异常分…
安全世界
正常世界的异常路…
30
综合实战
从零编写一个最小Head.S · 包含完整的异常向量表配置 · 并在QEMU上启动调试
综合实战
Head.S
所属VIP或分类
同VIP:ARM64启动时head-S页表构建与MMU使能故障排查
同VIP:ARM64启动时设备树解析与内存映射调试
同VIP:EFI-stub引导下ARM64设备树传递路径与调试方法