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.

[参考译文] RTOS/TMDXIDK5718:检查是否使用了 SYSBIOS

Guru**** 2614265 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/657749/rtos-tmdxidk5718-checking-if-sysbios-is-used

器件型号:TMDXIDK5718
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

你(们)好

我想编写一些支持和不支持 SYSBIOS 的 C 头文件。
如何确定是否使用了 SYSBIOS?

此致、
Markus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不理解您的问题。 您能更详细地解释一下吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好

    下面是一个我要做的示例:

    #ifdef(SYSBIOS_Available)
    #include
    #endif

    (笑声)

    #ifdef(SYSBIOS_Available)

    //使用 SYSBIOS 函数
    #define INT_DISABLE (Hwi_disable());
    #define INT_RESTORE (Int)(Hwi_RESTORE (Int));

    #elif defined (_TMS320C28x__)

    //使用编译器内在函数
    #define INT_DISABLE (_disable_interrupts ());
    #define INT_RESTORE (INT)(_RESTORE_INTERRUPTS (INT));

    其他
    (笑声)
    #endif


    是否有"SysBIOS_Available (SysBIOS_Available)"的预定义符号?

    此致、
    Markus
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Markus、
    您的构建环境是什么? 您是否在 CCS 中构建?

    如果检查是否使用了 SYS/BIOS 的语句位于编译单元的顶部、则任何宏都可以到达的唯一位置是命令行。 SYS/BIOS 构建的命令行中未添加任何 SYS/BIOS 特定宏。 您可以检查'XDC_TARGET_NAME_____'、每当使用 XDCtools 时、都会定义该值。 在大多数情况下、这意味着使用了 SYS/BIOS、并且可能适合您、但我必须详细了解您的构建环境以及使用此头文件的上下文、以确保这一点。

    SYS/BIOS 头文件定义了大量宏、如果在决定包含或不包含 SYS/BIOS 头文件之后包含此头文件、则可以使用这些宏。 其中一个是"ti_SysBIOS_BIOS_version"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好,Sasha

    感谢您的建议。

    我的构建环境是 CSS、对于没有 SYSBIOS 的其他一些人也是如此。

    我看来、检查 ti_sysbios_version 是否存在也是一个想法、
    但这需要包括在内 如果出现这种情况、则会导致误差
    未安装软件包。
    是否可以从 C 代码中检查 CSS SYSBIOS 安装路径变量?

    此致、
    Markus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Markus、
    我真的不知道它们是否是仅为 SYS/BIOS 项目定义的任何环境变量。 您可以尝试在具有和不具有 SYS/BIOS 的项目中打印环境、并查看是否存在差异。

    您是否尝试使用过
    #ifdef XDC_TARGET_NAME__
    (笑声) 使用 SYS/BIOS
    其他
    (笑声) 无 SYS/BIOS
    #endif
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好,Sasha

    很抱歉耽误你的时间。
    是的、使用"XDC_TARGET_NAME____"可以正常工作。

    谢谢!

    此致、
    Markus