第二章 开发环境搭建: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的配置管理工具,默认会装。别取消,很多驱动库依赖它。
2.1.2 工作空间配置
第一次启动CCS,会让你选工作空间(Workspace)。工作空间就是存放你所有项目的文件夹。我建议单独建一个,比如 D:\TI_Workspace。别放在C盘,C盘空间紧张,而且重装系统就全没了。
进入CCS后,第一件事是配置编译器版本。点击菜单栏 Project → Properties → General,在“Tool-chain”里选你安装的编译器。TI默认用TI v20.2.x或更高版本。如果你用的是旧版CCS,可能需要手动指定路径。
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”,就能导入到你的工作空间里。省去自己敲代码的时间。
2.2.3 离线使用
如果你经常出差或者网络不好,可以下载离线包。在TRE面板右上角有个“Download Offline Content”按钮。点击后选择你需要的芯片系列,下载完就能离线浏览了。不过离线包比较大,一个MSP430系列就有几百兆,建议用有线网络下载。
2.3 驱动库安装
TI的驱动库(DriverLib)是一层封装好的API,让你不用直接操作寄存器。说白了,就是TI帮你写好了底层代码,你直接调用函数就行。比如你想让一个引脚输出高电平,用 GPIO_setOutputHighOnPin() 就行,不用去翻寄存器手册。
2.3.1 安装方式
驱动库的安装有两种方式:
- 通过CCS安装:在TRE里找到对应芯片的DriverLib,点击“Install”按钮。CCS会自动下载并安装到你的CCS安装目录下。
- 手动安装:去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的路径。
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.h或pin_mux.c里的引脚配置。
好了,环境搭好了,下一章咱们就开始写真正的代码了。记住,环境搭建是基础,基础不牢,地动山摇。别嫌麻烦,一步步来。