我正在 MPLAB IDE 中开发代码,我想知道使用编译器生成的 .COFF 还是 .HEX 文件对芯片进行编程是否更好。我不确定两者之间有什么区别,我假设他们都会执行相同的工作。
COFF 通常包含在 IDE 中运行代码时有用的调试信息(行号、符号等)。 .hex 格式仅包含程序的二进制数据,通常用于对微控制器进行生产编程。
IIRC,您可以通过将代码烧录到闪存来调试 Microchip 控制器,然后使用 ICD 单步执行代码、设置断点等,因此 COFF 或 HEX 就足够了。 但是使用 COFF,您可以链接回源代码,这将使调试过程变得非常非常容易。
如果使用IDE,最好使用COFF进行编程,并保存十六进制以供提交。 由于 HEX 文件是 ascii,因此可以将其签入源代码控制并轻松进行比较。 使用微芯片 PIC,可以很容易(嗯..是的)验证熔丝设置,例如通过检查 HEX 文件,因此如果不同版本的 .asm 或 .c 设置不同的熔丝,则简单的 HEX 差异将显示更改。
COFF 是二进制(据我所知),而 HEX 是 ASCII。一旦器件被编程,就没有区别(两者之间 PIC 的二进制内容应该相同)。 我认为很多第 3 方程序员(设备)仅支持 HEX 文件,因此我经常使用它。