【问题标题】:How can I make MPLAB import a HEX file with comments or import a HEX file specified on a commandline?如何让 MPLAB 导入带有注释的 HEX 文件或导入在命令行中指定的 HEX 文件?
【发布时间】:2009-10-09 03:56:15
【问题描述】:

我正在使用 CCS c 编译器,它以 Intel 32 位 HEX 格式(即 INHX32)生成其目标文件。该编译器有一个指令,可以将 cmets 放入这些文件中。注释行位于文件的开头,并以分号开头,如下所示:

;  This is a comment
:020000040000FA
:1000000007EF33F0000C000C056ED8CF06F0E0CF00
:1000100007F00001E9CF0DF0EACF08F0E1CF09F0D9

我想使用这个指令,因为 cmets 对于以后将 hex 文件导入 MPLAB 的人来说非常有用。但是,MPLAB 不会使用 cmets 导入文件。当我尝试时,我收到“无效的文件格式,信息不可用”错误。

我意识到这些注释行不是原始英特尔规范的一部分,但其他一些编译器和开发工具接受它们。有没有办法让 MPLAB 这样做?

我可以编写一个脚本,将这些行去掉,然后将生成的文件传递给 MPLAB,但据我所知 MPLAB 无法通过命令行导入文件。

【问题讨论】:

    标签: ide embedded pic microchip mplab


    【解决方案1】:

    某些版本的 MPLAB 接受 cmets 和文件的 end。 在 CCS 中,#HEXCOMMENT\(带有反斜杠)将注释放在 hex 文件的末尾。

    【讨论】:

    • #HEXCOMMENT\ 在我正在使用的(旧)版本的 CCS 中不起作用。 cmets 仍在 hex 文件的开头。
    • #HEXCOMMENT\ 确实适用于我现在拥有的较新 (>5.0) 版本的 CCS。
    【解决方案2】:

    随机的东西...

    1. 是否存在禁用对象中此注释的编译器标志?那将是最好的起点。

    2. 如果不是这样,IDE 的 C 插件是否允许您在其中添加后处理器?如果是上述情况,您可以轻松编写评论食客。

    【讨论】:

    • 想要 cmets,这就是为什么我想使用创建它们的指令。
    【解决方案3】:

    事实证明 MPLAB 绝对不会从命令行进行导入(或其他许多操作)。所以我编写了一个 AutoIt 脚本来剥离 cmets,并将其余部分保存在一个临时文件中。然后它通过控制 MPLAB 的 GUI 将该文件导入 MPLAB。

    这实际上比让 MPLAB 直接导入文件要好,因为我的脚本会在对话框中显示 cmets,因此用户无需在编辑器中打开文件来阅读它们。

    【讨论】:

      猜你喜欢
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多