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.

[参考译文] AM2732:FreeRTOS vApplicationDemonTaskStartupHook 未运行

Guru**** 2553260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1570100/am2732-freertos-vapplicationdaemontaskstartuphook-not-running

部件号:AM2732


工具/软件:

您好、

我已将 SDK 中提供的默认空 FreeRTOS 系统工程导入到 CCS 20.2 中。

我还适当地修改了 FreeRTOSConfig.h 以包括启动守护程序挂钩、如下所示:

#define configUSE_DAMPE_TASK_STARTUP_HOOK   (1)
我还核实:

#define configUSE_TIMERS             (1)
 
但是、当我在 main.c 文件中创建这个挂钩函数并尝试调试代码时、我发现它从未进入。
void vApplicationDemonTaskStartupHook (void)
   DebugP_log(“Inside daemon!!\r\n")“);
}
我注意到、如果我尝试在函数内放置断点、会显示以下内容:
没有代码与“C:\Users\...“关联 \main.c“、任何已加载符号中的第 15 行。
 
就好像它被识别为一个从未被调用的用户定义函数、因此它不会包含在反汇编版本的代码中、因此我不能在那里放置断点。
此致、
K.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 K:

    首先、  AM273x 的 FreeRTOS 移植中有两个 FreeRTOSConfig.h。 一个用于 R5F、一个用于 C66x。 您在更改哪一项?

    其次、在更改      FreeRTOSConfig.h 中的 configUSE_daemon_task_startup_hook (1) 后、您是否为 R5F 或 C66x 重新构建 FreeRTOS 库?

    gmake  -f makefile.am273x libs

    为了使更改生效、必须重新构建与 FreeRTOS 相关的库。

    此致、

    Ming

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

    您好、

    我将其用于 C66x。 我没有明确重建与 FreeRTOS 相关的库。 我认为在 CCS 中编译工程也可以实现。

    我必须在哪个目录中确切地运行 gmake 命令?

    在此目录中的某个位置 (C:\ti\mcu_plus_sdk_am273x_09_02_00_60\source\kernel\freeRTOS)?

    谢谢、

    K.

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

    尊敬的 K:

    否、CCS 工程不会为您重新构建库。

    必须运行“gmake  -f makefile.am273x libs“

    C:\ti\mcu_plus_sdk_am273x_09_02_00_60

    此致、

    Ming

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

    尊敬的 Ming:

    我只是做了你说的,但我仍然有同样的问题。 我无法在 vApplicationDemonTaskStartupHook 内添加断点。

    它显示的内容与我的第一条消息完全相同。 正确配置 FreeRTOSConfig.h 是肯定的

    您是否需要我提供更多信息来帮助我调试此问题?

    谢谢、

    K.

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

    实际上我只是将其修复。

    我必须进入 DSP 工程属性处的“Linker Options“、并在文件搜索路径中更改包含的库、如下所示:


    我改变了

    freertos.am273x.c66.ti-c6000.debug.lib

    最终目的

    freertos.am273x.C66.ti-c6000.release.lib

    K.

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

    尊敬的 K:

    实际上、默认情况下、“gmake  -f makefile.am273x libs“仅构建库的发布版本。 如果您使用

    gmake  -f makefile.am273x libs profile=debug

    它将构建这些库的调试版本。 这样、您就不需要更改工程文件。

    此致、

    Ming