网站首页 > 技术教程 正文
一个嵌入式Linux系统从软件的角度通常分为以下四个层次:
- 引导加载程序。包括固化在firmware中的boot代码(可选),和Bootloader两大部分。
- Linux内核。
- 文件系统。
- 应用程序。
Bootloader概念
在嵌入式操作系统中,Bootloader是硬件启动的引导程序,是运行操作系统的前提;在操作系统内核或用户应用程序运行之前运行的一小段代码,对软硬件进行相应的初始化和设定,为最终运行操作系统准备好环境,类似于X86计算机中的BIOS固件;Bootloader不属于操作系统,一般采用汇编语言和C语言开发,需要针对特定的硬件平台(比如arm、powerpc、MIPS等)编写,Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。
Bootloader的两种操作模式
自启动模式:在这种模式下,Bootloader从目标机上的某个固态存储设备上将操作系统(kernel)加载到RAM中运行(读取bootcmd参数),整个过程并没有用户的介入。
交互模式:在这种模式下(uboot可在倒计时按任意键进入到这种模式),目标机上的Bootloader将通过串口或网络等方式从开发主机(Host)上下载内核映像和根文件系统映像等到RAM中,可以被 Bootloader写到目标机上的固态存储媒质中,或者直接进行系统的引导。也可以通过串口接收用户的命令。
Bootloader的基本功能
- 初始化相关硬件
- 把bootloader自搬运到RAM中
- 执行用户的命令
- 访问环境变量
- 通过网络/串口通信
- 读写RAM/FLASH
- 加载并执行内核
常见的Bootloader
- Redboot:Redhat公司随eCos发布的一个BOOT方案,是一个开源项目,Linux操作系统引导,在线读写Flash。
- ARMboot:ARM平台的开源固件项目,2002年ARMboot终止了维护。
- U-Boot:ARMboot并入了PPCBoot,和其他一些平台的Loader合称U-Boot,是目前最常用的bootloader。
- Blob、Bios-lt、Bootldr、vivi等
猜你喜欢
- 2024-10-23 基于S12 MagniV系列的LIN Bootloader设计
- 2024-10-23 怎么使用USBasp给arduino烧写bootloader?
- 2024-10-23 腾讯 ROG 游戏手机 6 / Pro 公开内核源码并支持解锁 bootloader
- 2024-10-23 浅谈基于uds的bootloader设计(简要概述u-boot的主要功能)
- 2024-10-23 Bootloader引导程序uboot(bootice 引导)
- 2024-10-23 基于CAN总线的Bootloader设计与实现
- 2024-10-23 Rust语言开发操作系统-第二章(最小化内核)
- 2024-10-23 基于RT-Thread完整版搭建的极简Bootloader
- 2024-10-23 海信阅读手机A9现可解锁bootloader并获取root权限
- 2024-10-23 三星警告Galaxy Z Fold 3解锁bootloader将失去相机功能
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)