引导加载程序在嵌入式设备中的理解

引导加载程序是系统加电后首段执行的代码,涉及PC机的BIOS、硬盘MBR以及嵌入式设备的启动方式。本文详细介绍了C51、ARM无操作系统、嵌入式设备和通用计算机的引导程序,包括它们的硬件配置、内存管理和操作系统加载。同时,解释了Boot Loader的两个阶段及其在初始化硬件、设置堆栈、加载内核等方面的作用。

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

前言

引导加载程序是系统加电后运行的第一段软件代码。在PC机中的由BIOS和位于硬盘MBR中的OS Boot Loader等共同构成了引导加载程序。
其中BIOS在完成硬件检测和资源分配后,将硬盘MBR中的Boot Loader读到系统的RAM中,然后将控制权交给OS Boot Loader。

Boot Loader的主要运行任务就是将内核映像从硬盘上读到RAM中去,然后跳转到内核的入口点去运行,即开始启动操作系统。

Boot Loader所支持的嵌入式体系

Assigned boot loader ids (hexadecimal):

	0  LILO			(0x00 reserved for pre-2.00 bootloader)
	1  Loadlin
	2  bootsect-loader	(0x20, all other values reserved)
	3  Syslinux
	4  Etherboot/gPXE/iPXE
	5  ELILO
	7  GRUB
	8  U-Boot
	9  Xen
	A  Gujin
	B  Qemu
	C  Arcturus Networks uCbootloader
	D  kexec-tools
	E  Extended		(see ext_loader_type)
	F  Special		(0xFF = undefined)
       10  Reserved
       11  Minimal Linux Bootloader <http://sebastian-plotz.blogspot.de>
       12  OVMF UEFI virtualization stack
名称 说明 支持的架构
LILO Linux的磁盘引导加载程序 x86
GRUB LILO的GNU版 x86
Loadlin 从DOS引导Linux x86
U-Boot 以PPCBoot和ARMBoot为基础的通用引导程序 x86,ARM,PowerPC
RedBoot 以eCos为基础的引导程序 x86,ARM,PowerPC,MIPS,M68k,SuperH
Vivi 以s3c2410处理器引导Linux ARM
ROLO 从ROM引导Linux,且不需要BIOS x86
Etherboot 从以太网启动Linux系统的固件 x86
LinuxBIOS 以Linux为基础的BIOS替代品 x86
blob 来自LART计划的引导程序 ARM

关于引导程序的使用:其实每种嵌入式设备都需要配置硬件环境的,这其中就可以分类划分

  • C51简单的没有引导程序的
  • ARM有引导程序但是没有操作系统的
  • 高级的有引导程序和操作系统的

下面就分别说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值