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/LAUNCXL-F2.8377万S:可以编译CCS中的基本示例

Guru**** 2540720 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/578084/ccs-launchxl-f28377s-can-t-compile-basic-examples-in-ccs

部件号:LAUNCHXL-F2.8377万S

工具/软件:Code Composer Studio

(首先,在使用C和MCU方面有相当丰富的经验,但在使用CCS,Eclipse或TI MCU方面却没有经验)

在发现最新controlSUITE包含的F2.8377万S标头和示例代码无效(C2000Ware/.../2067268)后206.7268万后192.237,我下载了最新的145.96 软件包。 我只是想继续努力,因为学习工具始终是最令人头疼的部分(阅读数据表和编写代码是"更容易"的部分),所以我从"盲目"的示例开始。 我一生都不知道如何获得CCS来实际导入项目,所以我只是将代码从 linky_cpu01.c复制到新项目中的main.c。 我已将项目包含搜索路径指向:"/device_support/f2837xs/headers/include"和  "/device_support/f2837xs/common/include"。 但是,当我开始编译时,我会收到以下错误:

  • 未定义       首次引用
  •  符号          在文件中    
  •  -------------------       --------
  •  _F28x_usDelay     ./main.obj    
  •  _GPIO设置PinMux  ./main.obj    
  •  _GPIO设置PIN选项./main.obj    
  •  _GPIO写入引脚     ./main.obj    
  •  _InitGpio       ./main.obj    
  •  _InitPieCtrl      ./main.obj    
  •  _InitPieVectorTable  ./main.obj    
  •  _InitSysCtrl      ./main.obj  

从第一个函数开始,我在 F2837xS_Examples.h中看到"_F28x_usDelay"(包含在搜索路径中),包含它的两行背靠背:

//
//包含不与F/BIOS一起使用的文件
//
#ifndef F28_BIOS
#include "F2837xS_defaultisr.h"
#endif

extern void F28x_usDelay (Long LoopCount);

//
不要修改此行。
//
#define delay_US(A) F28x_usDelay((((((((( 长双精度) A * 1000.0L)/(长双精度) CPU_RATE - 9.0L)/ 5.0L)

我再次肯定,这些都是简单的障碍(如我包含的第一个链接中的问题),一旦我能够实际编译示例,就可以轻松快速地学习。 如果能帮助您解决这些初始配置问题,我们将不胜感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您在使用“文件->导入”时遇到了什么问题?

    您可以使用包含文件的路径更新包含路径。

    右键单击您的项目并选择属性,然后找到"包括选项"或类似内容。 以下列格式添加所有include目录:

    "${ProjDirPath}/Include1"
    "${ProjDirPath}/abc/Include2"
    等等。

    ProjDirPath展开到项目目录的路径。

    斯蒂芬
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    添加include目录时,需要保留引号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我应该解释一下,include路径正在工作;否则错误是不可能的-因为“未知”符号位于仅包含路径中的文件中。 如果include路径不起作用,则错误只会是我丢失了头文件,如F28x_Project.h

    所以它必须是另一回事。 我怀疑这是额外的路径,因为没有丢失头文件的错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是"/device_support/f2837xs/headers/include"

    "/Users/Adam/...

    完整路径? 如果您在Linux中工作,则可能是这样,但如果您在Windows中工作,则路径将需要以驱动器号开头,即C:/...

    如果项目中包含缺少的函数的源文件,那么我只能认为缺少包含路径会导致缺少函数错误。

    斯蒂芬

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    包含路径与图片中显示的完全相同(我在文本中剪切它,因为完整路径并不真正相关)。 我在Mac上工作(所以是Unix)。 项目main.c中只有一个源文件(仅包含示例linky_cpu01.c中的文本)。 也许我只是在这个问题上有点生疏,所以我也尝试把两个文件夹“common”和“headers”放在项目文件夹中,但它会尝试编译所有内容,并出现更多错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉,您回答正确。如果缺少包含路径,您应收到"无法打开"包含文件错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您说您已将代码复制到main.c. 您是否还将其他c文件添加到您的项目中?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这就是我搞砸的地方——我刚刚弄明白了。 出于某种原因,我的印象是标题用于普通库,而不是其他未编译的代码。

    此外,在CCS内部进行了所有探索之后,我终于了解了如何正确地"导入"项目(如其他地方评论的那样,导入/打开区分非常愚蠢)。 幸运的是,C2000Ware捆绑包是独立的,所有的示例都正确引用了支持文件(以前,我从Windows计算机上的controlSUITE安装中复制了支持文件和示例-由于没有任何项目是正确的自引用,因此它从未工作过)。

    对于发现这种情况的任何Mac用户来说,您只需要CCS和C2000Ware就可以访问所有示例,而无需controlSUITE和Windows计算机/VM。

    从那时起,我就能让一切正常运行;我现在尝试了3个示例。