嵌入式linux 开机启动应用程序,嵌入式Linux的开机启动流程简单的介绍

描述

关于嵌入式Linux的开机启动流程网上有很多资料,这里我们仅进行一个简单的介绍,旨在让人能快速了解整个启动流程。

整个开机流程可以归结为以下几点:

2caa1c162db2dccaaa6cbd733b29323c.png

首先分个介绍:

ROM Code(芯片内固化好的一段代码),起最初的引导功能,包括初始化时钟、片内RAM、相关外设等,读取引脚配置信息等;

U-Boot(Universal Boot Loader),初始化相关硬件设备,引导系统加载内核镜像的一段程序;

Kernel,负责存储器、文件、外设等的管理,以及进程通信、调度等;

文件系统,负责文件的管理;

应用,就是各个应用程序。

为形象点说明,我们将整个流程比作开一辆车子,我们把上面那幅图进行更改:

8c4d70e5485fdff1acf34cb4da21c517.png

上电后CPU执行内部固化好的一段代码(ROM Code),初始化相关外设,根据外部引脚的信息,选择从哪个存储设备读取U-Boot(emmc、TF卡......),然后将U-Boot加载到内存上运行,U-Boot完成相关外设配置后,将Kernel加载到内存上,至此,由Kernel负责剩下的任务。

这里ROM Code是上电后最先执行的动作,就相当一个启动引导的过程;U-Boot除了初始外设外,还有很重要的一点就是为Kernel初始化相关内存空间,为其加载做准备,这其实就相当于要使发动机发动,要先为它提供能源;有了发动机没设备,空有动力也做不了什么实质的事,相反,没有发动机提供动力,设备动不起来,这里其实就揭示着Kernel和文件系统密不可分的关系;当一切准备就绪后,我们就可以在上面编写、运行应用相关的程序(开车)。

打开APP阅读更多精彩内容

点击阅读全文

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值