嵌入式系统设计:启动加载器、执行技术与文件系统
1. 其他启动加载器
在嵌入式系统的启动环节,启动加载器至关重要。uImage 是 U-Boot 特有的格式,而其他启动加载器则支持 zImage 或 srecImage 等格式。与 U - Boot 不同,这些文件格式没有关于图像存储位置的额外元数据,也无法添加文本版本字符串。若你的板卡使用这类启动加载器,主要任务就是确保构建过程中的内核能正确启动,之后该文件就可直接投入生产,多数组织会更改文件名以显示版本号。
2. 就地执行(XIP)技术
2.1 技术原理
就地执行(XIP)技术允许内核代码直接从闪存运行,即代码在运行前无需加载到 RAM 中。要使用此技术,需在构建内核时设置“Kernel Execute - In - Place from ROM”标志,同时要知晓内核在闪存中的存储位置,以便正确链接文件偏移量。
2.2 内存使用情况
虽然内核代码从闪存运行,但内核仍会使用 RAM 来处理栈和堆。不过,由于代码直接在闪存空间运行,内核消耗的 RAM 会减少。但需注意,内核存储在闪存时未压缩,这会占用更多闪存空间,导致用于存储根文件系统的闪存空间减少。
2.3 成本考量
若 RAM 比闪存更稀缺,减少 RAM 使用是更重要的考量,闪存空间减少可能不是问题;但闪存比 RAM 贵,若设备成本敏感,使用更多闪存可能会增加单位设备成本。对于标准板卡,因 RAM 和闪存固定,此问题不明显;但在定制板卡时,这就是需要考虑的问题。
2.4 示例操作
以 U - Boot 为例,创建适用于
超级会员免费看
订阅专栏 解锁全文

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



