1. 课程导入

说实话,DSP移植联调这件事,很多人一上来就栽在环境搭建上。我见过太多工程师,代码写得挺溜,结果CCS装了半天跑不起来,仿真器死活连不上,最后发现是驱动版本不对。所以咱们第一节课,先把地基打牢。

这一章我们搞定三件事:CCS安装与配置、仿真器驱动安装、第一个LED点灯工程。你跟着我走一遍,后面移植联调才能顺风顺水。

1.1 CCS安装与配置

CCS全称Code Composer Studio,是TI官方的DSP集成开发环境。我个人习惯用CCS 8.x或10.x版本,太老的版本对新器件支持不好,太新的又容易有兼容性问题。

1.1.1 下载与安装

去TI官网下载CCS安装包,注意选择对应操作系统的版本。安装时我建议你选“Custom Install”,只勾选你需要的器件系列。比如你做C2000系列,就只勾选C2000的组件,别一股脑全装上——装完几十个G,大部分你用不上。

我的经验:安装路径不要有中文,不要有空格。我曾经因为路径里带了个“(1)”,结果编译时莫名其妙报错,查了半天才发现是路径问题。

1.1.2 工作空间设置

第一次启动CCS会让你选工作空间(Workspace)。我建议你单独建一个文件夹,比如 D:\DSP_Workspace。每个项目一个子目录,别把所有工程都堆在默认路径下。

启动后,进入 Window → Preferences,做几项基本配置:

  • 编码格式:设置为UTF-8,避免中文注释乱码
  • 字体大小:我个人习惯调到14号,眼睛不累
  • 自动编译:关掉“Build automatically”,省得改个文件就触发全编译

1.2 仿真器驱动安装

仿真器是DSP开发和调试的桥梁。市面上常见的有XDS100、XDS200、XDS560等。我最早用的是XDS100v2,便宜但速度慢,后来换了XDS200,稳定多了。

1.2.1 驱动安装步骤

  1. 先插仿真器,让系统识别到新硬件
  2. 打开设备管理器,找到带黄色感叹号的设备
  3. 右键更新驱动,选择CCS安装目录下的 ccs_base/emulation/drivers 文件夹
  4. 系统会自动匹配驱动,安装完成后设备管理器里会显示“TI XDS2xx Emulator”
注意:如果你用的是Windows 10/11,记得关闭驱动强制签名验证。否则驱动装不上,仿真器连不上。具体操作:重启时按F8,选择“禁用驱动程序强制签名”。

1.2.2 常见驱动问题

现象 原因 解决办法
设备管理器显示未知设备 驱动未正确安装 手动指定驱动路径,重新安装
仿真器灯不亮 USB供电不足 换一个USB口,或使用带外供电的USB Hub
CCS提示“Can't initialize target” 驱动版本与CCS不匹配 升级CCS或降级仿真器固件

嗯,这里要注意:仿真器驱动装好后,最好在CCS里跑一次“Test Connection”,确认连接正常再往下走。

1.3 第一个LED点灯工程

点灯是嵌入式开发的“Hello World”。别看简单,它能验证你的整个开发链路——从编译、下载到运行,全通才算环境搭好了。

1.3.1 创建新工程

在CCS里点 Project → New CCS Project,填写以下信息:

  • Target:选择你的DSP型号,比如TMS320F28335
  • Project name:比如 LED_Blink
  • Connection:选择你的仿真器类型,比如Texas Instruments XDS2xx USB Debug Probe
  • Project templates and examples:选“Empty Project (with main.c)”

点Finish,CCS会自动生成工程结构和main.c文件。

1.3.2 编写点灯代码

以TMS320F28335为例,GPIO34通常连接板载LED。代码很简单:

#include "F2833x_Device.h"
#include "F2833x_Examples.h"

void main(void)
{
    // 初始化系统控制
    InitSysCtrl();

    // 初始化GPIO
    InitGpio();

    // 配置GPIO34为输出
    EALLOW;
    GpioCtrlRegs.GPAMUX1.bit.GPIO34 = 0;  // 设置为普通IO
    GpioCtrlRegs.GPADIR.bit.GPIO34 = 1;   // 设置为输出
    EDIS;

    while(1)
    {
        // 点亮LED
        GpioDataRegs.GPASET.bit.GPIO34 = 1;
        DELAY_US(500000);  // 延时约0.5秒

        // 熄灭LED
        GpioDataRegs.GPACLEAR.bit.GPIO34 = 1;
        DELAY_US(500000);
    }
}

关键点说明:

  • EALLOW 和 EDIS 是保护机制,修改寄存器前必须解锁
  • GPAMUX1 决定引脚功能,0表示普通IO,其他值表示外设功能
  • GPADIR 设置方向,1为输出,0为输入

1.3.3 编译与下载

点锤子图标编译,没报错的话点绿色虫子图标进入调试模式。CCS会自动把程序下载到DSP的RAM或Flash里。

我第一次点调试时,等了半天没反应,后来发现是仿真器没选对。你想想看,CCS里Connection选的是XDS200,但实际插的是XDS100,那肯定连不上。

1.3.4 验证结果

下载成功后,点 Resume (F8) 运行程序。如果LED以0.5秒间隔闪烁,恭喜你,环境搭建成功了!

如果不亮,别慌。先检查硬件连接——LED正负极有没有接反?限流电阻有没有焊?再用万用表量一下GPIO34引脚电平,看有没有波形输出。

1.4 本章知识体系

下面这张图帮你理清整个环境搭建的脉络:

DSP开发环境搭建知识体系 DSP开发环境搭建知识体系 CCS安装与配置 仿真器驱动安装 LED点灯工程 下载安装 · 组件选择 · 工作空间 驱动安装 · 设备识别 · Test Connection 新建工程 · 代码编写 · 编译下载 开发环境就绪 · 可进行移植联调 避坑提醒 驱动版本不匹配、路径含中文、USB供电不足是三大常见坑 建议每完成一步都做验证,别等到最后才发现问题

1.5 常见问题与避坑

做DSP开发这么多年,我总结了几条环境搭建的常见坑,你提前知道能省不少时间:

坑一:CCS版本与器件支持包不匹配

我曾经装了个CCS 6.0,结果发现不支持F28379D,折腾半天才找到原因。建议先查TI官网的器件支持列表,再选CCS版本。

坑二:仿真器固件需要升级

新买的XDS200插上后,CCS提示固件版本过低。去TI官网下载XDS Emulator Firmware Update工具,按提示升级就行。

我的习惯:每完成一个步骤,我都会在CCS里点一下“Test Connection”。这样能尽早发现问题,而不是等到下载程序时才报错。

好了,环境搭建就讲到这里。你跟着走一遍,把LED点亮了,后面移植联调才有底气。记住,基础不牢,地动山摇——这句话在DSP开发里尤其适用。