Bootloader介绍

【dsPIC33E】Bootloader(一)Bootloader介绍与Flash结构 对于嵌入式开发而言,Bootloader几乎与操作系统同等重要,它可以让我们摆脱MCU官方工具,定制自己的烧录工具,不仅提高产品辨识度,同时也大大减少了对外引脚数量(例如兼容通信的Uart或CAN等,而不需要另外接JTAG)。 要开发Bootloader,相对于普通程序,是有一定难度的,这其中涉及到MCU的工作原理、内部存储结构等,而且仅仅依靠C语言可能无法完成,有时需要配合汇编来精确执行特殊指... 阅读详情
1. 软件角度看嵌入式系统,分为三个层次
1). 引导加载程序
a). 包含在固件(firmware)中的boot程序,如PC机上的BIOS【可选的,有的没有】
b). Bootloader : 将内核从硬盘上读到内存中,然后跳到内核的入口点去运行,即启动操作系统
Lilo Linux磁盘引导程序 支持x86,不支持ARM、PowerPC
Grub GNU的Lili代替程序 支持x86,不支持ARM、PowerPC
U-boot 通用引导程序,支持x86,ARM,PowerPC
Redboot 基于eCos的引导程序,支持x86,ARM,PowerPC
...
2). Linux内核
3). 文件系统

2. bootloader移植
1). 移植类型
芯片级的移植 : 由于使用的CPU等都不一样
板级的移植 : 使用同样的CPU,但是硬件资源不同

3. bootloader的流程
根据启动过程可分为
1). Single-Stage 单阶段
2). Multi-Stage 多阶段 : 具有更复杂的功能,更好的移植性
大多采用两阶段
Stage1 : 汇编语言实现,(因为C语言环境在这个阶段还没有准备好)
a). 完成初始化硬件 : 包括初始化CPU内部寄存器
b). 为Stage2准备内存空间,并将Stage2复制到内存中 : 在RAM里速度比Flash里要快
c). 设置堆栈 : Stage2的C代码要用到堆栈
d). 然后跳到Stage2
Stage2 : 
a). 初始化硬件 : 初始化板级的一些硬件,比如串口、网卡、
b). 将内核映像和根文件系统映像从flash上读到RAM中
c). 调用内核
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系统 阅读详情

相关推荐

eCos编译环境安装

详细描述了嵌入式系统bootloader引导eCos开发环境的安装。

常见bootloader介绍

一、BootLoader简介   在专用的嵌入式板子运行操作系统已经变得越来越流行。一个嵌入式系统从件的角度看通常可以分为三个层次:   1、 引导加载程序。包括固化在固件(firmware)中的Booter代码(可选),和Loader两大部分。   2、 操作系统。特定于嵌入式板子的定制内核以及内核的启动参数;以及在内核和应用程序之间可能还会包括一个嵌入式图形用户界面,常用的嵌入

ljzcom的专栏 1万+

一些常见BootLoader介绍

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

lwz15071387627的博客 8730

几种Bootloader简介

l         RedbootRedboot是Redhat公司随eCos发布的一个BOOT方案,是一个开源项目。当前Redboot的最新版本是Redboot-2.0.1,Redhat公司将会继续支持该项目,其官方发布网址为:http://sources.redhat.com/redboot/。Redboot支持的处理器构架有ARM,MIPS,MN10300,PowerPC, Ren

menuconfig的专栏 2088

ecos(redboot)移植剖析

不同平台之间的移植(CPU相同,硬件平台不同) mypath是ecos的安装目录 mypath/ecos/package/ecos.db记录了现有的包(package)和目标板(target)描述.一个target包含若干的package,target的描述会出现在configtool的templete的选项里。Target里同时指定了包含的package。照猫画虎的添加上自己的package

aaaaatiger--寻路 1273

BootLoader介绍

1.BootLoader的引入 2.BootLoader的启动方式 3.BootLoader的结构和启动过程 4.自己写一个BootLoader

qq_51118175的博客 2万+

bootloader的具体介绍

原文地址:bootloader的具体介绍作者:翱翔-分享    引导加载程序BootLoader 是系统加电后运行的第一段代码。我们熟悉的PC 中的引导程序一般由BIOS 和位于硬盘MBR中的OS bootloader(例如LILO 或者GRUB)一起组成。然而在嵌入式系统中通常没有像BIOS 那样的固件程序(有的嵌入式CPU 有),因此整个系统的加载启动任务就完全由bootloader 来完成。

1584

bootloader详细介绍

链接直达:https://www.cnblogs.com/anandexuechengzhangzhilu/p/10719869.html

qq_41246458的博客 276

bootloader介绍

Bootloader 对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader。 6.1.1 Bootloader介绍 Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系统内核做好准备。 对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的B.

weixin_36575733的博客 2123

bootloader 详细介绍

Bootloader 对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader。 6.1.1 Bootloader介绍 Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系统内核做好准备。 对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的B.

一口Linux的专栏 5939

Bootloader 介绍

bootloader的定义: 相当于pc机的BIOS,在操作系统启动内核运行之前运行的一段小程序,通过这段小程序我们可以初始化cpu内部的硬件设备,建立内存空间映射范围,从而将系统的硬件环境带到一个合适的状态,以便最终调用os内核准备好正确的环境。 可以得出boot

Android's Blog 1987

【MCU】BootLoader的简单介绍

介绍了什么是BootLoaderBootLoader的启动过程。

m0_38045338的博客 6305

BootLoader功能介绍

一般车辆ECU件分为两部分Bootloader(简称boot)和Application应用程序(简称App),App应用程序是实现ECU功能的代码程序,而Bootloader是指ECU应用程序运行之前运行的一段小程序。ECU中的这段boot程序主要被用来实现App程序更新。

m0_55475180的博客 598

bootloader原理介绍

不同mcu芯片的启动形式呢,又都不尽相同,比如采用Coretex-M内核的stm32系列mcu,如前面所说,启动时会固定跳转到0地址处。不管你用不用它,但还是那句老话,我们没有权限对这片flash地址进行修改。

m0_73640344的博客 1854

BootLoader 介绍 与 uboot 简介

1 BootLoader介绍 1.1 BootLoader 的概念 BootLoader 的引入 如果它 能将噪作系统内核复制到内存中运行,无论从本地〔比如Fh)还是从远端(比如通过网络), Bootloader就是这么一小段程序,它 能将噪作系统内核复制到内存中运行,无论从本地(比如 Flash)还是从远端(比如通过网络),它在系统上电时开始执行初始化硬件设备、准各好件环境,最后调用操作系统内核。 可以增强 Bootloader 的功能,比如增加网络功能、从上通过串口或网络下载文件、 烧写文件、将F

weixin_46640184的博客 3503
上一篇: 内核模块开发基础
下一篇: 增加ldo regulator震动驱动
linuxdriverdeveloper
博客等级 码龄15年 11粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值