9、嵌入式 Linux 系统基础:从启动到硬件支持

嵌入式 Linux 系统基础:从启动到硬件支持

1. 库加载与链接

在系统中,像文件系统这样的库通常只在系统内存(RAM)中加载一次,并且同一副本会被所有使用该库的应用程序共享。不过,在嵌入式系统中,有时静态链接会比动态链接更受青睐。静态链接是指将库作为应用程序二进制文件的一部分。例如,当一两个应用程序只使用库的一部分时,静态链接有助于避免在嵌入式系统的存储设备上存储整个库。而当将专有应用程序与某些仅受严格 GPL 许可而非 LGPL 许可的库进行链接时,这个问题会变得更加复杂。

2. 系统启动

系统启动主要涉及三个软件组件:引导加载程序(bootloader)、内核(kernel)和初始化进程(init process)。
- 引导加载程序 :启动时运行的第一个软件,高度依赖目标硬件。不同的 Linux 系统有多种引导加载程序可供选择。它负责进行底层硬件初始化,然后跳转到内核的启动代码。
- 内核 :早期的内核启动代码在不同架构之间差异很大,会先进行自身的初始化,为 C 代码的运行设置合适的环境。之后,内核会跳转到与架构无关的 start_kernel() 函数,该函数会初始化高级内核功能、挂载根文件系统并启动初始化进程。在高级内核初始化过程中,会调用特定平台的代码,不同支持的架构调用的代码不同。例如,一些 PowerPC 系统会借此机会设置特殊的内存映射和串行诊断功能的最小版本,主要用于调试。
- 初始化进程 :系统启动的其余部分由根文件系统上的初始化程序在用户空间中完成。

以下是

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值