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.

[参考译文] 编译器/TMDXRM46HDK:我看到在由 HalCoGen 4.6.1生成的针对 FreeRTOS 8.2代码的 vListInsert 中无限循环

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/616915/compiler-tmdxrm46hdk-i-am-seeing-infinite-looping-in-vlistinsert-for-freertos-8-2-code-generated-by-halcogen-4-6-1

器件型号:TMDXRM46HDK

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

插入两个项目(第三个插入循环)后,一对要列出零个项目的插入会在 vListInsert 中进入无限循环状态。

我知道列表大小应为10。

我已在生成的代码中反转了每个注释的优先级(无更改)。

我已启用堆栈检查并在生成的代码中为每个注释添加了溢出挂钩(不会发生这种情况)

是否需要特定的编译器版本或优化设置?

我是否需要测试插入的项目以避免重复?

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

    我将您的帖子转发给我们的一位 FreeRTOS 专家。 他们很快就会回来。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这仍然困扰着我。 即使列表限制的大小应为10、当项目计数达到2时、循环也不会退出。 我尝试了几次更改优先级和队列限制。 我们正在访问当前 TCB 并为任务设置了特权位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 FreeRTOS 站点上查看了一些评论。 提示我重试一些优先级设置选项。 现在似乎在为我工作。