几种Bootloader简介

U-Boot完美解读(前篇)——说说bootloader那些事儿 1、官方说bootloader BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI 阅读详情
l         Redboot
Redboot是 Redhat公司随 eCos发布的一个 BOOT方案,是一个开源项目。
当前 Redboot的最新版本是 Redboot-2.0.1, Redhat公司将会继续支持该项目,其官方发布网址为: http://sources.redhat.com/redboot/。
Redboot支持的处理器构架有 ARM, MIPS, MN10300, PowerPC, Renesas SHx, v850, x86等,是一个完善的嵌入式系统 Boot Loader。
Redboot是在 ECOS的基础上剥离出来的,继承了 ECOS的简洁、轻巧、可灵活配置、稳定可靠等品质优点。它可以使用 X-modem或 Y-modem协议经由串口下载,也可以经由以太网口通过 BOOTP/DHCP服务获得 IP参数,使用 TFTP方式下载程序映像文件,常用于调试支持和系统初始化( Flash下载更新和网络启动)。 Redboot可以通过串口和以太网口与 GDB进行通信,调试应用程序,甚至能中断被 GDB运行的应用程序。 Redboot为管理 FLASH映像,映像下载, Redboot配置以及其他如串口、以太网口提供了一个交互式命令行接口,自动启动后, REDBOOT用来从 TFTP服务器或者从 Flash下载映像文件加载系统的引导脚本文件保存在 Flash上。当前支持单板机的移植版特性有:
-          支持 ECOS, Linux操作系统引导
-          在线读写 Flash
-          支持串行口 kermit, S-record下载代码
-          监控 (minitor)命令集 :读写 I/O,内存,寄存器、 内存、外设测试功能等
Redboot是标准的嵌入式调试和引导解决方案,支持几乎所有的处理器构架以及大量的外围硬件接口,并且还在不断地完善过程中。
 
l         ARMboot
ARMboot是一个 ARM平台的开源固件项目,它特别基于 PPCBoot,一个为 PowerPC平台上的系统提供类似功能的姊妹项目。鉴于对 PPCBoot的严重依赖性,已经与 PPCBoot项目合并,新的项目为 U-Boot。
ARMboot发布的最后版本为 ARMboot-1.1.0, 2002年 ARMboot终止了维护,其发布网址为: http://sourceforge.net/projects/armboot。
ARMboot支持的处理器构架有 StrongARM , ARM720T , PXA250 等,是为基于 ARM或者 StrongARM CPU的嵌入式系统所设计的。
ARMboot的目标是成为通用的、容易使用和移植的引导程序,非常轻便地运用于新的平台上。 ARMboot是 GPL下的 ARM固件项目中唯一支持 Flash闪存, BOOTP、 DHCP、 TFTP网络下载, PCMCLA寻线机等多种类型来引导系统的。特性为:
-          支持多种类型的 FLASH
-          允许映像文件经由 BOOTP、 DHCP、 TFTP从网络传输;
-          支持串行口下载 S-record或者 binary文件
-          允许内存的显示及修改
-          支持 jffs2文件系统等
Armboot对 S3C44B0板的移植相对简单,在经过删减完整代码中的一部分后,仅仅需要完成初始化、串口收发数据、启动计数器和 FLASH操作等步骤,就可以下载引导 uClinux内核完成板上系统的加载。总得来说, ARMboot介于大、小型 Boot Loader之间,相对轻便,基本功能完备,缺点是缺乏后续支持。
 
l         U-Boot
U-Boot是由开源项目 PPCBoot发展起来的, ARMboot并入了 PPCBoot,和其他一些 arch的 Loader合称 U-Boot。 2002年 12月 17日第一个版本 U-Boot-0.2.0发布,同时 PPCBoot和 ARMboot停止维护。
U-Boot自发布以后已更新 6次 ,最新版本为 U-Boot-1.1.1, U-Boot的支持是持续性的。其发布网址为 : http://sourceforge.net/projects/u-boot/。
U-Boot支持的处理器构架包括 PowerPC (MPC5xx, MPC8xx, MPC82xx, MPC7xx, MPC74xx, 4xx), ARM ( ARM7, ARM9, StrongARM, Xscale), MIPS (4Kc, 5Kc), x86等等, U-Boot( Universal Bootloader)从名字就可以看出,它是在 GPL下资源代码最完整的一个通用 Boot Loader。
U-Boot提供两种操作模式:启动加载( Boot loading)模式和下载( Downloading)模式 ,并具有大型 Boot Loader的全部功能。主要特性为:
-          SCC/FEC以太网支持 
-          BOOTP/TFTP引导 
-          IP, MAC预置功能 
-          在线读写 FLASH, DOC, IDE, IIC, EEROM, RTC
-          支持串行口 kermit, S-record下载代码 
-          识别二进制、 ELF32、 pImage格式的 Image,对 Linux引导有特别的支持 
-          监控 (minitor)命令集 :读写 I/O,内存,寄存器、内存、外设测试功能等
-          脚本语言支持(类似 BASH脚本)
-          支持 WatchDog, LCD logo,状态指示功能等 
U-Boot的功能是如此之强大,涵盖了绝大部分处理器构架,提供大量外设驱动,支持多个文件系统,附带调试、脚本、引导等工具,特别支持 Linux,为板级移植做了大量的工作。 U-Boot1.1.1版本特别包含了对 SA1100和 44B0芯片的移植,所以 44B0移植主要是针对 Board 的移植,包括 FLASH、内存配置以及串口波特率等等。 U-Boot的完整功能性和后续不断的支持,使系统的升级维护变得十分方便。
 
l         Blob
Blob(Boot Loader Object)是由 Jan-Derk Bakker and Erik Mouw发布的,是专门为 StrongARM 构架下的 LART设计的 Boot Loader。
Blob的最后版本是 blob-2.0.5,其发布网址为: http://www.lart.tudelft.nl/lartware/blob/。
Blob支持 SA1100的 LART主板,但用户也可以自行修改移植。
Blob也提供两种工作模式,在启动时处于正常的启动加载模式,但是它会延时 10 秒等待终端用户按下任意键而将 Blob 切换到下载模式。如果在 10 秒内没有用户按键,则 Blob 继续启动 Linux 内核。其基本功能为:
初始化硬件( CPU速度,存储器,中断, RS232串口)
-          引导 Linux内核并提供 ramdisk
-          给 LART下载一个内核或者 ramdisk
-          给 FLASH片更新内核或者 ramdisk
-          测定存储配置并通知内核
-          给内核提供一个命令行
Blob功能比较齐全,代码较少,比较适合做修改移植,用来引导 Liunx,目前大部分 S3C44B0板都用 Blob修改移植后来加载 uClinux。  
l         Bios-lt
Bios-lt是专门支持三星( Samsung)公司 ARM构架处理器 S3C4510B的 Loader,可以设置 CPU/ROM/SDRAM/EXTIO,管理并烧写 FLASH,装载引导 uClinux内核。这是国内工程师申请 GNU通用公共许可发布的。                   
Bios-lt的最新版本是 Bios-lt-0.74,另外还提供了 S3C4510B的一些外围驱动,其发布网址为: http://sourceforge.net/projects/bios-lt。
l         Bootldr
Bootldr是康柏( Compaq)公司发布的,类似于 compaq iPAQ Pocket PC,支持 SA1100芯片。它被推荐用来引导 Llinux,支持串口 Y-modem协议以及 jffs文件系统。                                           
Bootldr的最后版本为 Bootldr-2.19,其发布网址为:  http://www.wearablegroup.org/software/bootldr/。
 
两级bootloader的几种方案 背景: 汽车软件Boot程序的主要作用是刷新App程序。在在一个具体客户项目中,Boot也是客户需求的一部分,跟随项目也有软件开发计划(有的为了和其它Boot区分,把项目上的Boot称作CB, Customer Boot)。对于已经下线盒盖的控制器,无论是在供应商或者客户手里测试,只能通过CB刷新App。如果需要CB自刷新,就需要额外的方法。 规范: 整车厂只有对App程序刷新的规范,没有对Boot自我刷新的规范。因为规范是针对量产车的,售后只负责App程序的升级,不对Boot升级(也不允许Boot升 阅读详情

相关推荐

烧写 Arduino BootLoader 的几种方法

首先,介绍下ICSP接口。ICSP(In-Circuit Serial Programming)接口为在线程序烧录接口,其在arduino 系列电路板上为一个2*3的排针端子,6根排针与Arduino 电路板上的单片机相连接,分别对应5VMISOMOSISCKGND和RESET,具体顺序如下图所示。其中MISOMOSISCK为Arduino SPI 接口。有些人认为ICSP接口为Arduino的SPI接口,我认为这种说法是不正确的。SPI接口应为MISOMOSISCK及SS。

ByteBox的博客 2694

Redboot 学习笔记

简介 RedBoot 是 “Red Hat Embedded Debug and Bootstrap” 的缩写,包含很多工具例如下载,还有一个简单的Flash 文件系统用以存放启动代码。 以下是RedBoot 的一些突出优点: 􀁺 支持启动脚本 􀁺 可用简单的命令行界面配置与管理,可通过以太网(Telnet)或串口(超级终端) 访问。 􀁺 集成GDB stubs 用来通过串口或以太网与宿主机上的排错软件通信。(限局域网) 􀁺 属性配置 - 很多数据是可配置的,例如系统时间、日期(如果可用),默认启动 F

老熊的博客 3029

STM32在ArduinoIDE环境下的开发(不同的下载方式,不同的BootLoader方式,无需BootLoader方式)

网上有不少介绍Arduino下开发STM32的帖子,但因为时间发展关系,核心库的开发和第三方库的发展有好几种,另外采用的下载方式也各不相同,因此容易让人进坑。为此,试通过此文综合介绍下STM32在ArduinoIED环境下的开发,减少入坑几率。 本文综合介绍在不同下载方式下,不同的stm32支持arduino内核下,不同的BootLoader下进行开发的基本过程。

weixin_41565556的博客 7872

redboot详解

Redboot 常用命令详解(zt) (2008-09-22 19:01) 分类: Linux内核和驱动及底层接口应用 Redboot 常用命令详解(zt) 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://redboot.blogbus.com/logs/22381509.html Redboot启动完成后,就进入命令行状态

固本培元的专栏 2741

Bootloader和Recovery的基本介绍

文章目录BootLoader之高通LK介绍:bootloader的信息来源:Bootloader Control BlockAndroid Recovery之系统升级:**如何进入recovery升级:****U盘升级包(update.zip):****fix.sh中auto update机制:**recovery进程获取command源码分析 BootLoader之高通LK介绍: 硬件通电后,bootloader是必须要启动运行的,由bootloader来决定运行recovery系统还是android系统

m0_43399953的博客 2308

肿瘤基因组分析实战:VAF、MAF、CCF这些指标到底怎么算?(附Python代码示例)

本文通过Python代码示例,详细解析了肿瘤基因组分析中VAF、MAF和CCF三大核心指标的计算逻辑与应用。文章从VCF文件解析入手,逐步演示了变异等位基因频率、次等位基因频率及癌细胞分数的计算方法,并探讨了拷贝数变异对结果的影响及克隆结构推断的实战流程,为生物信息分析提供实用指南。

silver的专栏 1006

RedBoot 命令使用

Redboot 常用命令详解(zt) 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://redboot.blogbus.com/logs/22381509.html Redboot启动完成后,就进入命令行状态(CLI),接受命令并执行,如果你用Redboot作为boot-loader就一定需要熟悉相关的命令,命令的相关解释在帮助文档上面都解释的很详细

stonesharp的专栏 3018

PCB测试点

PCB测试点

qq_31444421的博客 1万+

一些常见BootLoader介绍

         首先区分一下BootLoader和Monitor的概念。严格来说,BootLoader只是引导设备并且执行主程序的固件;而Monitor还提供了更多的命令行接口,可以进行调试、读写内存、烧写Flash、配置环境变量等。Monitor在嵌入式系统开发过程中可以提供很好的调试功能,开发完成以后,就完全设置成了一个BootLoader。所以,习惯上大家把它们统称为BootLoader。...

lwz15071387627的博客 8745

使用PlotNeuralNet绘制深度学习网络图的基本操作

使用PlotNeuralNet绘制深度学习网络图的基本操作

weixin_46877907的博客 2112

第一百三十九回 介绍三个BLE包

本章回中主要介绍了Flutter中BLE的概念和操作方法,主要介绍了三个BLE包的功能和差异,以方便大家在BLE操作中选择不同的包。

talk_8的专栏 574

Bootloader 简介

Bootloader是嵌入系统中最先运行的代码,完成系统引导的过程。

lcy_ltpsr的专栏 1068

软考备考:《系统规划与管理师教程》(第2版)第2章——数字ZG与数智化发展

🔴数字化转型的定义:数字化转型是建立在数字化转换、数字化升级基础上,进一步触及组织核心业务,以新建一种业务模式为目标的高层次转型。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 960

[Arduino]烧写Arduino BootLoader的几种方法

[Arduino]烧写Arduino BootLoader的几种方法

李万鑫的博客 6万+

【YOLOv8/v9/v10 实战 01】YOLOv8/v9/v10全系列实战对决:性能矩阵、架构拆解与2026部署指南

2026年YOLO生态已进入“战国时代”,Ultralytics YOLOv8/11/26、阿里YOLO12、清华YOLOv10、微软YOLOv9四大路线并行发展。本文基于官方文档、学术论文及实测数据,系统剖析三大核心版本(YOLOv8/v9/v10)的架构演进逻辑,构建覆盖参数量、mAP、FPS、FLOPs的完整性能矩阵。通过8组工业场景实测、全流程代码实现(训练-导出-部署)、6类硬件适配方案,解决新手选型难、进阶者优化无门、工业开发者部署低效的痛点。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 534

调用魔搭API出现Please bind your Alibaba Cloud account before use的解决方案

本文主要介绍了调用魔搭API出现Please bind your Alibaba Cloud account before use解决方案,希望能对使用大模型的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 3万+

Bootloader详解

在给CPU上电后,Linux系统并不会马上运行,通常CPU需要跳到一个的非易失性存储器(例如ROM,Flash或者EMMC等)的指定地址去执行一段程序,这段程序可以做一些硬件初始化的工作,最终引导内核和文件系统到内存中去运行。这段程序通常只运行一次,在完成成引导后就会自动结束,CPU会跳转到内存去开始运行Linux系统。其中的这一段程序被叫做Bootloader,翻译为引导加载程序。

Interview_TC的博客 1121

Windows安装 OpenClaw详细教程(使用wsl2+ubuntu)

OpenClaw 是一款于 2026年1月 正式对外开源的个人AI助手平台(AI Agent),由 PSPDFKit 创始人彼得·斯坦伯格(Peter Steinberger) 开发。它不仅仅是一个聊天机器人,更是一个能够主动执行任务的“数字管家”。OpenClaw的核心特点是本地化部署、隐私可控以及强大的自动化执行能力。OpenClaw 项目在开发过程中经历过两次更名,最终定为现名:初名:Clawdbot(因与 Claude 名称过于相似引发侵权争议而改名)。

猿小白的博客 1008

嵌入式Linux系统的Bootloader简介

原文网址: 嵌入式Linux系统的Bootloader简介    支持Linux的Bootloader比较多,发展到2010年,出现了一些必然的结果,有些Bootloader已经消失,有些Bootloader被取代,有些Bootloader被合并,有些虽然在发展,不过已退居一个偏僻的角落。现在就主流的或者说应用的有点广泛的Bootloader做个介绍。      GRUB/GRUB2

junmuzi的专栏 1531

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

BootLoader

BootLoader

1190

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

几款适用单片机的Bootloader

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang随着物联网的发展,加上MCU外设/功能越来越丰富、存储资源也越来越多,在线更新MCU固件成了很多嵌入式产品的重要功能。今天分享几款适用于MCU的Bootloader,看看你们用过哪些?MCUbootMCUboot顾名思义,针对MCU的boot,它是一款适用于 32 位微控制器的安全引导加载...

strongerHuang 2244

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Bootloader/IAP零基础入门(0) —— Bootloader/IAP的前置知识

Bootloader/IAP零基础入门(0) —— Bootloader/IAP的前置知识

在嵌入式嵌入式领域奋斗的程序猿的博客 2321

UDS之BootLoader刷写流程介绍

Bootloader是所有支持重编程的ECU必须具备的软件功能,在ECU运行过程中,执行的是应用软件和应用数据,仅当应用软件或应用数据无效或者上电之初,或者要求对其进行升级或特殊测试的时侯,才会运行Bootloader软件。 应用软件和应用数据可以同时编程或者相互独立编程,通常在ECU在刷入bootloader后,bootloader是无法再次更新的,除非拆件,不过现在这越来越多的主机厂要求Bootloader也要支持刷写。Bootloader存储于被保护的flash区域,即使发生潜在错误时,控制器的应用

king110108的专栏 2万+
上一篇: WinCE系统下BootLoader的开发【转载】
下一篇: Redboot安装历程
menuconfig
博客等级 码龄19年 713粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值