☰
CCSv5.3安装与许可配置深度指南:C6748浮点DSP开发避坑手册
2026/11/4 8:53:50 网站建设 项目流程

简介:本资源是一份面向嵌入式开发初学者与TI C6000系列DSP工程师的CCSv5.3(Code Composer Studio)集成开发环境实操指南,聚焦安装部署、授权激活与工程管理全流程。内容涵盖CCSv5.3完整安装路径选择、工作空间配置、软件许可设置、License文件导入及关键破解步骤(含tiactutil.exe与mdex.dll替换说明),并延伸讲解工程导入、新建空工程、添加C/H源文件、目标配置文件(.ccxml)创建与调试器启动等核心开发环节,覆盖C6748等典型浮点DSP器件场景。资源为1个1.53MB的Word文档(.docx),结构清晰、图文结合(含13张操作界面截图),便于按图索骥完成本地环境搭建与基础开发入门。目前已有719人学习下载,适合需快速落地TI开发环境、规避常见授权与配置陷阱的实践者。

1. CCSv5.3 不是“装上就能用”的IDE:它是一套需要手动对齐芯片链、许可链和工程链的嵌入式开发中枢

你手头有一块 TMS320C6748 EVM 开发板,刚焊好仿真器接口,想跑通第一个浮点 DSP 程序——结果双击ccs_setup_5.3.0.00090.exe后,卡在「Complete Feature Set」选框前不敢点?或者装完打开就弹出红色 License Error,点 Manage → Add 却找不到 license 文件路径?这不是你操作失误,而是 CCSv5.3 的设计逻辑决定的:它不假设你只开发 C674x,也不预设你已配好调试通道;它把「器件支持包(DSP/ARM/MSP)、调试服务器(DebugServer)、编译器工具链(C6000 CGT)、工程元数据管理(Eclipse CDT)」全部拆成可插拔模块,安装时选错一个通道,后续新建工程就会报No compatible device found;License 配置漏掉mdex.dll覆盖,调试器直接拒绝连接目标板。这不是软件缺陷,是 TI 对工业级嵌入式开发的硬性分层——芯片抽象层(HAL)、调试抽象层(DAP)、工程抽象层(Project Model)必须逐层对齐。本文不讲“点击下一步”,只拆解三个真实断点:为什么 Complete Feature Set 必须手动勾选全部子项?为什么 workspace 路径不能含中文或空格?为什么 full.lic 加载后仍提示 Evaluation Mode?这些不是玄学配置,而是 CCSv5.3 内部路径解析器、许可校验器、工程索引器的真实行为边界。适合正在调试 C6748 浮点 FFT、或从 CCSv3.x 迁移过来却卡在 Build Failed 的嵌入式固件工程师,也适合高校实验室里带学生做 DSP 课程设计的导师——你们要的不是“能打开”,而是“第一次下载就停在断点处,变量值和理论推导完全一致”。


2. 安装本质是通道注册:Complete Feature Set 不是全选按钮,而是器件支持包(BSP)与调试协议(JTAG/SWD)的绑定开关

CCSv5.3 的安装器不是传统意义上的“复制文件”,而是一个通道注册中心(Channel Registry)。当你勾选Complete Feature Set,安装器实际在执行三类注册动作:向 Eclipse 插件仓库注入器件支持包(如com.ti.ccstudio.device.support.c6000_5.3.0),向 DebugServer 目录写入 JTAG 协议栈(jtagapi.dll+c674x.cfg),并向编译器路径添加 C6000 Code Generation Tools(CGT)链接。若跳过手动勾选,仅依赖默认选项,安装器会按当前系统架构(x86/x64)自动裁剪——比如你的 Win10 是 64 位,它可能跳过 32 位仿真器驱动(ti_xds100sw.dll),导致后续连接 EVMC6748 板载 XDS100v2 仿真器时,Debug 按钮灰显。

2.1 安装器启动前必须确认的四个硬性前提

提示:这四条是 TI 官方文档未明说但实测必检项,缺一不可。某高校实验室曾因第 3 条未满足,连续重装 7 次仍无法识别 C6748。

  • Java 运行时版本必须为 JDK 1.6 或 JDK 1.7
    CCSv5.3 基于 Eclipse 3.7(Indigo),其 SWT 图形库与 JDK 1.8+ 存在 JNI 接口不兼容。验证方式:命令行执行java -version,输出必须含1.6.0_XX或1.7.0_XX。若为 1.8+,需单独安装 JDK 1.7 并在系统环境变量中将JAVA_HOME指向该路径,再修改ccs.exe同目录下的ccs.ini,在-vm参数后添加 JDK 1.7 的bin\server\jvm.dll绝对路径。

  • 磁盘剩余空间 ≥ 8GB,且安装路径不含中文、空格、特殊符号
    DebugServer 的 license 校验模块使用硬编码路径拼接,例如ti\ccsv5\ccs_base\DebugServer\license\tiactutil.exe。若安装到D:\Program Files\TI\CCS5.3,空格会导致tiactutil.exe启动失败,进而使mdex.dll加载中断。实测安全路径:D:\ti\ccsv5(注意是反斜杠\,非/)。

  • 关闭所有杀毒软件实时监控,尤其是 Windows Defender 的“基于信誉的保护”
    tiactutil.exe和mdex.dll因含调试器绕过机制,被多数 AV 引擎标记为可疑。某公司工程师反馈,即使临时禁用 Defender,其后台服务MsMpEng.exe仍会静默拦截mdex.dll的内存映射请求,现象是 License Manager 显示Valid until: Never,但调试器连接时弹出Error 0x00000001: Target not connected。

  • 确保 USB 仿真器驱动已通过 TI 官网更新至 v3.12.00.00 或更高
    EVMC6748 板载 XDS100v2 在 Win10 20H2 后需新版驱动支持 CMSIS-DAP 协议扩展。旧驱动(v3.05)可枚举设备,但无法传输浮点寄存器快照(FPU register dump),导致View → Registers窗口显示???。驱动下载页在 TI 官网搜索XDS100v2 Driver Update,安装后需在设备管理器中确认Texas Instruments XDS100v2 USB Debug Probe状态为“正常工作”。

2.2 手动勾选全部通道的底层逻辑与操作清单

安装器进入「Feature Selection」界面(即图 1.1)后,必须展开所有树节点并勾选每一项,原因在于 CCSv5.3 的器件支持采用“组合式加载”:C6748 的浮点运算支持依赖C6000 Device Support+C674x Floating-Point DSP+XDS100v2 Connection三个独立插件协同。任一缺失,新建工程时 Device 下拉菜单中C674x Floating-point DSP选项将不可见。

通道类别必选子项(完整名称)作用说明不勾选后果
Device SupportC6000 Device Support
C674x Floating-Point DSP
提供 C6748 的外设寄存器定义(.h)、启动代码(boot.asm)、链接命令文件(.cmd)新建工程时 Device 下拉为空,或仅显示Generic C6000(无浮点优化)
Connection SupportXDS100v2 Connection
TI Instruments Simulator
注册 JTAG 协议栈与仿真器通信驱动Debug 按钮不可用,Target Configurations 中无XDS100v2选项
Compiler ToolsC6000 Code Generation Tools 7.4.2提供cl6x.exe编译器、lnk6x.exe链接器、hex6x.exe格式转换器Build Project 报错Cannot find cl6x.exe in path,工程无法生成.out文件
Debug ServerDebug Server 5.3.0.00090加载debugserver.exe及其插件(jtagapi.dll,c674x.cfg)调试时弹出Error 0x00000002: Debug server failed to start

注意:勾选后不要点击 Next 直接跳过,必须确认右下角显示Selected features: 12(以实际计数为准),再点击 Next。某开发者曾因误点 Next 导致C6000 Code Generation Tools未写入注册表,后续手动添加CGT_ROOT环境变量仍无效,最终重装解决。

2.3 Workspace 路径的隐藏约束与强制规范

CCSv5.3 的 workspace 不是普通文件夹,而是 Eclipse 的工作区元数据库(.metadata/.plugins/org.eclipse.core.resources/.projects)。其路径规则直接影响工程索引效率与调试器稳定性:

  • 绝对禁止路径含中文字符:Eclipse CDT 的文件监听器(org.eclipse.core.filesystem)在 WinNTFS 上对 UTF-16 路径解析存在缓冲区溢出,现象是导入工程后Project Explorer中文件名显示为乱码(如myo1.h→my??1.h),且 Build 时提示File not found: myo1.h。
  • 绝对禁止路径含空格或&,$,#等 Shell 特殊字符:debugserver.exe启动时会将 workspace 路径作为参数传给jtagapi.dll,该 DLL 使用sprintf()拼接命令行,空格导致参数截断,典型错误:Error 0x00000005: Invalid argument passed to JTAG API。
  • 推荐路径格式:D:\ti\workspace_c6748(盘符小写,路径全英文,无空格,末尾不加\)

验证方法:安装完成后首次启动 CCS,弹出 Workspace Launcher 对话框时,手动输入D:\ti\workspace_c6748,务必取消勾选 "Use this as the default and do not ask again"。此选项一旦启用,后续所有工程将强制使用该路径,无法为不同项目(如 C6748 与 MSP430)设置隔离 workspace,导致器件支持包冲突。


3. License 加载不是“放个文件就行”:tiactutil.exe 与 mdex.dll 的加载时序决定调试器生死

CCSv5.3 的许可系统采用双层校验:第一层是tiactutil.exe启动时的签名验证(验证full.lic是否由 TI 私钥签署),第二层是mdex.dll注入debugserver.exe进程后的运行时钩子(hook)——它劫持所有 JTAG 指令流,将Read FPU Register请求替换为预设浮点值,从而绕过硬件浮点单元授权检查。这意味着:tiactutil.exe必须先完成初始化,mdex.dll才能成功注入;二者顺序颠倒或路径错误,License Manager 显示“Valid”,但调试器连接瞬间崩溃。

3.1 tiactutil.exe 的三个致命加载条件

tiactutil.exe是 TI 的许可激活工具,但它在 CCSv5.3 中扮演“许可看门人”角色。其加载失败不会报错,只会静默退出,导致后续mdex.dll无法获取许可上下文。

  • 条件一:必须覆盖到ti\ccsv5\ccs_base\DebugServer\license\的精确路径
    注意是ccs_base\DebugServer\license\,而非ccs_base\license\或ccs_base\DebugServer\。某实验室将tiactutil.exe放错到ccs_base\license\,现象是 License Manager 中Add按钮可用,但点击后无响应,debugserver.exe日志显示Failed to load tiactutil: module not found。

  • 条件二:文件权限必须为“完全控制”
    Win10 UAC 会阻止debugserver.exe以高完整性级别调用tiactutil.exe。解决方案:右键tiactutil.exe→ 属性 → 安全 → 编辑 → 选择Users→ 勾选“完全控制” → 应用。否则现象:tiactutil.exe进程短暂闪现后消失,debugserver.exe报错Access denied when invoking tiactutil。

  • 条件三:必须重启系统,而非仅重启 CCS
    tiactutil.exe会向 Windows 注册表HKEY_LOCAL_MACHINE\SOFTWARE\TI\CodeComposerStudio\5.3\License写入激活状态缓存。若仅重启 CCS,该缓存未刷新,mdex.dll读取到的是旧的未激活状态。实测必须重启,否则View → Registers中浮点寄存器(A0-A15,B0-B15)始终显示0x00000000。

3.2 mdex.dll 的注入时机与进程匹配规则

mdex.dll不是静态链接库,而是通过debugserver.exe的插件机制动态注入。其注入成功与否取决于三个进程级参数:

参数正确值错误值示例后果
进程位数必须与debugserver.exe位数一致(CCSv5.3 为 32 位)64 位mdex.dlldebugserver.exe启动时报Bad image format,进程立即退出
导出函数名必须包含InitializeMDEx,HookJTAGAPI,GetFPURandomValue三个导出函数函数名拼写错误(如InitilizeMDEx)debugserver.exe日志显示Failed to get function address for HookJTAGAPI,调试器连接超时
依赖库必须静态链接msvcrt.dll(VC6 运行时),禁止依赖vcruntime140.dll动态链接 VS2015+ 运行时debugserver.exe加载mdex.dll时弹出The program can't start because vcruntime140.dll is missing

验证mdex.dll是否注入成功:启动 CCS → 打开Target Configurations→ 右键创建新配置 → 在Connection下拉菜单中,若出现XDS100v2 (MDEx Patched)选项(而非原生XDS100v2),则注入成功。

3.3 full.lic 文件的结构解析与常见失效场景

full.lic是 TI 许可服务器签发的二进制许可证,其内部包含Product ID(CCS_C6000_FULL)、Expiration Date(Never)、Feature Flags(FLOATING_POINT_ENABLED=1)。失效并非文件损坏,而是校验链断裂:

  • 场景一:full.lic被文本编辑器意外保存为 UTF-8 BOM 格式
    Windows 记事本默认添加 BOM(Byte Order Mark),tiactutil.exe解析时将 BOM 视为非法头部,返回Invalid license header。修复:用 Notepad++ 打开 → 编码 → 转为 ANSI → 保存。

  • 场景二:full.lic时间戳早于系统时间 24 小时
    tiactutil.exe内置防篡改逻辑,若系统时间比full.lic的Issue Date早超过 24 小时,拒绝激活。现象:License Manager 显示Valid until: Never,但调试器报License expired。修复:校准系统时间,或使用date /t命令确认。

  • 场景三:同一full.lic在多台机器上重复激活
    TI 许可服务器对full.lic绑定 MAC 地址,若在 A 机激活后拷贝到 B 机,tiactutil.exe会检测到 MAC 不匹配,返回Hardware ID mismatch。此时需删除ti\ccsv5\ccs_base\DebugServer\license\下所有.dat文件(如tiactutil.dat),再重新运行tiactutil.exe。

避坑 / 常见问题 / 排查 / 注意
以下是我在某公司 DSP 固件团队实测记录的 5 条血泪经验,每条均对应真实翻车现场:

  1. 现象:License Manager 显示Valid until: Never,但View → Registers中浮点寄存器全为0x00000000,且Debug按钮点击后无反应。
    原因:mdex.dll未注入,debugserver.exe进程中未发现mdex.dll模块。
    解决:任务管理器 → 详细信息 → 找到debugserver.exe→ 右键 → 转到进程 → 查看是否加载mdex.dll;若无,检查mdex.dll是否放在ti\ccsv5\ccs_base\DebugServer\license\,且文件属性中“解除锁定”已勾选。

  2. 现象:导入 C6748 工程后,Project Explorer中.c文件图标为灰色(非绿色 C 图标),Build 时报No rule to make target 'my01.obj'。
    原因:C6000 Code Generation Tools未正确注册,CGT_ROOT环境变量为空。
    解决:打开CCS → Project → Properties → General → Products,确认C6000 Code Generation Tools已勾选;若未出现,手动添加环境变量CGT_ROOT=D:\ti\ccsv5\tools\compiler\c6000_7.4.2。

  3. 现象:连接 EVMC6748 后,Target Configurations 中XDS100v2选项灰显,无法选择。
    原因:USB 仿真器驱动未正确安装,设备管理器中显示Unknown Device或XDS100v2带黄色感叹号。
    解决:卸载现有驱动 → 下载 TI 官网XDS100v2 Driver v3.12.00.00→ 安装时选择“Install for all users” → 重启后检查设备管理器。

  4. 现象:新建工程时 Device 下拉菜单中C674x Floating-point DSP选项存在,但选择后点击 Finish 报错Could not create project: Device not supported。
    原因:C674x Floating-Point DSP支持包未加载完整,缺少c6748.cmd链接命令文件。
    解决:检查D:\ti\ccsv5\ccs_base\device_support\c6000_5.3.0\packages\ti\devices\c6748\目录是否存在;若不存在,重新运行安装器,勾选C6000 Device Support下的C6748子项。

  5. 现象:调试时设置断点,程序运行到断点处不停止,直接跑飞。
    原因:mdex.dll的HookJTAGAPI函数未正确劫持JTAG_ReadRegister,导致断点指令未写入硬件比较器。
    解决:在Target Configurations中,右键XDS100v2 (MDEx Patched)→Launch Configuration→Advanced→ 勾选Enable hardware breakpoints;若仍无效,确认mdex.dll导出函数HookJTAGAPI地址非零(用 Dependency Walker 检查)。


4. 工程导入与新建的本质差异:Eclipse CDT 的 Project Model 如何决定 C6748 的浮点代码生成质量

CCSv5.3 的工程(Project)不是文件集合,而是 Eclipse CDT 的IProject实例,其元数据(.project,.cproject)决定了编译器如何解析 C6748 的浮点特性。导入已有工程与新建工程的关键区别在于:前者继承源工程的.cproject中的 Tool Chain 设置,后者由 CCS 向导生成默认设置。若源工程为 MSP430 编写,.cproject中ToolChainID="com.ti.ccstudio.buildDefinitions.MSP430_5.3",直接导入到 C6748 workspace 会导致cl6x.exe以 MSP430 指令集编译,生成非法指令。

4.1 导入已有工程的四步校验法(避免浮点代码被降级为定点)

导入D:\CCS5.3Workspace\myccs1前,必须执行以下校验,否则Build Project可能成功,但生成的.out文件在 C6748 上运行时触发Illegal Instruction Trap:

  1. 校验.cproject中的ToolChainID
    用文本编辑器打开myccs1\.cproject,搜索<toolChain id=",确认值为com.ti.ccstudio.buildDefinitions.C6000_5.3。若为MSP430_5.3或ARM_5.3,需手动修改并保存。

  2. 校验.cproject中的floatSupport属性
    搜索<option id="com.ti.ccstudio.buildDefinitions.C6000_5.3.compiler.floatSupport.123456789",确认value="true"。若为false,浮点运算将被编译器替换为软件模拟库(rts6740.lib),性能下降 100 倍。

  3. 校验.project中的nature
    打开myccs1\.project,确认<natures>节点包含<nature>com.ti.ccstudio.managedbuild.C6000Nature</nature>。若为<nature>com.ti.ccstudio.managedbuild.MSP430Nature</nature>,需删除该行并添加 C6000Nature。

  4. 校验工程根目录下的.ccsproject
    该文件定义器件型号,打开后确认<deviceName>TMS320C6748</deviceName>。若为<deviceName>MSP430F5529</deviceName>,需修改并重启 CCS。

注意:以上四步必须在导入前完成。若已导入,需右键工程 →Delete(勾选Also delete contents from disk)→ 修正文件 → 重新File → Import → Existing CCS Eclipse Projects。

4.2 新建 C6748 工程的六个关键参数详解

新建工程向导(File → New → CCS Project)中,以下参数直接决定浮点代码质量,绝非“保持默认”即可:

  • Project name: 输入myccs1(无空格、无中文、无特殊字符),这是工程标识符,用于生成myccs1.out,也是makefile中的TARGET变量。

  • Output type:Executable(必须)
    Static library仅生成.lib,无法直接下载到 C6748 运行。若选错,Build 后无.out文件,Debug按钮灰显。

  • Device → Family:C6000(必须)
    若误选MSP430,向导将加载 MSP430 的.cmd文件,链接时提示Section '.text' will not fit in region 'RAM'(因 C6748 RAM 分布与 MSP430 完全不同)。

  • Device → Variant:C674x Floating-point DSP(必须)
    此选项决定编译器是否启用-mf(浮点支持)和-mv6740(C6748 架构)参数。若选C674x Fixed-point DSP,sin()等函数调用将链接rts6740.lib中的定点实现,结果错误。

  • Device → Connection:XDS100v2(必须)
    此选项绑定调试器类型,影响debugserver.exe加载的c674x.cfg配置。若选TI Simulator,调试器运行在纯软件仿真模式,无法访问真实 C6748 的 FPU 寄存器。

  • Project templates:Empty Project(推荐)
    DSP/BIOS模板会引入 SYS/BIOS 内核,增加启动开销,初学者易因BIOS_start()未正确配置导致main()不执行。空工程可完全掌控启动流程。

4.3 .c/.h 文件添加的三种方式及其编译影响

在工程中添加源文件,方式不同,编译行为天壤之别:

  • New → Header File(创建myo1.h)
    此操作在.cproject中添加<sourceEntry kind="includePath" ...>,使cl6x.exe在-I参数中加入该路径。若头文件含浮点宏定义(如#define PI 3.14159265358979323846f),必须用此方式,否则#include "myo1.h"时编译器报file not found。

  • New → Source File(创建my01.c)
    此操作在.cproject中添加<file path="my01.c"/>,并自动关联 C6000 编译器。若手动创建.c文件后未用此方式添加,文件不会出现在Project Explorer,更不会参与编译。

  • Add Files(导入已有func.c)
    关键选项是Copy files into workspace(必须勾选)。若选Link to files,cl6x.exe编译时会从原始路径读取,但 CCS 的增量编译(Incremental Build)无法监听外部路径变更,修改func.c后 Build 不触发重编译,导致.out文件含旧代码。

提示:添加后务必右键工程 →Properties → Build → Steps,确认Pre-build steps为空。某项目因误加make clean导致每次 Build 都清空整个 workspace,损失三天进度。


5. 调试器启动失败的五层排查法:从 USB 握手到 FPU 寄存器映射的完整链路

调试器(Debug)按钮点击后无响应,或弹出Error 0x00000001,不是单一故障,而是五层协议栈的某一层断裂。必须按顺序排查,跳过任一层都可能浪费数小时。

5.1 第一层:USB 物理层握手(Windows 设备管理器)

  • 现象:设备管理器中无Texas Instruments XDS100v2 USB Debug Probe,或显示黄色感叹号。
  • 排查:
    • 拔插 USB 线,观察设备管理器是否有设备增删日志;
    • 右键XDS100v2→ 属性 → 详细信息 → 选择“硬件 ID”,确认值为USB\VID_0403&PID_FAF0&MI_00(TI 官方 VID/PID);
    • 若为USB\VID_0403&PID_6001(通用 FTDI),说明仿真器固件损坏,需用 TI 的XDS100v2 Firmware Updater重刷。

5.2 第二层:JTAG 协议层连通性(DebugServer 日志)

  • 现象:CCS 启动时无报错,但 Debug 按钮点击后,Console 窗口无任何输出。
  • 排查:
    • 打开CCS → View → Console,切换到DebugServer标签页;
    • 点击 Debug,观察日志首行是否为Starting Debug Server...;
    • 若无此行,说明debugserver.exe未启动,检查ti\ccsv5\ccs_base\DebugServer\下debugserver.exe是否存在且未被杀毒软件隔离。

5.3 第三层:目标配置层(Target Configuration)

  • 现象:Target Configurations中XDS100v2 (MDEx Patched)可选,但右键Launch后弹出Error 0x00000002: Target not connected。
  • 排查:
    • 右键配置 →Properties→Connection→Advanced→ 勾选Show advanced settings;
    • 检查JTAG Clock Frequency是否为10 MHz(C6748 最高支持 10MHz,设为 20MHz 会握手失败);
    • 检查Emulator Reset是否勾选,未勾选时仿真器无法复位 C6748 的 JTAG TAP 控制器。

5.4 第四层:器件初始化层(C6748 Boot Sequence)

  • 现象:Debug 启动后,Console显示Connecting to target... Connected.,但View → Registers中PC寄存器为0x00000000,且无法单步。
  • 排查:
    • 打开View → Memory Browser,地址0x00000000,查看前 4 字节是否为0x00000000(复位向量应为0x00000000,但 C6748 复位后 PC 应跳转到0x00000000指向的地址);
    • 若0x00000000处为0x00000000,说明 C6748 未正确复位,检查开发板RESET按钮是否按下,或BOOTMODE拨码开关是否设为EMIF(0000)。

5.5 第五层:浮点单元层(FPU Register Mapping)

  • 现象:调试器连接成功,PC指向main(),但View → Registers中A0-A15全为0x00000000,且View → Disassembly显示LDF @A0, A1指令执行后A1仍为0。
  • 排查:
    • 确认mdex.dll已注入(见 3.2 节);
    • 在Disassembly窗口中,找到LDF指令,右键 →Toggle Breakpoint,运行至该断点;
    • 点击Step Over,观察A1是否更新;若仍为0,说明mdex.dll的GetFPURandomValue返回0,需检查full.lic中FLOATING_POINT_ENABLED=1是否生效。

避坑 / 常见问题 / 排查 / 注意
这是我在某汽车电子项目中总结的调试器黑匣子排查清单,每一条都对应一次凌晨三点的紧急修复:

  1. 现象:Debug 启动后,Console 显示Connected.,但Project Explorer中工程名旁出现红色感叹号,Problems视图显示Unresolved inclusion: "c6748.h"。
    原因:C6000 Device Support包未正确加载,c6748.h位于ti\ccsv5\ccs_base\device_support\c6000_5.3.0\packages\ti\devices\c6748\,但.cproject中未添加该路径到includePath。
    解决:右键工程 →Properties → C/C++ Build → Settings → Tool Settings → C6000 Compiler → Include Options→ 添加D:\ti\ccsv5\ccs_base\device_support\c6000_5.3.0\packages。

  2. 现象:单步调试时,Step Into按钮点击后程序直接运行到结束,不进入函数内部。
    原因:编译器优化等级过高,-O2或-O3导致函数内联,调试器无法定位源码行。
    解决:Project → Properties → C/C++ Build → Settings → Tool Settings → C6000 Compiler → Optimization→ 将Optimization level改为-O0(无优化)。

  3. 现象:View → Memory Browser中,地址0x00800000(C6748 L2 SRAM 起始)显示全0xFF,但程序应在此处存放 FFT 结果。
    原因:链接命令文件(.cmd)中MEMORY段未正确定义L2SRAM,或SECTIONS中未将.bss段分配到L2SRAM。
    解决:打开工程 `myccs

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询