news 2026/6/7 0:07:52

38、嵌入式系统设计:启动加载器、文件系统与执行技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
38、嵌入式系统设计:启动加载器、文件系统与执行技术

嵌入式系统设计:启动加载器、文件系统与执行技术

1. 其他启动加载器

uImage 是 U-Boot 特有的。其他启动加载器支持如 zImage 或 srecImage 等格式。与 U-Boot 不同,这些文件格式没有关于图像存储位置的额外元数据,也无法添加文本版本字符串。如果你的开发板使用此类启动加载器,除了确保构建过程中的内核能正确启动外,无需过多操作。之后该文件可直接投入生产,多数组织会更改文件名以显示版本号。

2. 就地执行(XIP)技术

2.1 技术原理

使用就地执行(XIP)技术时,内核代码直接从闪存运行,即代码在运行前无需加载到 RAM 中。要使用这种内核,需在构建时设置“Kernel Execute-In-Place from ROM”标志,并且要知道内核在闪存中的位置,以便文件能以正确的偏移量进行链接。

2.2 内存使用情况

这并不意味着内核不消耗任何 RAM 内存,内核仍会使用 RAM 来存储栈和堆。不过,由于代码在闪存空间中运行,内核消耗的内存会相应减少。但内核存储在闪存中时不会被压缩,因此用于存储根文件系统的闪存空间会减少。如果 RAM 比闪存更稀缺,那么闪存空间减少可能不是问题;但如果设备的零部件成本很关键,使用比 RAM 更多的闪存可能会增加设备的单位成本。对于使用固定 RAM 和闪存且无法更改的标准开发板,这可能不是大问题,但在创建定制开发板时则需考虑。

2.3 创建 XIP 图像示例

以 U-Boot 为例,创建适用于 XIP 的图像需要向 mkimage 命令添加 -x 参数:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 20:51:24

Spring AI如何通过Gemini 2.5模型集成实现开发效率5倍提升?

Spring AI如何通过Gemini 2.5模型集成实现开发效率5倍提升? 【免费下载链接】spring-ai An Application Framework for AI Engineering 项目地址: https://gitcode.com/GitHub_Trending/spr/spring-ai Spring AI作为Java生态中首个专注于AI工程化的应用框架&…

作者头像 李华
网站建设 2026/6/5 6:49:57

Ant Design Mobile 移动端UI开发完全指南:打造专业级移动应用

Ant Design Mobile 移动端UI开发完全指南:打造专业级移动应用 【免费下载链接】ant-design-mobile Essential UI blocks for building mobile web apps. 项目地址: https://gitcode.com/gh_mirrors/an/ant-design-mobile 在当今移动优先的时代,拥…

作者头像 李华
网站建设 2026/6/3 16:37:29

Flutter media_info插件在OpenHarmony平台的适配实践

Flutter media_info插件在OpenHarmony平台的适配实践 引言 如今设备生态越来越分散,跨平台开发框架与新操作系统的融合,成了拓展应用覆盖面的关键。Flutter 凭借出色的渲染性能与“一次编写、多端部署”的效率,一直是跨平台开发的热门选择。而…

作者头像 李华
网站建设 2026/6/6 9:38:18

usaco training section1.4:Ski_Course_Design

理解题目 本题要求找使最高的山和最低的山之间的差值不超过17,还要使花费最少 确定算法 一开始我想直接对列表排序,用最高值减最低值得到差值,两边都减差值的均值,这样忽略了只减最高值或最低值的情况,并且只能减整数&…

作者头像 李华