This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器:PRU编译器:PRU编译器2.1 5:使用(--ASM_listing)& hexpru.exe工具生成的二进制文件(.b00)在列表文件中生成的指令数存在差异

Guru**** 2536850 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/631517/compiler-pru-compiler-pru-compiler-2-1-5-discrepancy-in-the-number-of-instructions-generated-in-the-listing-file-using---asm_listing-the-binary-file-b00-generated-by-hexpru-exe-tool

工具/软件:TI C/C++编译器

你(们)好

我正在使用 PRU编译器2.1 5编译CLPRU固件,我发现生成的固件标头中重复了某些指令块,但理想情况下不会出现这些指令块。 如何确定? 因为 使用(--ASM_listing)生成的列表文件不考虑这些说明。 此外,包含重复指令的文件在IF定义下,如图所示,它在固件标头中只能显示一次,对吗?

如果!$defined (文件)
文件.set 1.

一组指令

.endif ; 文件

我使用 PDK软件包中的hexpru.exe工具生成二进制文件.b00,这也显示了额外的指令块。

不正确的固件头文件严重影响了我的应用程序性能。是否有人建议解决此问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在这里获得了如下更新。 问题似乎已解决,但我想知道如何解决。 我的其中一个.asm文件是通过主文件中的.copy访问的。 此外,通过-CCS.linkFile命令将同一文件包含在项目中。

    当我尝试右键单击文件名并选择"从内部版本中排除"时,它解决了上述问题。

    所以我想知道我到底在干什么? 以及如何通过上述变化解决这一问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不完全确定。  但似乎您实际上在项目中有一个文件两次。  首先,作为项目中的典型源文件。  其次,它通过.copy指令包含在项目中的另一个典型源文件中。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正确。 由于此行为不会标记任何错误或警告,因此很难进行调试。 如果可能的话,我想要求编译器在这种情况下发出警告。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Garvit Jain 说:
    如果可能,我想要求编译器在此情况下发出警告。[/QUOT]

    很遗憾,这是不可能的。  汇编程序是处理.copy指令的工具。  发生这种情况时,汇编程序不知道如何调用它。  从CCS,makefile,命令行等?  因此,无法知道.copy指令中给出的文件是否是较大项目的一部分。

    谢谢,此致,

    -George