ARM Linux 内核引导的基本步骤

1、建立和初始化内存区域(这一步是必须的)

 

2、初始化至少一个串口,通过该串口可以打印内核引导时候的相关信息,供调试使用。

在引导参数上的表现为,传递给console= 的参数给内核

 

3、探测机器的类型。设置的机器码要和相应的引导中设置的一致。可以参考的文件为

arch/arm/tools/mach-types

 

4、建立并初始化内核标签列表。ATAG_CORE,ATAG_MEM,ATAG_NONE

标签列表应该放置在内核解压缩或者bootp不会覆盖的内存区域,建议是RAM的前16KB

 

5、调用内核镜像,从镜像处开始执行(从Flash或者RAM中调用执行zImage),主要下面动作:

禁止DMA;r0=0,r1=机器类型,r2=标签列表地址;禁止所有中断;关闭MMU,D-cache,I-cache;

直接掉到内核镜像的第一条指令开始执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值