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/TM4C123GH6PM:在 CCS 中配置 FreeRTOS

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/855087/ccs-tm4c123gh6pm-configuration-freertos-in-ccs

器件型号:TM4C123GH6PM
Thread 中讨论的其他器件:EK-TM4C123GXL

工具/软件:Code Composer Studio

您好!

在 CCS 中配置 FreeRTOS 时需要帮助。 我试图遵循官方网站的指示、但没有成功

(以下目录必须位于编译器的包含路径中(必须要求编译器在这些目录中搜索头文件):

  • FreeRTOS/Source/Include
  • FreeRTOS/Source/portable/[编译器]/[架构]
  • 无论哪个目录包含要使用的 FreeRTOSConfig.h 文件–请参阅下面的配置文件段落。

根据端口的不同,可能还需要在汇编器的 include 路径中包含相同的目录。)

因此、我认为我可以包含 FreeRTOS/Source/Cinclude 和 FreeRTOS/Source/portable/[编译器]/[架构]

我手动添加 FreeRTOSConfig.h、这可能是问题所在。 因此、请指导我如何在 CCS 中配置 FreeRTOS、每个信息都能为我提供很多帮助。

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

    您好!

    我不确定我们是否为独立创建 FreeRTOS 项目提供了直接支持、但通过查看错误消息、您似乎没有包含任务函数的 FreeRTOS 库(这是链接器错误)。 在第二个屏幕截图中、您需要在选项--library 下添加所有使用过的 FreeRTOS 库。  

    有关将其集成到 CCS 工程中的工作示例、您能否查看通常安装在以下位置的 Tivaware FreeRTOS 演示工程:

    C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c123gxl\freertos_demo

    您可以安装此软件包并从 TI Resource Explorer (菜单 View -> Resource Explorer)访问此项目。

    希望这对您有所帮助、

    拉斐尔

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

    感谢您的回答

    导入演示项目没有问题、问题是如何为项目配置 Properties。 我将 FreeRTOS 文件添加到 Build -> ARM Compiler -> Include Options 和 Build -> ARM Linker -> File Search Path 中。 有人能否成功配置 FreeRTOS 向我展示问题的位置以及如何解决? 在 CCS 中、我可以再次从 FreeRTOS 调用 API、我看到了原型、但在构建时遇到了错误。 rtosConfig 文件夹包含所有必要的 c 和 h 文件。

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

    您好!

    如前所述、您看到的错误是链接器错误、而不是#include 文件错误-这告诉我您的项目中缺少源代码或库。  

    将您的项目与 Tivaware 的 FreeRTOS 演示进行比较、我看到后者包含使用的整个源代码-因此链接器能够正确解出所有符号(函数、变量)、因为它们是项目本身的一部分。 在您的项目中、我看不到项目中包含的 FreeRTOS 源代码、也看不到可能包含 FreeRTOS 代码的库(链接器选项中仅指定了 driverlib.lib 和 IQMathLib.lib)。   

    因此、为了使链接器正确查找 xQueueCreateGeneric 函数、它要求在某个位置定义-头文件仅声明函数和变量。  

    希望这对您有所帮助、

    拉斐尔

    P.S.

    关于添加源文件和库文件以及包括头文件的一般性声明:

    -必须将所有.c 文件添加到项目中-复制到其目录或进行链接
    -必须使用编译器选项--include_path 配置所有.h 文件目录
    -不确认出现在作为--include_path 参数传递给编译器的目录中的.c 文件。 此选项仅适用于.h 文件
    -出现在项目目录或其子目录之一中的.c 文件会自动编译
    -出现在项目目录或其中一个子目录中的.lib 文件会自动链接
    -系统中存在的所有其他.lib 文件应使用链接器选项--search_path 和--library 按以下方式进行配置:
      -.lib 目录应使用--search_path 选项进行配置
      -.lib 文件名应使用--library 选项进行配置