当前位置:首页 > 学习资源 > 讲师博文 > arm芯片配合Linux系统使用的过程

arm芯片配合Linux系统使用的过程 时间:2025-01-03      来源:华清远见

一 芯片上电与Boot ROM启动

1.硬件复位:芯片上电,arm系统硬件复位后,CPU会从BootROM(只读寄存器)中启动,这个BootROM通常是厂商定制的,负责最初的硬件初始化,如时钟,内存,外设配置等。这里的硬件初始化是为了BootROM将引导程序加载在内存中做的准备。追求快,简单(就是只初始化了一部分,这一部分可以让BootROM工作)。

2.引导程序加载:Boot ROM将引导程序(Bootloader)加载到内存中,

二 Bootloader引导

Bootloader是系统加电运行的第一段代码,在嵌入式系统中相当于PC机中的BIOS。

Bootloader通常分为两个阶段:第一阶段(FSBL)和第二阶段(如U-Boot)。1. 第一阶段引导(FSBL):

a. 硬件初始化:对硬件进行基本的初始化,包括初始化RAM(内存控制器配置),处理器(CPU,时钟,外设等)以及设置引导介质(如NAND Flash,eMMC,SD卡等。这里的硬件初始化是从新开始把所有的硬件都初始化了。

b. 加载第二阶段引导程序:将第二阶段引导程序(如U-Boot)加载到内存。

2.第二阶段引导(U-Boot):

c. 进一步硬件初始化:包括更多外设和I/O的初始化。

d. 加载Linux内核映像:从存储设备(如eMMC,NAND Flash,SD卡)中读取Linux内核映像,并将其加载到内存。

e. 配置设备树:为内核提供硬件信息。

f. 配置启动参数:如根文件系统,内核命令行等。

g. 启动Linux内核:在配置完成后,启动Linux内核。

注意:如果不是做系统移植,这个第二阶段引导(U-Boot)里面的配置参数步骤,就可以不用配置。使用默认的即可。

三 内核加载与初始化

1.内核加载:Bootloader将Linux内核映像加载到内存,并传递必要的启动参数。

2.内核初始化:Linux内核启动后,进行硬件检测和初始化,包括内存,CPU,设备树等。内核会设置系统环境,为后续的用户空间程序运行做准备。

四 用户空间启动

1.启动init进程:内核初始化完成后,会启动init进程,init进程是系统的第一个用户空间进程,负责初始化系统环境,启动必要的服务和应用程序。

2.服务和应用程序运行:在init进程启动后,用户空间的所有服务和应用程序开始运行,这些程序可以是系统自带的,也可以是用户自行安装的。例如:自己在arm开发板上写了亮灯程序,就可以运行了。

 


上一篇:如何利用机器学习构建个性化推荐系统

下一篇:一文读懂硬实时和软实时

戳我查看嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部