ARM9嵌入式Linux开发-嵌入式系统的Boot Loader技术

本文详细介绍了嵌入式系统中的Boot Loader,包括其基本概念、支持的CPU和嵌入式板、安装媒介、控制机制、启动阶段、操作模式以及与主机的通信设备和协议。Boot Loader的主要任务包括硬件初始化、内存映射、内核加载等,分为stage1和stage2两个阶段。文中还提到了一些开源的Boot Loader项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

引言

Boot Loader程序的基本概念

Boot Loader 所支持的 CPU 和嵌入式板

Boot Loader 的安装媒介

用来控制 Boot Loader 的设备或机制

Boot Loader 的启动过程是单阶段还是多阶段

Boot Loader 的操作模式

BootLoader与主机进行文件传输所用的通信设备及协议

Boot Loader的主要任务与典型结构框架

Boot Loader 的 stage1

基本的硬件初始化 

为加载 stage2 准备 RAM 空间     

拷贝 stage2 到 RAM 中

设置堆栈指针 sp     

跳转到 stage2 的 C 入口点     

Boot Loader 的 stage2

初始化本阶段要使用到的硬件设备

检测系统的内存映射     

加载内核映像和根文件系统映像

设置内核的启动参数     

调用内核     

部分开源的Boot Loader


引言

一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:

1.引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选)和 Boot Loader 两大部分。

2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。

3. 文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ramdisk 来作为 root fs。

4. 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式 GUI 有:Qt和 MiniGUI 等。

引导加载程序是系统加电后运行的第一段软件代码。回忆一下 PC 的体系结构我们可以知道,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS Boot Loader(比如,LILO 、 GRUB和ntldr 等)一起组成。BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中,然后将控制权交给 OS Boot Loader。Boot Loader 的主要运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值