天嵌 ARM开发社区

 找回密码
 注册
查看: 2966|回复: 1

快速了解嵌入式Linux开机启动流程

[复制链接]
非也 发表于 2018-11-23 11:19:10 | 显示全部楼层 |阅读模式
  相信很多客户都拥有了天嵌研发的TQi.MX6UL工业级开发板平台,这款工业级开发板平台是基于NXP i.MX6UL处理器,高性能、低功耗是它的特点,也是一款支持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和文件系统密不可分的关系;当一切准备就绪后,我们就可以在上面编写、运行应用相关的程序(开车)。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
mcu_fang 发表于 2019-4-23 16:28:39 | 显示全部楼层
说的很好,简洁明了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-3-28 22:04 , Processed in 1.046875 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表