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.

[参考译文] CODECOMPOSER:tms320f280049C 的极小构建失败

Guru**** 2589280 points
Other Parts Discussed in Thread: TMS320F280049C, C2000WARE

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/988613/codecomposer-extremely-minimal-build-for-tms320f280049c-failed

器件型号:CODECOMPOSER
主题中讨论的其他器件:TMS320F280049CC2000WARE

我只是在测试 CCS、只想检查为 tms320f280049C CCS 创建一个新项目将会编译(这是非常小的、甚至我甚至不会尝试将其刷写到目标硬件...只需编译)。

1使用 File>New>CCS 工程后,我按 Build Project 并成功(它只有空的 main()进行编译!)

2我添加一行内容来写入其中一个 SPI 控制寄存器、其中似乎最有可能包含文件、并且生成、并且我收到意外错误、这使我感到惊讶。

3.编译器的路径(假定包含正确的.h 文件)已添加到"包含路径"选项中、但这不会产生任何影响。

这让我感到惊讶、因为大多数嵌入式 IDE 以前使用过、通常只需几分钟即可轻松获得极少的构建、即使生成的代码在实际中无用...至少是构建!

这似乎是一个愚蠢的问题、但如何让 CCS 编译代码、修改 TI f280049C 控制器上的寄存器之一?  

我应该包含哪些.h 文件以及我应该使用哪些路径?

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

    您好!

    从 C2000ware 开始、有许多示例。 包括空项目。 您是否了解过这些内容? 这些示例将具有所有正确的头文件和 cmd 文件、让您在数分钟内即可完成。

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

    是的、我看到过这些函数、它们依赖于"driverlib.h"和许多声明为内联的函数 、但 我确信我应该能够直接访问 SpiaRegs、我更喜欢它。  我曾尝试打开示例文件夹中的名为 GPIO 的工程、但该工程甚至无法尝试编译、因此我怀疑工程属性中存在错误、如果是示例、也不会让我充满信心!

    我想知道的是、如果我的目标是 F280049C、我的文件中应该包含什么#include 以及项目属性中应该列出哪些 include 路径来访问目标 UC 上的功能?  

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

    尊敬的 Andrew:

    如果您不想使用 driverlib 方法,则可以参考 C:\ti\c2000Ware_3_04_00_00\device_support\f28004x\examples\SPI 中提供的位字段示例。 这些示例直接访问 SpiaRegs。

    您能告诉我您尝试编译哪个 GPIO 示例、但开箱即用失败了吗?  

    头文件位于 C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f28004x\con\include 和 C:\ti\c2000Ware_3_04_00_00\driverlib\f28004x\driverlib 文件夹中。

    此致

    Siddharth

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

    您好 Siddharth、

    我尝试从"C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f28004x\examples\SPI"中打开示例、它似乎不使用对 SpiaRegs 等寄存器的直接访问、但确实依赖于"devicelib.h"

    无论采用哪种方法、CCS10都不会编译该示例、这令人担忧:

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

    尊敬的 Andrew:

    您可能已经导入了 driverlib 示例。

    您能否通过从 C2000Ware 的器件支持目录中导入 CCS 工程再次进行检查?

    "C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f28004x\examples\spi"

    附件是本示例中直接访问 SpiaRegs 的代码片段。

    此致

    Siddharth

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

    作为一个背景、我已经维护了一些代码(由其他人在 DSP2833x 上启动)并 使用 SpiaRegs 等、没有任何问题、但这次在280049C 上、我只尝试创建一个非常最小的新代码来测试 CCS。

    我想我真正看到的是多路复用器和项目/编译器/路径管理问题的组合-即使我使用"File>OpenProjects from File System"或"File>Import"尝试加载 TI 示例代码、我也会遇到各种错误、无论它只是不加载项目还是 CCS 不编译……如果不能加载和编译自己的示例,所有这些都是非常令人担忧的!

    如果我尝试导入您建议的 SPI 示例、我会看到以下情况:

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

    尊敬的 Andrew:

    所有 C2000Ware 示例都经过构建测试、以确保它们在编译时不会出现任何错误。 看起来 CCS 工作区可能已损坏、这可能会为您造成这些问题。

    请在切换到新的 CCS 工作区后尝试导入相同的工程。

    此致

    Siddharth

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

    我尝试切换到新的工作区"C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f28004x\examples"、并使用了"File>Open Project Form File System"、并且该目录中只有两个项目可供加载。  

    两者都不编译,但没有错误,只是它根本不编译任何内容,即使在经过“清理”之后....控制台屏幕 始终为空白。

    如果我要使用 File>import,则从上次发布时收到相同的“导入失败”错误消息。

    如果我将工作区切换到"C:\ti\c2000\C2000Ware_3_03_00_00\driverlib\f28004x\examples"、我会看到与 CCS10完全相同的问题。

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

    尊敬的 Andrew:

    您能否尝试使用"Project->Import CCS Projects"导入、而不是使用 File->Open Project。 在这里、您需要指定要从中导入 CCS 工程的文件夹。 在本例中为"C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f28004x\examples\spi"、并查看您是否能够构建 CCS 工程。

    此致

    Siddharth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="481765" URL"~/support/tools/ccs/f/code-composer-studio-forum/988613/codecomposer-extremely-minimal-build-for-tms320f280049c-failed/3654032 #3654032"]即使我使用"File">OpenProjects from File System"或"File>Import"尝试加载 TI 示例代码,我也会遇到各种错误,无论它只是不加载项目还是 CCS 不编译。

    对于 C2000Ware、我使用 Resource Explorer 中的导入选项、该选项有效:

    我已经尝试过您使用的其他导入选项、这些选项会给出错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="481765" URL"~/support/tools/ccs/f/code-composer-studio-forum/988613/codecomposer-extremely-minimal-build-for-tms320f280049c-failed 文件]我应该包含哪些.h 文件以及应该包含哪些路径?

      f28004x_device.h 包含的 f28004x_spi.h 文件声明了一组 SPI 外设变量的结构变量:

    //---------------------------------------------------------------------------
    // SPI External References & Function Declarations:
    //
    extern volatile struct SPI_REGS SpiaRegs;
    extern volatile struct SPI_REGS SpibRegs;

    链接器报告 SpiaRegs 的未定义符号。

    使用 C2000Ware、定义结构的变量在 C 源文件中定义了每组外设寄存器、还需要链接器命令文件将结构放置在外设的基址。

    如果 是裸机程序、即没有 SYS/BIOS、则:

    1. C2000Ware_3_03_00_00_Software/device_support/f28004x/headers/sources/f28004x_globalvarabledefs.c 是定义外设寄存器结构的全局变量的 C 文件。
    2. C2000Ware_3_03_00_00_Software/device_support/f28004x/headers/cmd/f28004x_headers_nonbios.cmd 是要使用的链接器命令文件。

    随附的 CCS 工程使您的 main 函数访问 SpiaRegs 并为 f28004x_globalvarios.c 和 f28004x_headers_nonbios.cmd 文件添加了链接资源、以便 CCS 在编译期间使用它们、程序现在可以成功链接。

    使用链接的资源意味着使用 C2000Ware 安装中的文件、而不是工作区中工程的副本(在从 Resource Explorer 导入 C2000Ware 示例时会发生这种情况):

    将源文件添加或链接到工程 中具有有关创建链接资源的更多信息。

    /cfs-file/__key/communityserver-discussions-components-files/81/TMS320F280049C_5F00_bare_5F00_metal_5F00_bit_5F00_fields.zip

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

    Andrew、

    请告诉我使用"Project->Import CCS Projects"导入是否对您有效。 如果不是、那么现在您可以使用 Resource Explorer 中的导入选项。 这使用 CCS Cloud。

    此致

    Siddharth