embedded – 固件文件的常见结构是什么?

我在嵌入式编程中总共n00b.假设我正在使用编译器构建固件.此操作的结果是一个文件,它将闪存到(我猜)MCU(例如ARM或AVR)的闪存中.

我的问题是:对于包含固件的此类生成文件,使用了哪些常见结构(如果有)?

我来自桌面开发,我理解,例如对于Windows,编译器很可能生成PE或PE,而类Unix系统我可能会获得ELFCOFF,但不知道嵌入式系统.

我也明白这很大程度上取决于很多因素(编译器,ISA,MCU供应商,操作系统等),所以我至少可以举一个例子.

更新:我将投票所有答案提供使用结构的示例,并将选择我认为最好调查现有技术的那个.

最佳答案
大多数工具输出ELF或COFF,或类似的东西,最终可归结为HEX / bin文件.

然而,这不一定是你的目标想要看到的.每个供应商都有自己的“固件”文件格式.有时它们是加密和签名的,有时是纯文本.有时会有压缩,有时它是原始的.它可能是一个简单的文件,或者复杂的东西,不仅仅是你的程序.

嵌入式工作的一个组成部分是构建流程和系统启动/启动过程,以及将代码放到部件上.不要低估这种努力.

转载注明原文:embedded – 固件文件的常见结构是什么? - 代码日志