TI CCS(Code Composer Studio,德州仪器嵌入式 IDE)2015~2026 版本总览

核心分界线:v12.x 是最后一代基于 Eclipse 的传统 CCS;v20 开始切换为 Theia 架构(类似 VS Code 界面),重大架构重构;当前最新正式版:**CCS v21.0.1(2026-08 发布)**德州仪器

版本时间线(2015 → 2026)

表格

版本 大致年份 核心特点
CCS v6.x 2014--2016 2015 主流版本,Eclipse4.5 内核;开始原生 64 位 Linux;支持 CC26xx/CC13xx SimpleLink 无线 MCU,XDS110 仿真器;2015 年很多 C2000、MSP430 项目在用 v6.1/v6.2
CCS v7.x 2016--2018 Eclipse 升级;编译器升级,新增更多 Sitara、C66x DSP 支持;SysConfig 开始引入早期版本
CCS v8.x 2018--2019 Eclipse 更新;增强 EnergyTrace 功耗分析;编译器版本更新,修复大量 C2000 调试 bug
CCS v9.x 2019--2020 完善 SysConfig 图形化配置工具;大量新增器件支持;Eclipse 平台维护更新
CCS v10.x 2020--2021 改进调试器性能,XDS 仿真器固件升级;完善 RTOS(TI-RTOS)集成
CCS v11.x 2021--2022 增强 Clang 编译器支持;对 AM62x 等新 SOC 支持;Eclipse 体系末期版本
CCS v12.x 2022--2024 最后一代 Eclipse 版 CCS,最高 v12.8.1;之后不再给 v12 加新功能,只做 bug 维护;大量存量项目(C2000、MSP430)至今还在用 v12.7/v12.8
CCS v20.x 2024--2026 架构大改版,基于 Theia IDE(不再是 Eclipse);界面风格接近 VSCode;v20.0~v20.5.1;支持 ARM Clang 编译器;Energia 被移除;老工程迁移需要适配,很多老脚本 / CCXML 要调整
CCS v21.x 2026 最新一代 Theia 架构;v21.0.0 /v21.0.1;增加 AI 助手、Python 脚本增强,更新器件支持,提升大工程编译速度德州仪器

重要知识点(嵌入式开发选型参考,你做 C2000/STM32、OTA、电机控制会用到)

  1. Eclipse 系列:v6 ~ v12
    • 优点:生态成熟,网上大量旧例程、GEL 脚本、CCXML 配置;老 C2000 工程兼容性极好
    • 缺点:Eclipse 笨重,启动慢;新芯片支持到 v12 后停止新增
    • 推荐稳定版:v12.7 / v12.8.1,目前工业项目最常用
  2. Theia 新系列:v20、v21
    • 优点:轻量化,界面像 VSCode,启动更快;原生支持 TI ARM Clang,新器件优先在 v20/v21 支持
    • 缺点:老工程迁移坑多;部分旧 GEL 脚本、第三方插件不兼容;调试插件还在持续完善
  3. 编译器和 CCS 版本不是强绑定:CCS 里可以单独安装不同版本 TI-CGT/Clang 编译器,比如 v12 也能使用新版 Clang。

选型建议

  • 维护老 C2000/MSP430 存量项目:CCS v12.8.1(Eclipse 末代稳定版)
  • 新项目,新 SOC(AM26、CC27xx、F29H 等):CCS v20.5.1 或 v21.0.1

注意:CCS 版本 ≠ 编译器版本,很多人混淆。IDE 是 CCS,编译工具链是独立的 CGT/Clang。

CCXML 和 GEL 一句话区分

CCXML:JTAG 调试会话的「硬件连接配置文件」(XML,静态描述)

GEL:CCS 调试器里执行的「解释型脚本语言」(.gel,动态操作芯片 / 寄存器)

两者搭配:CCXML 里可以指定加载哪一份 GEL 脚本,这也是 C2000、Sitara、DSP 调试最经典组合德州仪器

一、CCXML(Target Configuration File,目标配置文件)后缀.ccxml

作用:告诉 CCS,JTAG 链路怎么连、用哪个仿真器、什么芯片 / 多核、JTAG 参数,是启动 Debug 会话的入口文件德州仪器

核心内容

  1. 仿真器类型:XDS100/XDS110/XDS200/XDS300、模拟器 Simulator
  2. 目标芯片型号:F28335/F28035、AM5728、C6678 等;多核 SOC 会列出所有核心
  3. JTAG 通信参数:JTAG 时钟频率、TCK 延迟、JTAG/CJTAG 模式
  4. 可选配置:关联 GEL 脚本路径(Advanced 选项卡里设置)
  5. 多核拓扑:多核心 JTAG 链结构,多个核分别独立复位、连接

什么时候需要 CCXML

  • 点击「Launch Debug」启动 JTAG 调试,CCS 加载 ccxml,按里面配置去打开仿真器、扫描 JTAG 链
  • 一个工程可以多份 ccxml:比如一份 XDS110、一份模拟器;不同版本硬件用不同 ccxml
  • 多核心 DSP/SoC(C6678、AM57)必须靠 ccxml 描述多核 JTAG 拓扑

注意:ccxml 是描述文件 ,不会直接写寄存器;只是配置 JTAG 链路。

CCS v12(Eclipse)大量使用;新版 CCS v20 Theia 架构仍然保留 ccxml,但 GEL 支持有变化

二、GEL 脚本 General Extension Language(通用扩展语言,.gel)

GEL 是类 C 的解释脚本,运行在 CCS 调试器内部 ,不是下载到芯片上运行的固件代码,仅在 JTAG 在线调试阶段生效,芯片脱离仿真器独立运行时完全不会执行 GEL

GEL 核心能力(C2000 开发最常用)

  1. 连接目标时自动初始化硬件(最重要)
    JTAG 连上芯片瞬间自动执行:配置 PLL 时钟、开启 DDR、设置内存映射、解锁 CSM 代码安全模块、关闭看门狗。
    很多 DSP 上电后 DDR 没初始化,JTAG 连上无法访问 DDR 内存,必须靠 GEL 提前初始化 DDR,否则无法下载程序。
  2. 读写寄存器 / 内存
    直接操作外设寄存器、查看 / 修改任意地址内存,调试时一键配置外设。
  3. 自定义 CCS 菜单(hotmenu)
    在 CCS 的 Scripts 菜单生成自定义按钮,一键执行函数,例如一键解锁 CSM、关闭看门狗、设置内存映射。
  4. 断点触发自动执行
    断点命中时自动跑一段 GEL 脚本,自动化测试、采集变量。
  5. 内存映射配置 GEL_MapAdd():告诉 CCS 哪些地址是合法可访问的存储区域,防止调试器误读非法地址报错

典型 GEL 执行时机(内置回调函数)

  • OnTargetConnect():JTAG 成功连接芯片时自动执行(最常用,放初始化代码)
  • OnReset():芯片复位后执行
  • OnPreLoad():下载程序之前执行
  • OnPostLoad():程序下载完成之后执行

重要误区(很多人踩坑)

✅ GEL = 仿真器侧调试脚本 ,不烧录进 Flash ,板子脱离 JTAG 仿真器上电运行,完全不会跑 GEL。

✅ 芯片真正上电初始化时钟、DDR,最终必须写在工程 C 代码启动文件 里面;GEL 只是调试辅助。

❌ 不能把产品初始化逻辑完全依赖 GEL,量产代码不能依赖 GEL。

三、CCXML + GEL 完整工作流程(CCS Debug 启动)

复制代码
1. 右键ccxml → Launch Selected Configuration
    ↓
2. CCS读取CCXML:加载仿真器、芯片型号、JTAG参数,打开XDS仿真器,扫描JTAG链
    ↓
3. CCXML里配置的GEL文件自动加载,执行 OnTargetConnect()
    → 配置PLL、DDR、关闭看门狗、解锁CSM
    ↓
4. 硬件初始化完成,CCS可以访问芯片内存,下载.out程序、断点调试

四、CCS 新旧版本差异(你前面关心 v12 /v20)

  1. CCS v6~v12(Eclipse 版):GEL 完全成熟,工业 C2000 项目广泛使用 GEL,CCXML+GEL 是标配。
  2. CCS v20/v21(Theia 新版) :CCXML 保留用于目标配置;GEL 功能被逐步弱化,推荐改用新的 CCS JS Scripting 替代 GEL。老工程迁移到 v20 时,部分旧 GEL 脚本会出现兼容性问题。

五、对比表

表格

项目 CCXML GEL 脚本
后缀 .ccxml .gel
语言 XML 类 C 解释脚本
角色 JTAG 连接的静态配置文件 调试器执行的动态操作脚本
运行位置 CCS IDE 解析,不跑在芯片 CCS 调试引擎执行,不在芯片上运行
核心用途 选择仿真器、芯片、JTAG 参数 上电自动初始化 DDR / 时钟、读写寄存器、自定义调试菜单
工程是否必需 JTAG 在线调试必需;软件仿真也需要 非必需,简单小芯片(MSP430 简单工程)可以不加载 GEL
量产依赖 不依赖 严禁依赖,仅调试辅助

六、常见坑(C2000/DSP 调试高频)

  1. 没有加载正确 GEL → JTAG 连上后无法访问 DDR / 外部 RAM,下载程序失败。
  2. GEL 只在 JTAG 连接时生效,拔掉仿真器,板子独立跑,GEL 完全无效。
  3. 迁移到 CCS v20 时,老 GEL 脚本可能失效,要改用 JS 脚本。
  4. 修改 GEL 之后,需要重新 Launch Debug 会话,不会自动重新加载。
  5. CCXML 不要手动直接改源码,尽量使用 CCS 图形界面修改,XML 手写容易损坏配置。
相关推荐
比兔代理1 小时前
纯净IP是什么?从IP信誉、黑名单与ASN角度原理解析
开发语言·php
1024奇点1 天前
【仓颉语言入门 · 第二篇 第 8 课】
开发语言·数据库·ide·mysql·开源
xiaoye-duck1 天前
《C++ 项目:手写大模型接入 SDK》Trae IDE 开发环境搭建与依赖管理
c++·ide·语言模型
IM架构师1 天前
# 一次老旧PHPCMS网站入侵排查:从SQL注入到PHP后门,以及IP白名单止血
sql·tcp/ip·php
码途行者1 天前
处理超时未支付订单:两套轻量化方案,附 PHP 极简实现
开发语言·redis·php
vx_Biye_Design1 天前
PHP中医养生馆预约系统60841-计算机课程设计、毕业设计
vue.js·spring boot·后端·mysql·php·课程设计·express
一只笨菜鸟1 天前
IDEA如何让多个项目同时显示
java·ide·intellij-idea
.Bryce.1 天前
你了解 Blackboard(黑板系统)吗?听说过基于黑板系统实现的智能体吗?
java·网络·gpt·php·agent·codex·黑板系统
yu_zhidun1 天前
企业电脑监控软件怎么选:别只看功能清单,先看这 6 个底层能力
开发语言·电脑·php·域智盾系统