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/66AK2G12:将产品(库)添加到项目的正确方法

Guru**** 2551110 points
Other Parts Discussed in Thread: MATHLIB

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/955736/ccs-66ak2g12-correct-way-to-add-products-libraries-to-a-project

器件型号:66AK2G12
主题中讨论的其他器件:MATHLIB

工具/软件:Code Composer Studio

大家好、我刚刚开始使用66AK 并安装了推荐的 CCS 和 SDK。

我创建了一个新的 CCS 工程并向其中添加了"产品"(DSPLIB、PDK_K2G 和 MATHLIB)。 我现在发现、某些包含路径在项目设置中已被帮助创建、但它们不会解析任何内容、并且将找不到"ti/DSPLib/DSPLib.h"。 编译器不会传递其中的任何包含路径。

我发现 CCS 用户指南中隐藏了以下部分:

6.1.3.6.1继承变量
从 CCSv7开始、依赖库工程的工程可能会在编译器中显示以下变量、包括路径和链接器库以及搜索路径选项:

"${INHERITED_INCLUDE_PATH}"
"${INHERITED_libraries}"
"${INHERITED_LIBRARY_PATH}"

似乎是从相关工程继承这些变量,但实际上 CCS 目前并未使用这些变量。 尽管变量已添加到工程中、但它们当前不会解析任何内容或用于任何目的。

一种确认方法是将鼠标悬停在三个点(…)上 变量旁边显示其解析为 。 

我不明白如果这些自动添加的行在编译中没有函数、它们的作用是什么。 我找不到有关此内容的任何进一步讨论、以解释应该如何将 TI 库添加到工程中(而不是手动显式引用所有路径)。

将产品添加到 CCS 项目的正确(清理)方法是什么? 我尝试在 Build->Environment 选项中创建这些变量(那里已经自动定义了类似名称的变量),但我的新变量由于某种原因突出显示为黄色,并且在编译期间仍然无法解决。

CCS 版本- 10.1.1.00004

K2G PDK 1.0.16

DSPLIB C66x 3.4.0.4

MATHLIB C66x 3.1.2.4

我没有使用任何 RTOS。 这是一个裸机项目。

谢谢、

James

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

    尊敬的 James:

    [引用 user="James Hall2"]如果这些自动添加的行在编译中没有函数,我不明白它们的作用是什么。

    这些变量的目的是 让依赖工程 将各种编译路径传递到父工程(然后将其添加到父编译器/库编译路径)。 虽然变量将出现在工程中、但依赖工程的路径并不总是传递到父工程。 并非所有依赖工程都将这些路径传递给父级、因此在许多情况下、即使定义了工程依赖项、变量也将是未定义的。

    [引用 user="James Hall2"]我找不到有关此内容的任何进一步讨论、无法解释应该如何将 TI 库添加到项目中(而不是手动明确引用所有路径)。

    库通常在工程链接器选项中指定:

    [引用 user="James Hall2"]向 CCS 项目添加产品的正确(清理)方法是什么?

    首先、确保 CCS 已"发现"这些产品:

    如果发现的产品列表中未显示该信息、请按"Refresh"按钮让 CCS 查找这些信息。 确保在 Product Discovery Path (产品发现路径)列表中指定了它们所在的根目录。

    发现产品后、您应该可以选择将其添加到您的项目中:

    请注意、我们通常不建议新用户从头开始创建新项目。 我认为 SDK 附带了现有示例。 建议从这些模板开始、并将其用作模板。 这比自己设置所有内容更容易、因为这可能很复杂(正如您已经发现的)。

    谢谢

    Ki