嵌入式系统启动与 init 程序详解
1. 硬件集成与后续开发准备
在硬件集成方面,要将外设与常用的片上系统(SoC)集成,需要进行引脚复用,并依据数据手册和原理图的知识修改设备树源文件。若没有现成的硬件,可借助开发板和进行一些焊接工作,将相关部件与开发板连接起来。最后,还需使用逻辑分析仪来验证和排查电信号问题。完成硬件集成且硬件正常工作后,就可以开始开发嵌入式应用了。
2. 技术要求
为了能顺利进行后续的示例操作,需要准备以下环境:
- 基于 Linux 的主机系统
- Buildroot 2020.02.9 LTS 版本
- Yocto 3.1(Dunfell)LTS 版本
若尚未安装 Buildroot 2020.02.9 LTS 版本,可参考相关手册的系统要求部分,然后按照特定说明在 Linux 主机上进行安装。若还未构建 Yocto 3.1(Dunfell)LTS 版本,需参考 Yocto 项目快速构建指南中的兼容 Linux 发行版和构建主机软件包部分,再依据说明在 Linux 主机上进行构建。所有示例代码可在特定的 GitHub 仓库的 Chapter13 文件夹中找到。
3. 内核启动后 init 程序的作用
内核启动过程中,其引导代码会寻找根文件系统,找到后执行默认程序。对于 initramfs 是 /init,对于常规文件系统是 /sbin/init。init 程序拥有根权限,作为第一个运行的进程,其进程 ID(PID)为 1。若 init 程序无法启动,内核将会崩溃。
init 程序是所有其他进程的祖先,它在用户空间控制引导过程,通常会执行以
超级会员免费看
订阅专栏 解锁全文
2078

被折叠的 条评论
为什么被折叠?



