第三章 开发环境搭建:CCS安装与配置、仿真器驱动、工程模板创建
说实话,做DSP开发这么多年,我见过太多人在环境搭建这一步就卡住了。不是CCS装不上,就是仿真器连不上,折腾一整天还没开始写代码。嗯,这一章咱们就把这些坑都填平。
3.1 CCS安装——别选错版本
CCS(Code Composer Studio)是TI官方的IDE,说白了就是咱们写DSP代码的“战场”。我个人习惯用CCS 8.0以上版本,因为对C2000系列支持更好。
安装步骤:
- 去TI官网下载CCS安装包(建议离线版,在线版容易断)
- 双击运行,选择安装路径——千万别有中文和空格
- 组件选择时,勾上“C2000 Real-Time MCUs”
- 仿真器驱动选“XDS100/200 Support”
- 等待安装完成(大概20分钟,喝杯咖啡去)
3.2 仿真器驱动安装——XDS100/200
仿真器是连接PC和DSP板子的桥梁。XDS100是低成本方案,XDS200性能更好。我建议新手先用XDS100,够用了。
驱动安装流程:
- 插上仿真器,系统会提示“发现新硬件”
- 手动指定驱动路径:
C:\ti\ccs_base\emulation\drivers - 如果自动安装失败,去设备管理器里更新驱动
- 安装成功后,设备管理器会显示“TI XDS100 Channel A”
C:\ti\ccs_base\emulation\windows\xds100\dpinst.exe
你想想看,仿真器连不上,后面所有调试都白搭。所以这一步一定要确认好。我记得有一次给客户远程调试,他那边仿真器怎么都识别不了,最后发现是USB线质量太差——换根线就好了。
3.3 CCS配置——让IDE认识你的芯片
装好CCS后,第一件事就是配置Target Configuration。说白了就是告诉CCS:“我要用哪款芯片,用什么仿真器”。
配置步骤:
- 打开CCS,点击
View → Target Configurations - 右键
User Defined,选择New Target Configuration - 命名(比如
F28335_XDS100.ccxml) - 在
Connection里选Texas Instruments XDS100v2 USB Emulator - 在
Device里选TMS320F28335 - 保存并设置为默认
3.4 工程模板创建——从零开始搭框架
每次新建工程都从头配置?太累了。我习惯做一个通用模板,以后直接复制。
创建模板工程:
- 点击
Project → New CCS Project - 填写工程名(比如
DSP_Template) - 选择芯片型号:
TMS320F28335 - 选择工程类型:
Empty Project (with main.c) - 编译器版本选最新的
- 点击
Finish
模板工程里,我通常会包含这几个文件:
main.c—— 主函数入口DSP2833x_Headers_nonBIOS.cmd—— 链接命令文件DSP2833x_GlobalVariableDefs.c—— 全局变量定义DSP2833x_DefaultIsr.c—— 中断服务函数
InitSysCtrl() 和GPIO配置函数。这样每次新建工程,直接调用就行,省得重复造轮子。
3.5 工程导入——复用已有代码
有时候别人给你一个工程,或者你想复用之前的代码,就需要导入功能。
导入步骤:
- 点击
Project → Import CCS Projects - 选择工程所在的文件夹路径
- 勾选要导入的工程
- 点击
Finish
这里有个坑:导入后如果编译报错,多半是路径问题。检查一下 Include Options 里的头文件路径对不对。我曾经导入一个同事的工程,他用的绝对路径,我这边路径不一样,编译直接挂了。后来我统一改用相对路径,再也没出过问题。
3.6 第一个测试工程——点个灯试试
环境搭好了,总得验证一下。咱们写个最简单的点灯程序:
#include "DSP2833x_Device.h"
void main(void)
{
// 系统初始化
InitSysCtrl();
// 配置GPIO0为输出
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; // 设置为普通IO
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; // 设置为输出
EDIS;
while(1)
{
GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1; // 翻转电平
DELAY_US(500000); // 延时约0.5秒
}
}
编译通过后,连接仿真器,点击 Debug 按钮。如果看到板子上的LED一闪一闪,恭喜你——环境搭建成功了!
3.7 避坑指南——我踩过的那些雷
做DSP开发这些年,环境搭建这块我踩过的坑,够写一本书了。挑几个典型的说说:
- CCS卡在启动界面:多半是杀毒软件拦截了。关掉杀毒软件,或者把CCS加入白名单。
- 编译报错“unresolved symbols”:检查一下是不是忘了添加库文件。右键工程 → Properties → Build → C2000 Linker → File Search Path,添加
rts2800_fpu32.lib。 - 仿真器连上后经常掉线:USB线太长或者质量差。换一根短一点的、带磁环的USB线。
- 下载程序后芯片不运行:检查一下Boot Mode引脚配置。F28335的GPIO84/85/86决定启动模式,确保它们配置正确。
嗯,环境搭建这部分就这些了。说白了,只要按照步骤来,别偷懒,基本不会出大问题。下一章咱们开始写真正的驱动代码——让太阳翼动起来!