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.

[参考译文] CC-AM243X:M4 MCU-PLUS-SDK 编译器

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1396348/mcu-plus-sdk-am243x-m4-gcc-compiler

器件型号:MCU-PLUS-SDK AM243X

工具与软件:

您好!

我们正在为 cortex M4使用 gcc 编译器、并且遇到了问题。 我希望您可以在这里提供帮助。 以下函数缺失:"_set_interrupt_priority ()"。 是否在 TI 编译器中定义了这个? 您能否向我们发送该函数的实现?

此致、

Matthias

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

    你好?

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

    您好、Matthias

    似乎我们错过了针对该线程的寻址、我将其转发给我们的编译器团队、看看他们是否可以澄清 TI 编译器端可用的内容。 您为什么使用 gcc? 我认为您的应用不需要安全、在哪些情况下使用具有合规性支持包等的 TI CLANG 编译器会更好?

    https://software-dl.ti.com/codegen/docs/tiarmclang/compiler_tools_user_guide/additional_material.html

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

    TI Arm 编译器(NOT. tiarmclang )支持名为的内在函数 _set_interrupt_priority .  如果您要移植使用此编译器构建的代码,那么您将看到...

    缺少以下函数:"_set_interrupt_priority ()"

    tiarmclang 编译器提供一个名为的头文件 ti_compatibility.h 可简化从 TI Arm 编译器到的代码移植 tiarmclang .  在该文件内有这个代码...

    /******************************************************************************/
    /* Set the interrupt priority                                                 */
    /******************************************************************************/
    #if __ARM_ARCH_PROFILE == 'M' && (__ARM_ARCH == 6 || __ARM_ARCH == 7)
    static __inline__ uint32_t __attribute__((always_inline))
    _set_interrupt_priority(uint32_t x)
    {
        uint32_t res = 0;
        __asm volatile ("MRS %0, BASEPRI" : "=r" (res) : : );
        __asm volatile ("MSR BASEPRI, %0" : : "r" (x) : );
        return res;
    }
    #endif
    

    请注意、此代码仅通过测试 tiarmclang .  要使其与 gcc Arm 编译器配合使用、可能需要进行一些更改。

    谢谢。此致、

    -George.