嵌入式Linux系统启动过程

Bootloader是系统上电后最初加载运行的代码,它提供了处理器上电复位后最开始执行的初始化代码。

一、计算机系统的主要部件

(1)计算机系统就是由CPU来做核心进行运行的系统。典型的计算机系统有:PC机(台式机、笔记本)、嵌入式设备(手机、平板电脑、游戏机)、单片机(家用电器像电饭锅、空调)。

(2)计算机系统的组成部件非常多,不同的计算机系统组成部件也不同。但是所有的计算机系统运行时需要的主要核心部件都是3个东西:CPU+外部存储器(flash/硬盘)+内部存储器(DDR SDRAM/SDRAM/SRAM)。

 

二、PC机的启动过程

(1)典型的PC机的部署:BIOS程序部署在PC机主板上(随主板出厂时已经预制),操作系统部署在硬盘上,内存在掉电时无作用,CPU在掉电是不工作。

(2)启动过程:PC机上电后先执行BIOS程序(实际上PCBIOS就是NorFlash),BIOS程序负责初始化DDR内存,负责初始化硬盘,然后从从硬盘上将OS镜像读取到DDR中,然后跳转到DDR中去执行OS直到启动(OS启动后BIOS 就无作用了)。

 

三、典型嵌入式Linux系统启动过程

1)嵌入式系统的部署和启动都是参考PC机的,只是设备上有一些差异。

2)嵌入式系统的部署:uboot程序部署在Flash(能作为启动设备的Flash)上、OS部署在Flash(嵌入式系统中用Flash代替了硬盘)上、内存在掉电是无作用,CPU在掉电时不工作。

3)启动过程:嵌入式系统上电后先执行uboot、然后uboot负责初始化DDR,初始化Flash,然后将OSFlash中读取到DDR中,然后启动OSOS启动后uboot就无作用了)。


嵌入式系统和PC机的启动过程几乎一样,只是BIOS成了uboot,硬盘成了Flash

 

三、Android系统启动过程

(1)android系统的启动和Linux系统几乎一样,只是在内核启动后加载根文件系统后不同了。

(2)可认为启动过程分为2个阶段:第一阶段是ubootOS启动;第二阶段是OS启动后到rootfs加载到命令行执行。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值