我正在使用CCS c编译器,该编译器以Intel 32位HEX格式(即INHX32)生成其目标文件。此编译器具有一个指令,使其将注释放在这些文件中。注释行位于文件的开头,以分号开头,如下所示:
; This is a comment
:020000040000FA
:1000000007EF33F0000C000C056ED8CF06F0E0CF00
:1000100007F00001E9CF0DF0EACF08F0E1CF09F0D9
我想使用这个指令,因为这些注释对后来将hex文件导入MPLAB的人非常有用。但是,MPLAB不会导入带注释的文件。当我尝试时,我得到“无效的文件格式,信息不可用”错误。
我意识到这些注释行不是英特尔原始规范的一部分,但其他一些编译器和开发工具也接受它们。有没有办法让MPLAB这样做?
我可以编写一个脚本来剥离这些行,然后将生成的文件传递给MPLAB,但据我所知,MPLAB无法通过命令行导入文件。
答案 0 :(得分:1)
某些版本的MPLAB接受文件的注释和 end 。 在CCS中,#HEXCOMMENT \(带有反斜杠)将注释放在hex文件的末尾。
答案 1 :(得分:0)
随机的东西......
是否有编译器标志禁用对象中的此注释?那将是最好的起点。
如果不是这样,IDE的C插件是否允许您在其中添加后处理器?如果它如上所述,你可以轻松地写评论。
答案 2 :(得分:0)
事实证明,MPLAB肯定不会从命令行执行导入(或其他许多操作)。所以我编写了一个AutoIt脚本来删除注释,并将其余部分保存在临时文件中。然后,它通过控制MPLAB的GUI将该文件导入MPLAB。
这实际上比让MPLAB直接导入文件更好,因为我的脚本在对话框中显示注释,因此用户无需在编辑器中打开文件来读取它们。