第2章:DSP开发环境搭建——CCS安装与配置、工程模板创建、仿真器连接与调试

说实话,很多做OBC的工程师,一开始都栽在开发环境上。

工具链没搭好,后面写再多代码也是白搭。我个人习惯是,拿到新电脑第一件事,先把CCS装好、仿真器跑通。这一步稳了,后面才能安心调算法。

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

CCS是TI官方的IDE,说白了就是咱们写DSP代码的“战场”。我建议直接装最新版,目前是CCS 12.x系列。别用太老的版本,有些新芯片不支持。

2.1.1 下载与安装

  • 去TI官网搜“CCS download”,找到离线安装包。大概2-3GB,提前下好。
  • 安装时选“Custom Install”,别偷懒用默认。把你要用的芯片系列勾上——比如C2000系列(F280049、F28379D这些)。
  • 路径别带中文。我见过有人装到“D:\软件\CCS”,结果编译报错,折腾半天才发现是路径问题。
注意: 安装过程中会提示安装XDS驱动。一定要选“是”。否则后面仿真器连不上,你还得重装驱动。

2.1.2 工作空间设置

启动CCS后,它会让你选Workspace路径。我建议单独建一个文件夹,比如D:\OBC_Workspace。别跟其他项目混在一起,不然工程多了乱成一锅粥。

2.1.3 编译器与工具链配置

进CCS后,点 Window → Preferences → Code Composer Studio → Build → Compiler。检查一下TI编译器版本。我用的是TI v20.2.x LTS,稳定。

嗯,这里要注意:如果你用的是C2000系列,记得装C2000 Compiler Tools。没装的话,去 Help → Install New Software 里搜一下。

2.2 工程模板创建

每次新建工程都从零配?太累了。我习惯做一个通用模板,后面直接复制改名字。

2.2.1 新建工程

  1. File → New → CCS Project
  2. Project name:比如 OBC_Template
  3. Target:选你的芯片型号,比如 TMS320F280049C
  4. Connection:选 Texas Instruments XDS100v3 USB Debug Probe(看你用的仿真器)。
  5. Project template:选 Empty Project (with main.c)
小技巧: 我一般会勾上“Linker Command File”选项,让CCS自动生成CMD文件。省得自己手写,容易漏段。

2.2.2 添加必要文件

一个标准的OBC工程,至少要有这些文件:

  • main.c:主函数入口。
  • device.c/h:外设初始化(ADC、PWM、GPIO)。
  • control.c/h:控制算法(PI、PR、SVPWM)。
  • math_utils.c/h:数学工具函数(Q格式转换、查表)。

我曾经犯过一个错:把所有代码塞进main.c,结果编译出来几十KB,调试时找函数找到眼瞎。后来老老实实分文件,清爽多了。

2.2.3 工程属性配置

右键工程 → Properties,重点配这几项:

配置项 推荐值 说明
Optimization level None (-O0) 调试阶段别开优化,否则变量值看不到
Floating Point ABI SoftFP F280049没有硬件浮点,用软浮点
Stack size 0x400 1KB够用,递归多的可以加大
核心经验: 调试阶段 Optimization 一定选 None。我见过有人开了 -O2,结果单步执行时变量全被优化掉了,根本没法调。

2.3 仿真器连接与调试

环境搭好了,工程建好了,接下来就是连仿真器。这一步最容易出幺蛾子。

2.3.1 硬件连接

  • 仿真器(比如XDS100v3)用USB连电脑。
  • 仿真器的JTAG口连DSP板子。注意线序:TMS、TCK、TDO、TDI、GND。别接反。
  • 板子上电。我建议先量一下JTAG口的电压,3.3V正常。有一次我板子电源没焊好,JTAG口只有1.8V,仿真器死活连不上。

2.3.2 创建调试配置

Run → Debug Configurations,新建一个配置:

  1. Target Configuration:选你刚才建的 .ccxml 文件。
  2. Program:选编译出来的 .out 文件。
  3. 勾上“Connect to target on startup”。

2.3.3 常见连接问题与解决

我遇到过最坑的一次:仿真器连上后,点“Run”没反应。折腾了两小时,最后发现是板子复位电路有问题,复位引脚一直低电平。嗯,这里给大家列个排查清单:

  • 驱动没装好:设备管理器里看不到“XDS100”设备?重装驱动。
  • JTAG线太长:超过20cm容易信号衰减。我一般控制在10cm以内。
  • 电源不稳定:DSP核心电压1.2V,纹波超过50mV就可能连不上。加个电容。
  • 芯片锁死:如果之前烧写过安全密钥,仿真器会连不上。需要解锁。
警告: 千万别在仿真器连接时热插拔JTAG线。我烧过一个XDS100的驱动芯片,就是因为手贱。断电再拔,这是铁律。

2.3.4 调试技巧

连上之后,点 Debug 按钮。你会看到CCS进入调试视图。这时候可以:

  • 设断点:双击代码行号。我习惯在PWM中断入口设一个,看控制周期是否正常。
  • 看变量:在 Expressions 窗口添加变量名。比如 VbusIin
  • 看寄存器:点 View → Registers,检查PWM、ADC寄存器值。

我曾经调试一个OBC项目,输出电压一直不对。后来在调试界面看ADC结果寄存器,发现采样值全是0。查了半天,原来是ADC的SOC触发源没配对。你说气不气人?

2.4 本章小结

开发环境搭建,说白了就是三件事:装CCS、建工程、连仿真器。每一步都有坑,但只要你按我上面说的来,基本一次过。

我个人建议,第一次搭环境时,每一步都截图保存。下次换电脑或者带新人,直接翻图,省得再踩一遍雷。

下一章,咱们开始写真正的控制代码。到时候你会感谢今天把环境搭好的自己。