嵌入式Linux的开机启动流程简单的介绍

关于嵌入式linux的开机启动流程网上有很多资料,这里我们仅进行一个简单的介绍,旨在让人能快速了解整个启动流程。
整个开机流程可以归结为以下几点:
首先分个介绍:
rom code(芯片内固化好的一段代码),起最初的引导功能,包括初始化时钟、片内ram、相关外设等,读取引脚配置信息等;
u-boot(universal boot loader),初始化相关硬件设备,引导系统加载内核镜像的一段程序;
kernel,负责存储器、文件、外设等的管理,以及进程通信、调度等;
文件系统,负责文件的管理;
应用,就是各个应用程序。
为形象点说明,我们将整个流程比作开一辆车子,我们把上面那幅图进行更改:
上电后cpu执行内部固化好的一段代码(rom code),初始化相关外设,根据外部引脚的信息,选择从哪个存储设备读取u-boot(emmc、tf卡......),然后将u-boot加载到内存上运行,u-boot完成相关外设配置后,将kernel加载到内存上,至此,由kernel负责剩下的任务。
这里rom code是上电后最先执行的动作,就相当一个启动引导的过程;u-boot除了初始外设外,还有很重要的一点就是为kernel初始化相关内存空间,为其加载做准备,这其实就相当于要使发动机发动,要先为它提供能源;有了发动机没设备,空有动力也做不了什么实质的事,相反,没有发动机提供动力,设备动不起来,这里其实就揭示着kernel和文件系统密不可分的关系;当一切准备就绪后,我们就可以在上面编写、运行应用相关的程序(开车)。

微软采购华为AI芯片应用于中国的数据中心
开关电源欠压,过温,CNT保护综合电路设计分析
AI芯片应用在5G时代有了怎样的新机遇
原子化服务的官方解析来啦~
光纤光缆的链接方式有哪些?
嵌入式Linux的开机启动流程简单的介绍
超越苹果MacBook Pro?爆料大神公开Surface Pro5最新规格信息
蓄电池常用的五种充电方式
PTC和罗克韦尔自动化建立战略联盟,推出PTC支持版FactoryTalk InnovationSuite套件
光梓科技发布业界领先的3D-dToF驱动芯片PHX3D5015
日本与荷兰签署半导体合作备忘录:采购 ASML ***,加强技术合作
如何构建不伤害人类的工业机器人
什么是钢塑复合管
中国移动5G+不断落地实现了多点开花赋能行业融合
中国联通完成5G社会化基站与自研网管系统对接
回顾应链全生命周期管理平台研讨会的内容和说明
华为5G随行WiFi系列开售,支持AI高铁模式售价1699元起
新款iPadPro或将首度采用高单价LCP软板 将降低信号耗损并改善联网性能
为何自动驾驶必须先有技术才能商业化?
Pseudo random number generatio