ARM Linux启动全过程归纳

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

ARM Linux启动全过程归纳

Nathan.Yu

上电启动中断->pc=0x00000000

0. BootLoader阶段:

1) 处理启动中断(Reset):初始化必要硬件设备(如:RAM

2) 加载Linux内核镜像到RAM

3) 跳转到Linux

1. Linux内核执行阶段:

1) 对压缩镜像:先解压缩(linux/arch/arm/boot/compressed/head.S),解压后执行镜像

2) 执行镜像:解压後/非压缩镜像直接执行(linux/arch/arm/kernel/head-armv.SENTRY(stext)-> __entry->__ret->__switch_data->__mmap_switched->

3) linux/init/main.cstart_kernel()

2. 中断向量表的建立过程:

linux/init/main.cstart_kernel()->

linux/arch/arm/kernel/traps.c:trap_init()->

linux/arch/arm/kernel/entry-armv.SENTRY(__trap_init)

参考:

1. ARM Linux启动过程分析

2. ARM Linux外部中断处理过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值