您的位置 首页 IOT

Linux体系下的Bootloader详解

对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader。在

关于计算机体系来说,从开机上电到操作体系发动需求一个引导进程。嵌入式Linux体系相同离不开引导程序,这个引导程序就叫作Bootloader。在这里咱们就为咱们具体介绍Bootloader,Bootloader是在操作体系运转之前履行的一段小程序。经过这段小程序,咱们能够初始化硬件设备、树立内存空间的映射表,然后树立恰当的体系软硬件环境,为终究调用操作体系内核做好预备。

关于嵌入式体系,Bootloader是根据特定硬件渠道来完成的。因而,几乎不可能为一切的嵌入式体系树立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootloader不光依赖于CPU的体系结构,而且依赖于嵌入式体系板级设备的装备。关于2块不同的嵌入式板而言,即便它们运用同一种处理器,要想让运转在一块板子上的Bootloader程序也能运转在另一块板子上,一般也都需求修正Bootloader的源程序。
反过来,大部分Bootloader依然具有许多共性,某些Bootloader也能够支撑多种体系结构的嵌入式体系。例如,U-Boot就一起支撑PowerPC、ARM、MIPS和X86等体系结构,支撑的板子有上百种。一般,它们都能够主动从存储介质上发动,都能够引导操作体系发动,而且大部分都能够支撑串口和以太网接口。
本章将对各种Bootloader总结分类,剖析它们的一起特色。以U-Boot为例,具体评论Bootloader的规划与完成。
Bootloader的发动
Linux体系是经过Bootloader引导发动的。一上电,就要履行Bootloader来初始化体系。能够经过第4章的Linux发动进程框图回忆一下。
体系加电或复位后,一切CPU都会从某个地址开端履行,这是由处理器规划决议的。比方,X86的复位向量在高地址端,ARM处理器在复位时从地址0x00000000取第一条指令。嵌入式体系的开发板都要把板上ROM或Flash映射到这个地址。因而,有必要把Bootloader程序存储在相应的Flash方位。体系加电后,CPU将首要履行它。
主机和方针机之间一般有串口能够衔接,Bootloader软件一般会经过串口来输入输出。例如:输出犯错或许履行成果信息到串口终端,从串口终端读取用户操控指令等。
Bootloader发动进程一般是多阶段的,这样既能供给杂乱的功用,又有很好的可移植性。例如:从Flash发动的Bootloader多数是两阶段的发动进程。从后边U-Boot的内容能够具体剖析这个特性。
大多数Bootloader都包括2种不同的操作形式:本地加载形式和长途下载形式。这2种操作形式的差异仅关于开发人员才有含义,也便是不同发动方法的运用。从终究用户的视点看,Bootloader的效果便是用来加载操作体系,而并不存在所谓的本地加载形式与长途下载形式的差异。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/258442.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部