第二章 开发环境搭建:CCS安装与配置、TI Resource Explorer使用、驱动库安装

好,咱们正式开始动手了。这一章我带你搭好开发环境。说实话,很多初学者一上来就急着写代码,结果卡在环境配置上大半天。我当年也干过这种傻事——装了个CCS,结果编译器路径没配对,折腾了一下午才发现是安装目录带了中文。嗯,咱们别走这个弯路。

2.1 Code Composer Studio (CCS) 安装与配置

CCS是TI官方的IDE,基于Eclipse做的。说白了,它就是咱们写代码、编译、下载、调试的一站式工具。我个人习惯用最新稳定版,但如果你手头有旧项目,建议保留一个旧版本,别急着升级。

2.1.1 下载与安装

去TI官网搜“CCS download”,找到对应你操作系统的版本。注意区分Windows、Linux、macOS。我建议下载离线安装包,在线安装包有时候会断,尤其是网络不太好的时候。

安装时有几个关键点:

  • 选择组件:勾选你用的MCU系列。比如你学MSP430,就勾MSP430 Low Power MCU;学C2000,就勾C2000 Real-Time MCU。别全选,全选会装一堆你用不上的东西,白白占空间。
  • 安装路径:不要有中文!不要有空格!我见过有人装在“D:\程序\CCS”下面,结果编译报错找不到文件。老老实实用英文路径。
  • XDCtools:这个工具是TI的配置管理工具,默认会装。别取消,很多驱动库依赖它。
⚠ 注意: 安装过程中会提示安装“TI Debug Probe Drivers”,这是调试器驱动,一定要装。否则你连上开发板后电脑认不出设备。

2.1.2 工作空间配置

第一次启动CCS,会让你选工作空间(Workspace)。工作空间就是存放你所有项目的文件夹。我建议单独建一个,比如 D:\TI_Workspace。别放在C盘,C盘空间紧张,而且重装系统就全没了。

进入CCS后,第一件事是配置编译器版本。点击菜单栏 Project → Properties → General,在“Tool-chain”里选你安装的编译器。TI默认用TI v20.2.x或更高版本。如果你用的是旧版CCS,可能需要手动指定路径。

💡 小技巧: 我个人习惯把“Build”选项里的“Parallel jobs”设成4。这样编译时能利用多核CPU,速度能快不少。尤其是大项目,效果很明显。

2.1.3 调试器配置

连接开发板之前,先检查调试器驱动。打开设备管理器,看有没有“TI XDS100”或“TI Stellaris ICDI”之类的设备。如果没有,手动安装驱动,路径在CCS安装目录下的 ccs_base/emulation/drivers 里。

我曾经遇到过一个坑:用USB延长线连开发板,结果调试器一直报“Connection failed”。后来发现是延长线质量太差,供电不足。直接插电脑USB口就好了。所以,调试时尽量用主板上的USB口,别用前置面板或Hub。

2.2 TI Resource Explorer 使用

TI Resource Explorer(简称TRE)是TI的在线资源库。里面有什么?芯片数据手册、用户指南、例程代码、驱动库、应用笔记……几乎你需要的所有资料都在里面。我刚开始用TI芯片时,遇到问题第一反应是去百度,后来发现TRE里直接有官方例程,比自己瞎琢磨快多了。

2.2.1 打开方式

在CCS里,点击菜单栏 View → Resource Explorer,右侧会弹出一个面板。默认是联网模式,需要网络。如果你在没网的环境下,可以下载离线包。我个人建议用在线模式,因为资料实时更新。

2.2.2 如何快速找到需要的资料

TRE的目录结构是按芯片系列分的。比如你用的是MSP430F5529,就展开 MSP430 → MSP430F5xx/6xx → MSP430F5529。下面会有:

  • Documentation:数据手册、勘误表、用户指南
  • Software:驱动库、例程、RTOS
  • Development Tools:烧录工具、调试器固件

举个例子,你想看GPIO的例程。点开 Software → DriverLib → Examples → gpio,里面就有现成的代码。直接右键“Import to CCS”,就能导入到你的工作空间里。省去自己敲代码的时间。

🔑 核心要点: TRE里的例程都是经过TI验证的,可以直接用。但要注意,有些例程是针对特定开发板的,比如LaunchPad。如果你用的是自己的板子,需要改引脚配置。

2.2.3 离线使用

如果你经常出差或者网络不好,可以下载离线包。在TRE面板右上角有个“Download Offline Content”按钮。点击后选择你需要的芯片系列,下载完就能离线浏览了。不过离线包比较大,一个MSP430系列就有几百兆,建议用有线网络下载。

2.3 驱动库安装

TI的驱动库(DriverLib)是一层封装好的API,让你不用直接操作寄存器。说白了,就是TI帮你写好了底层代码,你直接调用函数就行。比如你想让一个引脚输出高电平,用 GPIO_setOutputHighOnPin() 就行,不用去翻寄存器手册。

2.3.1 安装方式

驱动库的安装有两种方式:

  1. 通过CCS安装:在TRE里找到对应芯片的DriverLib,点击“Install”按钮。CCS会自动下载并安装到你的CCS安装目录下。
  2. 手动安装:去TI官网下载DriverLib的压缩包,解压后放到 ti/simplelink_msp432p4_sdk_3_40_01_02 这样的目录里。我个人推荐第一种,省事。

安装完成后,新建项目时就能在“Project Templates”里看到DriverLib的模板。选一个模板,CCS会自动帮你配置好包含路径和库文件。

2.3.2 验证安装是否成功

新建一个空项目,写一段最简单的代码:

#include "driverlib.h"

void main(void)
{
    // 停止看门狗
    WDT_A_hold(WDT_A_BASE);

    // 配置P1.0为输出
    GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);

    // 输出高电平
    GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN0);

    while(1);
}

编译一下,如果没有报错“找不到driverlib.h”,说明安装成功。如果报错,检查一下项目属性里的“Include Path”有没有包含DriverLib的路径。

⚠ 注意: 不同芯片系列的DriverLib用法略有不同。比如MSP430的DriverLib和MSP432的就不一样。别把MSP430的例程直接复制到MSP432上用,会报错。我刚开始就犯过这个错,还以为是库没装好。

2.3.3 驱动库的目录结构

安装完成后,你可以在CCS的安装目录下找到DriverLib。以MSP432为例,路径大概是:

ti/simplelink_msp432p4_sdk_3_40_01_02/source/ti/devices/msp432p4xx/driverlib/

里面有几个关键文件夹:

文件夹/文件 说明
inc/ 头文件,比如gpio.h、uart.h
rom/ ROM版本的驱动库,用于节省Flash空间
source/ 源码文件,如果你想看底层实现,可以打开看
driverlib.lib 编译好的库文件,链接时用

我个人建议初学者先看 inc/ 里的头文件,了解每个函数的功能和参数。等用熟了,再去看 source/ 里的实现,能加深理解。

2.4 常见问题与避坑指南

环境搭建这块,我踩过的坑不少。挑几个典型的说说:

  • 编译报错“unresolved symbol”:通常是库文件没链接上。检查项目属性里的“Linker → File Search Path”,确保driverlib.lib的路径正确。
  • 调试时连接不上开发板:先检查驱动,再检查USB线。我遇到过最奇葩的一次,是开发板上的跳线帽没插对,导致调试器没供电。
  • 导入例程后编译报错:很多例程是给特定开发板写的,比如LaunchPad。如果你用的是自己的板子,需要改 board.hpin_mux.c 里的引脚配置。
💡 我的建议: 刚开始别急着改代码。先用官方例程跑一遍,确认环境没问题。然后再一点点改,这样出了问题也好排查。

好了,环境搭好了,下一章咱们就开始写真正的代码了。记住,环境搭建是基础,基础不牢,地动山摇。别嫌麻烦,一步步来。