BIOS和Bootloader的对比

news/2024/9/6 6:09:24 标签: 嵌入式, 操作系统, 硬件架构

桌面电脑刚加电时,一个叫做BIOS的软件程序立刻获得了处理器的控制权。(历史上,BIOS是Basic Input/Output Software的缩写,但现在这个单词已经有了自身的含义,因为其完成的功能比以前复杂多了。)BIOS可能实际存储在一块闪存中,便于升级BIOS程序。

BIOS是一个复杂的系统配置软件,它拥有硬件架构的底层信息。当电脑加电时,BIOS首先获得处理器的控制权。它的主要任务是初始化硬件,特别是内存子系统,并且从PC的硬盘驱动器中加载操作系统

在典型的嵌入式系统中,引导加载程序(bootloader)完成与BIOS相同的功能。对于定制嵌入式系统,你必须在开发计划中预留出时间,开发针对具体硬件板卡的引导加载程序。幸运的是,有几个很好的开源引导加载程序可供选择,你可以按照项目需求进行定制。

下面列出一些引导加载程序在系统加电时完成的重要任务:

红心初始化关键的硬件,比如SDRAM控制器、I/O控制器和图形控制器。

红心初始化系统内存,并准备将控制权移交给操作系统

红心为外设控制器分配必要的系统资源,比如内存和中断电路。

红心提供一个定位和加载操作系统镜像的机制。

红心加载操作系统,并将控制权移交给它,同时传递必要的启动信息。这些信息可能包括内存总容量、时钟频率、串行端口速率和其他与底层硬件相关的配置数据。

需要注意的是:如果你的嵌入式系统基于定制的硬件平台,这些引导加载程序的功能必须由你,也就是系统的设计者来提供。

 

区别:与桌面PC的BIOS不同,大多数的嵌入式系统都采用这样一种架构:当Linux内核掌握控制权时,引导加载程序就不复存在了。Linux内核要求收回那些之前被引导加载程序所占用的内存和系统资源。将控制权交回给引导加载程序的唯一方法就是重启目标板。

转载于:https://www.cnblogs.com/nufangrensheng/p/3620656.html


http://www.niftyadmin.cn/n/1069628.html

相关文章

linux无图形界面安装python2+pytorchtensorflow并python3+pytorchTensorFlow

linux无图形界面安装python2pytorch&tensorflow并python3pytorch&TensorFlow 这篇文章主要是写给自己的一点记录和使用linux服务器的备忘录,由于linux服务器已有的环境和网络的环境的限制,可能本文中所涉及的方法,大家并不适用&…

重载与覆盖的区别

(转自 http://blog.csdn.net/xxxluozhen/article/details/4030946) 1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。2、覆盖只能由一个方法,或只能由一…

linux ps 和 kill 以及如何调用某个单一的GPU进行运算

linux ps 和 kill 以及如何调用某个单一的GPU进行运算 作为一个linux小白,我开始了我的linux深度学习的旅程,这几天突击了一下莫凡的视频,真的是一个快速上手TensorFlow,keras和pytorch的教学视频,其中网址如下&#…

JVM内存模型简单理解

Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入何时对另外一个线程可见。从抽象的角度看,JMM定义了线程和主内存之间的抽象关系:线程之间共享变量存储在主内存(main memory)中&#xf…

linux服务器中安装vimrc的一二三

linux服务器中安装vimrc的一二三 近期某大神推荐我安装vimrc,最为小白的我就试着安装了一下,并简单的记录了一下安装过程已备忘。有关vimrc的使用和安装的相关参考如下: https://www.jianshu.com/p/f0513d18742a 1.下载并安装vimrc 我们可…

Let’s Work on an LLVM Superoptimizer

原文地址:http://blog.regehr.org/archives/1109 Let’s Work on an LLVM Superoptimizer A compiler optimization has two basic parts. First, it needs to recognize an optimizable situation in the IR (intermediate representation), such as adjacent incr…

JVM架构模型及分类

JVM架构模型 三层: 类加载系统 ClassLoader 运行时数据区(内存问题):调优、原理 执行引擎: 虚拟机的核心组件,它负责执行虚拟机的字节码,一般会先编译…

在linux服务器后端运行程序,不会因为前段电脑关机而停止程序的运行

在linux服务器后端运行程序,不会因为前段电脑关机而停止程序的运行 之前小白我在使用putty运行服务器的时候,一般都是直接登录自己的服务器账号和密码之后,就开始python自己的程序了,这样的话其实对于一些运行时间不长的程序来说…