bootloader 是和硬件相关的,不同的硬件有不同的 bootloader 。而 Linux 系统本身不含 bootloader 。
而 UC/OS 其实也有这个部分。只是 UC/OS 本身很小而且有针对硬件的代码,所以他可以把自己直接摆到 bootloader 的地方,让硬件级别的 bootloader 直接运行自己,而不需要一个功能更强的 bootloader 再去读取自己。
一般硬件都有一个固化的硬件启动雹毕过程,这个启动过程功能很简单,而且方源悔芹式也很固定,如果让这个硬件级的启动过程直接启动 Linux ,那么这个前弯硬件就需要完全的针对性设计,回导致整个硬件的灵活度降低。如果增加一个 bootloader 程序,这个 bootloader 既可以提供一个灵活的 *** 作系统启动方案,也可以提供很多的附加功能。而且这个东西可以针对硬件进行设计,使得硬件本身的启动功能可以做的很简单。
有了 bootloader ,Linux 就可以不自己去针对不同的硬件开发不同的 bootloader 代码,而专心提供通用 *** 作系统应该系统的各种功能。
bootloader并不慎轿没是只有arm中才有的,其它的嵌入式系统甚至PC上都会有bootloader,主要的作用就是引宽纳导帆搏 *** 作系统。在硬件起动后,硬件设备尚未初始化,直接加载体积较大的系统比较困难,有时甚至无法加载,如系统内核在网络上的情况,所以常常在系统运行前,提供一个体积较小但又具体初始化基本软硬件环境的程序来运行,由它来载入系统并设置系统运行参数,并最终运行系统,这就是bootloader。
有一些bootloader除引导系统内核外,还提供一些附加的功能,如网络支持,烧写flash,对flash进行分区等等。
bootload类似电脑主板上的BIOS。一弯滚般针对含有 *** 作系统的系统。在启动前,bootload进行一些系统硬件的检测埋册余,以及各个入口点的配置,完成后将控制权交给 *** 作系统的引导区,由 *** 作系统控制整个系统。如果没有此时无 *** 作系统姿谨,BIOS亦可以作为此系统的 *** 作系统,包含一些配置参数,如下载程序入口地址,内存入口地址等。
单片机初始化是指将单片机的所有系统清除 复位
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)