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.

[参考译文] AM2434:R5F 上的 FreeRTOS 和中断嵌套

Guru**** 2532410 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1118783/am2434-freertos-and-interrupt-nesting-on-r5f

器件型号:AM2434

FreeRTOS 中不支持嵌套中断(根据 MCU_PLUS_SDK_am243x_08_03_00_18/docs/API_guide_am243x/kernel_freertos_page.html#autotoc_md356)对我们来说是一个相当大的限制。

了解 TI 计划何时在 FreeRTOS 中支持嵌套中断将会有所帮助。

如果我们想让它发挥作用、是否有任何推荐阅读的内容? 我希望比./source/kernel/freertos/DPL/R5/Hwip_armv7r_handles_freertos.c.中的#defining HWIP_nested_interrupts_IRQ_enable 更困难 。

此致、

Johannes

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

    Johannes、您好!  

    是的、由于打开调试、在 SDK8.3中禁用了嵌套中断(启用嵌套中断时、LwIP 测试失败)。

    我们计划为 SDK8.4版本(2022年8月末)修复此问题。

    同时、我将在内部检查是否可以为您获取补丁以启用支持。 我明天会回来。 如果您听不到我的声音、请随时 Ping。

    此致、

    Prasad

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

    Johannes、您好!

    我在内部进行了检查。 由于您不使用工业协议、并且中断嵌套的当前未决问题就是它、因此您可以继续使用中断嵌套。

    要启用它、请  在 ./source/kernel/freertos/DPL/R5/Hwip_armv7r_handles_freertos.c 中定义标志 HWIP_ENDested_interrupts_IRQ_enable

    此致、

    Prasad

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

    Prasad、您好!

    我想,我需要在#defining HWIP_INPDED_INTERRUPTS_IRQ_ENABLE 之后重建 freertos.am243x.r5f.ti-arm-clang.debug.lib?

    如果是、我该怎么做?

    此致、

    Johannes

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

    Johannes、您好!

    是的、您需要重建库。 请参阅下面的内容

    AM243x MCU+ SDK:构建 Hello World 示例(TI.com)

    此致、

    Prasad

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

    我将获得:
    C:\ti\mcu_plus_sdk_am243x_08_03_00_18>gmake -s libs profile=debug
    Process_begin:CreateProcess (NULL、C:/ti/ccs1120/ccs/utils/cygwin/mkdir -p obj/am243x/ti-arm-clang/debug/r5f/board/、...) failed。
    make (e=2):DAS 系统 kann 裸片 angegebene Datei nicht finden。
    Makefile.am243x.r5f.ti-arm-clang:136:目标'obj/am243x/ti-arm-clang/debug/r5f/board/'的配方失败
    gmaked[2]:***[obj/am243x/ti-arm-clang/debug/r5f/board/]错误2.
    Makefile.am243x:408:目标'board_r5f.ti-arm-clang'的配方失败
    gmake.1]:***[board_r5f.ti-arm-clang]错误2.
    Makefile:59:目标'libs'的配方失败
    gmake:***[libs]错误2.

    在哪里可以设置 CCS 的路径? 我仍在使用版本11.1.0。

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

    Johannes、您好!  

    您可以在 "MCU_PLUS_SDK_am243x_08_03_00_18\imports.mak"中设置路径

    我建议下载 CCS11.2、因为 SDK 已经过验证、我们无法保证它可以与11.1配合使用

    此致、

    Prasad

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

    Prasad、您好!

    将 imports.mak 中的工具链路径更改为1.3.0.LTS 后、我可以编译库、中断嵌套现在似乎按预期工作。 我将需要进行更多的测试...

    BTW、当我尝试使用 toolchain 版本2.1.0.LTS 重建库时、遇到以下错误:

     编译:freertos_fat.am243x.r5f.ti-arm-clang.debug.lib: C:/ti/mcu_plus_sdk_am243x_08_03_00_18/source/fs/freertos_fat/freertos-fat/ff_iooman.c
    C:/ti/mcu_plus_sdk_am243x_08_03_00_18/source/fs/freertos_fat/freertos-fat/ff_iooman.c:706:14:错误:变量
         'ulFirstWord'设置但未使用[-Werror、-Wunused_but -set-variable ]
       uint32_t ulFirstWord = 0ul;

    这看起来有点像编译器错误。 至少我在 ff_ioman.c 中找不到该警告的原因(使用了 ulFirstWord!)。

    感谢您的支持、Prasad!

    此致、

    Johannes

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

    Johannes、您好!  

    很高兴您能够继续并为您准备嵌套。

    关于编译器问题、我已将线程转移给编译器专家。 如果 您没有听到他们的声音、请随时进行 Ping 操作。

    此致、

    Prasad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="3376" URL"~μ C/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1118783/am2434-freertos-and-interrupt-desting-on" r5f/4159685#4159685"]这看起来有点像编译器/引用错误[]。

    我需要一个测试用例、允许我重现相同的诊断。  我想我可以在不直接涉及您的情况下开发该测试案例。  如果没有、我可以返回这里寻求帮助。

    谢谢、此致、

    乔治