=========================================================================
F28035 工程调试连接排障记录
=========================================================================
工程 : F28035_Base_Template_PWM
芯片 : TMS320F28035 (64 Pin)
仿真器 : XDS100v3
IDE : Code Composer Studio Theia (ccstheia151)
日期 : 2026-10-07
一、问题现象
-
未主动调试时,CCS 反复弹出 "Debug session initialization failed.See console for details."。
-
点 Debug 后 1~2 秒即失败,Debug Output 面板无任何输出。
-
关闭杀毒软件并重启 IDE 后,第一次能连上目标,但无法运行:只有"重启/停止"可用,"运行(Resume)"是灰色。
-
第二次起又完全连不上,报错:
C28xx: Error connecting to the target: (Error -151 @ 0x0) One of the FTDI driver functions used during the connect returned bad status or an error.
二、根本原因
原因 :调试会话异常退出,残留 DSLite 进程占用仿真器
-
CCS 每次调试都会启动 DSLite 进程负责连接目标/加载程序。
-
调试会话被异常终止(杀毒软件拦截、直接关窗口、崩溃等)时,
DSLite 进程残留(僵尸进程),继续独占 XDS100v3 的 USB 句柄。
-
结果:后续连接全部报 Error -151(FTDI 驱动层打不开设备)。
-
当时系统里残留了 3 个 DSLite 进程(PID 3184 / 17288 / 24276),
TI 诊断工具 xds100serial 也扫描不到仿真器。
三、最终解决的详细操作步骤(重点)
【步骤 1】关闭杀毒软件或加入白名单
-
完全退出 360 安全卫士等杀毒软件(右下角托盘图标 → 退出)。
-
更稳妥做法:把 CCS 安装目录加入杀毒软件信任区/白名单,
即 D:\01-SoftwareInstall\ti\ 整个目录。
(杀毒软件可能静默拦截 CCS 的调试子进程,表现为"进程一起来就断、
socket error、无任何日志"。)
【步骤 2】清理残留的 DSLite 僵尸进程
-
先正常关闭 CCS(让 IDE 自带的 DSLite 尽量随主程序退出)。
-
以管理员身份打开 PowerShell(开始菜单 → 搜 PowerShell →右键 → 以管理员身份运行)。
-
执行:taskkill /F /IM DSLite.exe
-
若提示"拒绝访问",说明残留进程以更高权限启动,需确保当前PowerShell 也是管理员权限。
(可选:直接重启电脑,等效于以上清理,最省事。)
【步骤 3】用 TI 工具验证仿真器是否恢复可见
-
执行(普通权限即可):D:\01-SoftwareInstall\ti\ccstheia151\ccs\ccs_base\common\uscif\xds100serial.exe
-
正常输出应包含 XDS100v3 及其序列号(本机为 TI6TG0R8),
例如:0403/a6d1 XDS100v3 TI6TG0R8 Texas Instruments XDS100 Ver 3.0
- 若仍显示 "No XDS100 emulators were found":
-
检查是否还有残留进程占用(重做步骤 2);
-
重新插拔仿真器 USB 线(换一个口,尽量直连主机不用 HUB);
-
或重启电脑。
【步骤 4】以普通权限重新打开 CCS
-
重新打开 CCS,打开本工程。
-
注意:本次以"普通权限"打开,与之前保持一致,避免再次产生杀不掉的僵尸进程。
【步骤 5】确认活动构建配置为 RAM
-
工具栏构建配置下拉,选择 RAM(与已编译出 .out 的配置一致)。
-
原因:RAM 目录有现成的 F28035_Base_Template_PWM.out;
【步骤 6】启动调试并加载程序
-
点 Debug 启动调试,此时 Error -151 应已消失。
-
若连上后 Resume(运行)仍是灰色,说明只连接未加载程序:
-
在 Debug 视图选中 C28xx_0 核心;
-
点工具栏 "Load Program"(带箭头的芯片图标),
或右键核心 → Load Program;
-
选择 RAM\F28035_Base_Template_PWM.out;
-
加载完成后点 Resume(运行)。