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.

[参考译文] CCS/TM4C1294NCPDT:程序中无法识别事件句柄

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

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/631754/ccs-tm4c1294ncpdt-event-handle-not-recognized-in-program

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

工具/软件:Code Composer Studio

我使用的是 CCS v7.2.0.00013、编译器 v16.9.4.LTS RTOS v2.16.1.4和 XDCtools v3.32.0.06_core

我在 任务中添加了一个 Event_pend、在程序中的其他位置添加了相应的 Event_post。

我在 TI-RTOS->Products->SYSBIOS->Synchronization -> Event->Instance Settings 下的 XCONF 部分中为其创建了一个事件句柄

但是、当我编译程序时、我收到一个错误、表明事件句柄未识别。  

我执行了完全清理、但仍然有错误。

我添加了一个带有事件句柄名称的外部处理器行、它工作正常。

我过去从未需要为句柄添加外部。  我忘记了什么吗?

我创建的事件句柄名为 doSystemReset、我必须添加 extern ti_SysBIOS_KNL_Event_Handle doSystemReset 行;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Sam:
    如果我静态创建事件、我可以在没有外部 ti_SysBIOS_KNL_Event_Handle 的情况下复制该错误。 我将向我们的 TI-RTOS 专家征求意见、因为您之前说过您没有遇到过该问题。 我使用的是相同的 XDCtools 版本。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我采用了 TI-RTOS (Mutex)中的一个内核示例、并在.cfg 中添加了一个事件实例:

    VAR 事件= xdc.useModule('ti.sysbios.knl.Event');
    var event0Params = new Event.Params();
    event0Params.instance.name ="myEvent";
    program.global.myEvent = Event.create (event0Params);

    然后、在主源文件(mutex.c)中、我添加以下内容(注意:我不担心一个工作示例、只是一个正确构建的示例。

    #include
    #include

    (笑声)
    其中一个任务中的//向下
    EVENT_POST (myEvent、0);

    我希望您没有 global.h include。 此文件间接包括.cfg 文件中的所有"Program.global"变量。

    我们以前在示例中始终#include global.h、但有时如果您同时包含 Hwi.h、则会出现问题。 因此、为了避免这一潜在问题(并尝试对其进行解释)、我们从文件中删除了 global.h include。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Todd!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、是的、是的。
    看看以前没有问题的程序、事实上#include 存在。
    我把它添加到了我的新程序中、当然、它是有效的。

    我曾考虑添加上一个程序中的所有包含项、但我讨厌将源代码与不必要的包含项进行 mucking。

    感谢您的快速回答。
    Sam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很酷! 感谢您回来。