CCS11用户界面介绍1

CCS11用户界面介绍1

    • 导读
    • 1. Project Explorer
      • 1.1. 简介
      • 1.2. Project Explorer中的一些有用操作
      • 1.3. 虚拟文件夹
      • 1.4. 添加文件或链接文件(add files or link files)
      • 1.5. 排除文件
      • 1.6. 导入Projects
    • 2. 项目(Project)的属性(properties)介绍
      • 2.1. (CCS) General
      • 2.2. (CCS) Bulid
    • 3. 项目(Projects)中的一些文件介绍
    • 后记

导读

记录DSP学习中的一些笔记。本文记录TI有关CCSV11的用户界面介绍。

1. Project Explorer

1.1. 简介

CCS11用户界面介绍1_第1张图片
打开CCS11之后,最右边的Project Explorer用于显示项目文件。请注意,并非视图中出现的所有文件都将存在于文件系统中,反之亦然。链接文件将出现在视图中,但因为它们是引用而不是实际副本,它们不会出现在实际文件系统中。出现在 Project Explorer 视图中的“Binaries”和“Includes”文件夹也只是参考。“Binaries”文件夹指向您的活动构建配置子文件夹中的可执行文件(例如,“Debug”)。可以仔细查阅TI提供的图片例子:
CCS11用户界面介绍1_第2张图片

1.2. Project Explorer中的一些有用操作

  • 为了避免视图的混乱,可以自定义 Project Explorer 视图以显示/隐藏各种文件类型。
    CCS11用户界面介绍1_第3张图片
  • 当有很多工程文件(projects)时,可以设定工作集(Working Set),将需要先处理的文件放置进一个工作集中,然后隐藏其他工程文件。具体步骤如下所示:
    CCS11用户界面介绍1_第4张图片
    接着选择C/C++作为工作集类型,然后单击Next。
    CCS11用户界面介绍1_第5张图片
    最后设置工作集的名字以及选择想要放在一个工作集中的项目文件,点击完成之后完成创建工作集。
    CCS11用户界面介绍1_第6张图片

1.3. 虚拟文件夹

虚拟文件夹是仅存在于 CCS 工作区树中的文件夹,没有文件系统位置。通过使用虚拟文件夹,文件和文件夹可以组织在一个项目层次结构中,该层次结构独立于它们在文件系统中的位置。也就是说你可以按照你自己的理解对文件进行归纳和总结但是不会影响文件在实际文件夹中的位置。
CCS11用户界面介绍1_第7张图片

1.4. 添加文件或链接文件(add files or link files)

CCS 支持两种将源文件和/或文件夹添加到项目的方法。您可以添加文件或链接文件(add files or link files)。
当您将文件/文件夹添加到项目时,它会物理复制到项目目录的根位置。
当您将文件/文件夹链接到项目时,项目将在文件系统中创建对该文件/文件夹的引用,而不是将其复制到项目目录中。 链接文件显示在 CCS 项目浏览器视图中,带有一个特殊图标,如下所示。
除非明确排除,否则项目中包含的所有文件(复制或链接)都将包含在项目构建中。

1.5. 排除文件

从Build中排除文件:默认情况下,CCS 项目文件夹中的所有文件和文件夹都被假定为项目构建的一部分。要从 CCS 项目构建中排除文件或文件夹,请右键单击文件或文件夹然后点击Exclude from Build。如果文件没有在Project Explorer中显示,则检查Filters中是否将该种文件隐藏。
CCS11用户界面介绍1_第8张图片

1.6. 导入Projects

比创建新项目更常见的场景是使用现有项目。这可以是您自己的开发项目,也可以是 TI 提供的示例项目。在这种情况下,您必须先将项目导入 CCS。
CCS 可以导入使用相同版本或更早版本的 CCS 创建的项目,包括旧版 CCSv3 项目。但是,请记住,用于创建项目的 CCS 版本与用于导入项目的版本之间的差异越大,导入过程就越容易出错。
根据项目的类型和来源,有几种不同的导入项目的方法,TI推荐从资源浏览器中导入TI示例项目,所以也只介绍这点。
CCS11用户界面介绍1_第9张图片
CCS11用户界面介绍1_第10张图片
PS: 对于CCS中的出现的一些Projects导入错误以及构建(Build)错误,TI进行了一定的整理:https://softwaredl.ti.com/ccs/esd/documents/sdto_ccs_build-errors.html
需要时可以查阅。

2. 项目(Project)的属性(properties)介绍

右击项目名,在出现的菜单重选择Properties,打开如下界面。
CCS11用户界面介绍1_第11张图片

  • 归档文件
    要归档作为项目一部分的所有源文件的副本(无论是复制的还是链接的),以便将它们保存到代码存储库或与其他用户共享,您可以将资源导出到归档文件。以下是TI提供的步骤:
    CCS11用户界面介绍1_第12张图片
    PS:
    Code Composer Studio 支持几种不同类型的项目。
    CCS 项目- 使用 TI 工具链或用于 ARM 和 MSP430 的 GCC 编译器(CCSv6 及更高版本包含)时最常使用的项目类型。在这种类型的项目中,make 文件是自动生成的。如果您正在使用 TI 嵌入式处理器并希望创建一个项目以使用 JTAG 在 TI 器件/套件上加载和调试,请选择此项目类型。

2.1. (CCS) General

点击CCS General,打开如下界面:
CCS11用户界面介绍1_第13张图片
首先最上面的 Configuration 选项。在 CCS 中创建新项目时,默认会创建两个构建配置:Debug 还有 Release 。Debug构建配置通常没有优化并启用完整的符号调试(symbolic debug),以便于调试。Release构建配置通常会启用优化并禁用符号调试,以使您的代码尽可能小或尽可能快,而无需进行源代码级调试。这些只是通常为默认构建配置设置的选项,对于不同的设备系列可能会有所不同,因此最好检查为每个构建配置设置的默认选项并根据需要进行调整(请注意,TI 提供的一些示例项目可能具有除 Debug 和 Release 之外的自定义配置名称。例如,C2000Ware 中的项目可能具有 RAM 和 Flash 配置,其中一个设置为从 RAM 运行,另一个设置为从 Flash 运行。)。当创建新项目或将现有项目导入 CCS 时,第一个配置(按字母顺序)在工作区中设置为活动状态。

接下来介绍 Connection 。Connection中选择的是调试探针(如下图所示),根据自己需要选择合适的选项。这个选项一般在创建项目工程时已有涉及。
CCS11用户界面介绍1_第14张图片
下面的几个选项介绍一般情况下无需更改。不感兴趣的读者可以略过。

接下来介绍 Output format 选项。
Output format确定可执行文件 (.out) 的格式。可执行文件 (.out) 是可以在目标设备上加载和执行的文件,要更改可执行文件的名称或位置,请转到Project Properties → Build → Linker → Basic Options,然后更改–output_file选项。可执行文件的格式是 COFF 或 ELF。ELF:Executable and Linking Format,ELF 是除 C2000 之外的所有 TI 工具集的默认(或唯一)目标文件格式。COFF:Common Object File Format,TI 工具集使用的第一个目标文件格式称为 COFF,它代表通用目标文件格式。COFF 最早出现在早期的 Unix 系统中。虽然COFF 不是行业标准,但TI 采用了 Unix 的 COFF,然后开始对其进行定制(其他文件类型还有Object Files, Hex Files, System Memory Image)。
从 CCSv8 开始,新项目默认为基于 C66x、MSP430 和 ARM/Cortex 的设备的 ELF 格式。 C2000 和 C5500 仍默认为 COFF。 链接在一起的所有目标文件和库应该具有相同的格式。例如,如果您正在使用 ELF,则链接到项目的所有库也应该是 ELF 格式。否则,链接时会出错,并且不会创建可执行文件。

最后介绍 Linker Command FilesRuntime Support LibraryCCS11用户界面介绍1_第15张图片
创建新的非 RTSC 项目时,通常会将链接器命令文件 (.cmd) 和源文件(取决于所选模板)添加到项目中。链接器命令文件是根据为项目选择的器件选择的默认文件。如果在新建项目时,下面的选项设置为automatic,则将选择默认文件。
CCS11用户界面介绍1_第16张图片
链接器命令文件是一个 ASCII 文件,它使用两个链接器指令 MEMORY 和 SECTIONS 将段分配到特定的内存区域。MEMORY 指令定义目标内存配置。SECTIONS 指令控制节的构建和分配方式。此外,链接器命令文件还可以包括输入文件名和链接器选项。
链接器命令文件在嵌入式程序中发挥着重要作用,因为它们指定了代码和数据部分分配到目标存储器的位置。 如果没有这个文件,链接器将不知道目标内存配置以及如何正确分配节。分配代码段时,它将使用默认属性。在将代码加载到目标时,这可能会导致数据验证错误或写入内存块类型的错误。在某些情况下,它仍然可以正常加载(例如,如果加载到某些模拟器),但这绝不是一种好的做法,并且通常会导致程序在目标设备上运行时无法按预期工作。因此,为您的目标使用正确的链接器命令文件非常重要。随着应用程序要求变得更加严格,可以根据需要自定义链接器命令文件。
Runtime Support Library:一个 ANSI C/C++ 标准库,它负责系统启动,为字符串处理、输入/输出处理和内存分配等提供支持功能。由于这些事情是由运行时支持库(Runtime Support Library)处理的,CCS 项目应该链接到这个库中。

在一些情况下,点击CCS General中的Products,还会出现以下界面。
CCS11用户界面介绍1_第17张图片
Products中包括:用于项目使用的一系列Products.对于基于 RTSC/TI-RTOS 的项目,它还包含:
CCS11用户界面介绍1_第18张图片
其中Target会根据在Project选项卡中选择的Device Variant自动填充;Platform 可由用户根据目标板进行选择。

2.2. (CCS) Bulid

CCS11用户界面介绍1_第19张图片

  • Builder:定义构建命令、makefile 生成和一些其他构建设置。大多数用户不需要调整 Builder和Makefile generation下的默认设置。这些设置为使用默认构建命令并自动生成生成文件。其中选项Enable parallel build设置默认启用,并利用具有多个内核的 PC 来运行并行构建,从而加快构建时间。
  • Validator:设置对不同工具版本的遵守级别。此设置配置工具版本不匹配的严重性。如果您想严格控制要用于项目构建的编译器版本和其他产品,这将非常有用。
  • Variables:显示构建变量。构建变量可用于编译器和链接器构建选项,例如,指定路径以包含与构建变量相关的文件或库。
    PS:简要介绍变量的作用
    在多个用户之间共享的项目应该是可移植的。可移植项目本质上应该避免绝对路径。有两个主要领域应该避免使用绝对路径:链接源文件时;指定编译器时包含路径和链接器搜索路径。
    所以为了方便创建可移植项目,CCS 支持两种变量 - Path Variables和Build Variables(如用户自定义的变量为Preferences → Code Composer Studio → Build → Variables)。
    CCS11用户界面介绍1_第20张图片
  • Environment:定义环境变量
  • Steps:预构建和构建后步骤。预构建步骤是在主项目构建发生之前运行的步骤。 构建后步骤是在主项目构建发生之后运行的步骤。
  • Link Order:定义将文件传递给链接器的顺序。如果您需要严格控制链接顺序,您可以在此处添加所需文件并控制它们传递给链接器的顺序。
  • Dependencies:定义项目之间的依赖关系,允许在依赖项目之前构建引用的项目。一个常见的用例是当一个主项目链接到一个库中并且该库的项目被设置为一个引用项目。在此设置中,当您构建主项目时,将首先构建引用的项目,然后再构建主项目。

在Bulid下还有三个子目录:
CCS11用户界面介绍1_第21张图片
Compiler, Linker and Hex Utility是用于配置和设置代码生成工具的选项(XDCtools 用于配置 RTSC/TI-RTOS 项目,SysConfig 用于配置 SysConfig 项目)。涉及的是编译器/链接器。Hex Utility 可以作为 CCS 构建的一部分启用和调用。默认情况下,新 CCS 项目禁用 Hex Utility。

3. 项目(Projects)中的一些文件介绍

CCS 项目使用 Eclipse 管理的 make 系统,其中自动生成 makefile 并负责管理工具链和构建细节。创建新的 CCS 项目时,会在项目文件夹中创建以下项目元数据文件和文件夹:
CCS11用户界面介绍1_第22张图片

后记

《CCS11用户界面介绍1》主要介绍了Projects and Build相关内容。
《CCS11用户界面介绍2》将介绍CCS的Debug有关内容。

你可能感兴趣的:(DSP学习笔记,经验分享)