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.

[参考译文] TMS320F280037:汇编:如何使用编译器中的宏

Guru**** 2391415 points
Other Parts Discussed in Thread: TMS320F280037

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1331765/tms320f280037-assembly-how-to-use-macros-from-compiler

器件型号:TMS320F280037

您好!

在 C 语言中、我可以使用宏_TMS320C28XX_VCRC__。 我喜欢在汇编文件中使用它。

当我像这样使用它时:

.if $defined(__TMS320C28XX_VCRC__)

以下函数未编译、我收到错误、表明未找到它们(如果不进行宏检查、它就会起作用)。

那么、如何更正使用该宏、或者该宏的名称是否不同、汇编语言中的编译器支持哪些宏。

我使用编译器版本 v22.6.0 LTS

谢谢

大卫

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

    尊敬的 David:

    这一问题的适当专家今天不在办公室。 请预计明天回复。

    谢谢!

    卢克

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

    David、您好!

    我将代替另一位专家来支持它。

    以下函数未编译、我收到错误、表明未找到它们(如果不进行宏检查、它就会起作用)。

    那么、如何更正使用该宏、或者该宏的名称是否不同、汇编语言中的编译器支持哪些宏。

    [/报价]

    我不确定您使用该语法的原因、正如我所见、这不是在 C 中使用宏的方式。 下面是如何在 C 语言中使用预处理器定义/条件语句的片段。

    #define LIMIT
    
    //
    //other code
    //
    
    #ifdef LIMIT
    //controlled text
    #endif

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

    您好!

    感谢您的回答。

    是的、我知道如何使用宏。 但是这个宏__TMS320C28XX_VCRC__似乎是由编译器声明的。 它与 ti 使用宏_TMS320C28XX_CLA__类似。 我没有找到、在哪里声明了它。 我想这些宏是由编译器声明的。

    这些宏在哪里声明?

    我喜欢在汇编代码中使用宏__TMS320C28XX_VCRC__、就像我上面写的一样。 我想针对具有硬件 CRC 的 uC TMS320F280037扩展我们的 CRC 库、因此我想以这种方式使用宏的汇编方式:

    .if $defined(__TMS320C28XX_VCRC__)
        ;use hw crc

    问题是如何在汇编语言中使用这个宏__TMS320C28XX_VCRC__。 我可以使用该宏。 如果无法在汇编语言中使用宏、则必须在工程预定义设置中声明宏。

    大卫

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

    David、您好!

    我 在任何地方都没有看到_ TMS320C28XX_VCRC__宏、并且我在任何与编译器相关的 CCS 文件中都找不到它。 这是否用于某处的某个示例或源代码中? 我不相信它在任何地方由编译器使用/定义。 如果您只是尝试创建一个与_TMS320C28XX_CLA__类似的宏、您可以参阅 此页、 了解如何使用汇编宏。

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

    我没n´t 过、在这里我可以看到宏。 但我在 SPRU513Y 的"8.4.11连接器命令文件预处理"章节中发现了它

    HM、这仅适用于链接器、因此其在汇编文件中不可用。

    是否有办法在汇编文件中使用它?

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

    尊敬的 David:

    我不知道有什么方法可以做到这一点、我会将此转交给编译器团队、因为他们更了解您引用的文档中包含的内容。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    在 C 语言中我可以使用宏命令__TMS320C28XX_VCRC__。 我喜欢在汇编文件中使用此选项。

    汇编器预定义了相似但不同的符号。  有关详细信息、 请搜索 C28x 汇编工具手册 以获取标题为" 预定义符号常数"的子章节。

    谢谢。此致、

    -乔治

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

    非常感谢。 这可以解决它。