bootloader的功能和映象的烧写和启动步骤

本文介绍了嵌入式系统中bootloader的功能及其操作模式,并详细解释了如何通过烧写bootloader、内核及文件系统来启动系统。同时,文章还概述了嵌入式Linux系统的四层结构。

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

一、bootloader的功能

弄嵌入式的,首先得知道bootloader的功能是干嘛的,不能盲目的跟着别人的脚步,要你烧bootloader进板子就直接烧进去。

 

bootloader的功能:

1.引导操作系统。

2.升级(3种升级方式 OTP USB RS232)。

3初始化硬件设备。

4.建立内存空间映射图。

 

 

二、映象的烧写和启动步骤

拿到一块板子,要想他运行起来,我们就要了解以下几个步骤,普遍烧写启动步骤如下:

1.烧写bootloader(之后配置boot参数)

2.烧写内核 kernel

3.烧写文件系统

4.设置起机参数

 

我这里就简要的介绍一下,给大伙一个基本认识,具体的得参考自己的板子的相关资料。

 

在专用的嵌入式板子运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:

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

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

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

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

引导加载程序是系统加电后运行的第一段软件代码。PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OS BootLoader(比如,LILOGRUB等)一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到系统的RAM中,然后将控制权交给OS BootLoaderBootLoader的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。

通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。

bootloader的操作模式

1,自启动模式:在这种模式下,bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。

2,交互模式:在这种模式下,目标机上的bootloader将通过串口或网络等通行手段从开发主机(Host)上下载内核映像等到RAM中。可以被bootloader写到目标机上的固态存储媒质中,或者直接进入系统的引导。也可以通过串口接收用户的命令。

bootloader的启动

第一阶段:

1,初始化基本硬件;

2,把bootloader自动搬运到内存中;

3,设置堆栈指针并将bss段清零。为后续执行代码做准备;

第二阶段:

1,初始化本阶段要用到的硬件;

2,读取环境变量;

3,启动:(a)自启动模式,从Flash或通过网络加载内核并执行;

(b) 下载模式,接收到用户的命令后执行;

转载请注明出处:http://blog.youkuaiyun.com/wo_yan_zhao/article/details/12910663

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值