arm linux内核启动条件(ARM Linux Kernel Boot Requirements)

In order to boot ARM Linux, you require a boot loader, which is a small program that runs before the main kernel. The boot loader is expected to initialise various devices, and eventually call the Linux kernel, passing information to the kernel.

Essentially, the boot loader should provide (as a minimum) the following:

  1. Setup and initialise the RAM.
  2. Initialise one serial port.
  3. Detect the machine type.
  4. Setup the kernel tagged list.
  5. Call the kernel image

为了启动arm linux,你需要一个启动引导程序(boot loader),在内核启动之前需要运行的一个程序。这个程序主要用来初始化各种硬件资源,最终将信息传递给内核,并调用内核。

事实上,boot loader 应该提供以下信息:

1.设置和初始化RAM。

2.初始化一个串口。

3.检测机器类型。

4.设置内核标签列表。

5.调用内核。之前ARM处理器应该达到的状态:

1)CPU寄存器设置:R0=0;R1存放在步骤3中检测到的机器类型;R2存放内核标签列表的物理地址

2)CPU模式:所有的中断必须被禁止;CPU必须处理SVC模式(Angel除外)

3)Caches,MMUs:MMU必须关闭;Instructon Cache 可关可开;Data Cache必须关闭,且不包含任何旧的数据

4)设备:DMA设备必须被停用

5)bootloader能过直接跳转到内核镜像的第一条指令来调用内核。


原文地址:http://www.arm.linux.org.uk/developer/booting.php

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值