提到CCS这三个字母,不同圈子的人反应完全不同。做嵌入式开发的首先会想到TI的Code Composer Studio,搞制药工程的可能想到的是污染控制策略(Contamination Control Strategy),还有人在研究蓝牙无线连接时也会撞见带CCS字样的文档。最近不少刚拿到CC2642这类SimpleLink开发板的朋友问我:CCS到底怎么装、怎么配才能把工程跑起来?这篇就把我从下载到调试的完整流程、以及反复踩过的坑梳理一遍,重点解决“装上了但不会配”“配了但编译不过”“烧录时连不上芯片”这三类问题。无论你是第一次接触CCS的嵌入式新手,还是从Keil、IAR转过来的老手,这篇文章都能帮你少走弯路。
CCS本身是免费软件,但安装和配置的复杂程度被很多人低估了。它远不止“下一步下一步”这么简单——版本怎么选、组件勾哪些、编译器版本怎么匹配、SDK装到哪、仿真器驱动对不对,每一个环节都可能让新手卡上半天。下面我按完整的实操顺序来写,从选型讲到日常使用。
1. 写在前面的“CCS”辨义与选型思路
1.1 此CCS非彼CCS:三个语境下的含义
先说清楚一个容易混淆的问题。CCS在不同领域指的是完全不同的东西:
- 嵌入式开发语境下,绝大多数人说的CCS是TI(德州仪器)的Code Composer Studio,一款基于Eclipse的集成开发环境,用于TI的MCU、DSP、无线SoC开发。
- 制药行业近两年的热门词汇也是CCS,全称Contamination Control Strategy,即污染控制策略,是EU GMP无菌药品生产附录里要求企业建立的一套质量体系文件。
- 在无线连接开发中,部分芯片文档里也会出现CCS缩写,可能指连接配置相关的概念。
所以你在网上搜“CCS技术指南”时,先看清楚搜到的是哪一类。这篇博文围绕Code Composer Studio展开,如果你是被“无菌药品生产污染控制策略”吸引进来的,那方向不对,可以直接关掉。搞嵌入式的朋友继续往下看。
1.2 版本分水岭:传统Eclipse版与Theia版如何选
CCS的版本演进有一条明显的分水岭,很多新手在TI官网下载页面上会看懵。传统CCS基于Eclipse,版本号一路走到12.x,界面是大家熟悉的那种Eclipse风格。之后TI推出了基于Eclipse Theia的新版CCS(在官网上可能显示为CCS Theia或新的版本命名),编辑器体验更现代化,但操作习惯和插件生态与传统版有所不同。
怎么选?我的建议很直接:
- 如果跟着教程学、参考老项目,优先装最新代的传统Eclipse版CCS 12.x。绝大多数开发板例程、论坛解答、英文文档都基于这套界面操作,遇到问题好查资料。
- 如果是全新项目且愿意折腾新工具,可以体验Theia版,但别指望所有老插件、脚本、视频教程都能直接照搬。
- 电脑里同时装两个版本也可以,但工作区(Workspace)别共用,这点后面细说。
一句话:你的目标是跑通项目,不是追新。传统版最稳妥,我下文的所有步骤也基于传统Eclipse版CCS 12.x来写。
1.3 装之前先搞清你要驱动的芯片架构
CCS不是装完就能编译所有芯片的。TI的产品线很长,从MSP430这种16位超低功耗MCU,到C2000实时控制器,到基于ARM Cortex-M的SimpleLink系列(CC2642、CC1352、CC3235等),再到TMS320系列DSP。不同架构需要使用不同的编译器(Compiler)和组件包,安装时是可以自己勾选的。
所以在下载安装包之前,先确认三件事:
- 你手里的芯片具体是哪一款,属于哪个系列。
- 芯片是ARM内核还是TI自有内核。比如CC2642是Cortex-M4F内核,用的是TI ARM编译器或GCC ARM编译器。
- 要不要用TI官方SDK(比如SimpleLink SDK)。如果要用,注意SDK要求的CCS最低版本。
把这些记在一张便签上,装的时候照着勾,就不会把几个G的安装包全部勾上装了。
2. 安装前的准备:被多数人忽略的四个细节
2.1 系统配置与磁盘空间
CCS官方给的系统要求其实不算高,但实际体验下来,内存和磁盘才是影响体验的关键。我自己的几台电脑对比下来的感受是:
| 配置项 | 最低要求 | 建议配置 | 备注 |
|---|---|---|---|
| 操作系统 | Windows 10 64位 | Windows 10/11 64位 | Linux和macOS也支持,但驱动问题更多 |
| 内存 | 4 GB | 16 GB及以上 | 8 GB够用,开SDK索引和浏览器会吃力 |
| 磁盘剩余 | 5 GB | 20 GB以上 | IDE本体约3~5 GB,SDK动辄1~2 GB |
| 显示器 | 1366x768 | 1920x1080及以上 | 高DPI下UI缩放可调 |
磁盘方面我要多说一句。很多人只给C盘留了几个G,装到一半就红了。CCS安装包解压后还要再展开一遍,临时空间占用很大。建议至少留20 GB再动手,否则装到一半磁盘满,然后留下一个不完整的安装目录,排查起来非常痛苦。
2.2 离线包与在线包的区别
TI官网那两三种下载方式,本质上区别只有一个:安装时要不要联网下载。
在线安装包很小,启动后边下边装,优点是下载时间短,缺点是过程中如果网络抖动、杀毒软件拦截、或你手动点了暂停,安装就得从头再来或者卡死在某个进度。我帮朋友远程处理过一次在线安装,卡在“Downloading additional components”两小时没动,最后换成离线包才解决问题。
离线安装包体积大,通常是几个GB,文件名一般形如ccs_12.x.x_win64_offline.exe,下载后可以断网安装(严格说首次启动还是可能联网检查更新),速度更可控。我的习惯是:始终下载离线包。尤其是公司网络管控严格、或者安装机器网络环境不太稳定的情况,离线包是唯一靠谱的选择。
2.3 安装路径不能带中文和空格
这条是真的重点,不是玄学。CCS的构建系统会调用大量脚本、makefile、编译器工具链,路径一旦出现中文、空格、括号,经常会出现莫名其妙的报错,比如找不到文件、路径解析失败、无法启动调试器。
推荐的目录形式:
- Windows:
C:\ti(默认),或者你换到D盘也建议用D:\ti这种纯英文短路径。 - Linux:
/home/你的用户名/ti这类简单路径。
千万不要装在C:\Program Files\...这种带空格的路径下,虽然9成情况能跑,但少数第三方组件的脚本会对空格处理不到位。
2.4 TI账号与许可证——免费但必须正规
CCS是完全免费的,不需要破解。第一次启动或安装时要求登录Texas Instruments账号(可以免费注册),主要是为了许可条款确认和下载权限管理。你填个邮箱注册一下即可,不必担心付费问题。
我看到网上还有人卖“CCS破解版安装包”,这纯粹是欺负新手。CCS本身就是免费工具,装破解版不但没有意义,还可能被植入后门。请一定从TI官网或官方渠道下载。
3. 下载与安装:组件勾选才是真正的决策点
3.1 从官网找到正确的下载入口
下载入口一般在TI官网搜索CCSTUDIO,进入Code Composer Studio产品页后找“Download options”。页面上会有一堆按钮,注意区分:
- Offline Installer:完整离线包,建议选这个。
- Web Installer:在线安装器,不推荐。
- CCS Theia:如果出现Theia相关选项,说明是新版IDE,按前面说的选型思路来。
下载前会要求你选择版本和平台,选对应操作系统的64位版本即可。下载完成后先校验一下文件大小和官网上标注的字节数是否一致——我遇到过浏览器断点续传导致安装包损坏,装到一半报错的情况,校验文件大小是第一个排查手段。
3.2 组件勾选的原则:只勾你需要的架构
安装向导走到“Select Components”(选择组件)这一步时,会列出长长一串东西:MSP430、C2000、SimpleLink、Sitara、编译器、调试器驱动、附加工具等。这里是最容易踩坑的地方,但也最容易控制。
我的原则是:只勾自己正在用的芯片系列,以及对应的调试器驱动,其他一概不勾。
比如你用CC2642做BLE开发,那么勾选项大致是:
- SimpleLink MCUs(CC13xx / CC26xx)相关支持
- ARM编译器(TI ARM Compiler,如果要纯开发生态还可以勾GCC ARM编译器)
- XDS Debug Probe驱动(调试器)
- 如果需要用SDK里的代码生成工具,可以再勾Pin Mux之类
不需要勾的东西比如C2000、MSP430、Sitara,如果选了,安装时间会大幅拉长,白白占空间。整个安装过程快则十几分钟,慢则四十分钟,硬盘速度和是否全选组件影响很大。
3.3 安装过程卡住怎么办
安装过程中偶尔会卡在某个进度条,这时候千万别急着关窗口或强制结束进程。先按这个顺序排查:
- 打开任务管理器,确认安装程序相关进程(通常有java.exe或installer.exe)CPU是否还在波动。只要有波动,说明在干活,耐心等。
- 如果CPU长期不动,看一下杀毒软件是不是拦截了某个进程。CCS安装时会在
C:\ti下释放大量文件,杀软实时扫描可能拖慢甚至误拦。 - 把安装目录和用户临时目录加入杀毒软件白名单,然后重新运行安装程序。CCS多数情况下支持覆盖安装,不需要先卸载。
- 如果反复失败,清空
C:\ti下的残余目录,重新用离线包安装。别攒着半成品硬修,浪费时间。
值得一提的还有Windows的UAC(用户账户控制)弹窗。安装过程中会弹好几次权限确认,无人值守安装的话,人走开了导致弹窗没点,安装就会一直挂起。装的时候别离开屏幕太久。
3.4 装完先别急着开IDE:验证安装目录结构
安装完成后,先看一眼目录结构,心里有底再启动。以Windows为例,默认目录大概是这样:
C:\ti\ ├── ccstudio\ # 快捷启动器相关 ├── ccs12xx\ # 主安装目录,xx替你装的版本号 │ ├── ccs\ # IDE本体,里面有eclipse.exe │ ├── ccs_base\ # 调试器、模拟器、Flash工具的基础库 │ ├── tools\ # 编译器、其他工具链 │ └── ... ├── simplelink_cc26x2_sdk_x_xx_xx_xx\ # 之后安装SDK会放在这如果ccs_base\emulation目录存在,说明调试相关的驱动组件装上了;如果tools\compiler下只有对应的编译器文件夹,说明编译器组件没选错。检查没问题再双击ccstudio.exe或桌面快捷方式启动。
4. 首次启动与工作区配置:给工程建立正确的“家”
4.1 工作区路径的选择
第一次启动CCS会弹出一个Workspace选择框。Workspace相当于Eclipse体系里的“项目总目录”,里面存放着你的工程文件、配置元数据和临时文件。
很多人直接点OK用默认路径,我是强烈不建议的。默认路径通常深到C:\Users\你的用户名\workspace_v12,目录很深,而且经常带用户名,万一用户名是中文,后面会出问题。建议在D盘或空间充裕的分区创建独立的Workspace目录:
D:\workspaces\ccs_cc2642 D:\workspaces\ccs_msp430每个产品线一个独立Workspace,好处是切换项目互不干扰,将来CCS版本升级或者换项目时,直接换一个Workspace入口就行。工程和SDK尽量分开,SDK放C:\ti或单独目录,工程放Workspace,别把SDK解压进Workspace里,否则索引和导入会很混乱。
4.2 关闭欢迎页并调整编码
进入CCS后通常是一片欢迎页,可以用右上角的X关闭,或者直接进入Workbench界面。这一步不影响功能,但不开工界面可能让新手误以为没启动成功。
接下来首要设置是编码格式。CCS默认的文本文件编码在不同系统上不一定都是UTF-8,如果后续在代码里写中文注释,很容易乱码。设置路径:
- 点击菜单
Window -> Preferences - 展开
General -> Workspace - 在底部的“Text file encoding”里选择
Other -> UTF-8 - 点击Apply并重启让设置完全生效
顺手可以把字体调大:General -> Appearance -> Colors and Fonts,找到Text Font,调成适合你屏幕的大小。高分辨率屏幕下不调字体真的会瞎眼。
4.3 建议的工程目录组织结构
CCS并不强制规定你目录怎么放,但项目多了以后,混乱的目录结构会直接影响效率。我习惯这样组织:
D:\work\my_project\ ├── workspace_ccs\ # CCS工作区 │ ├── .metadata\ # 不用管,自动生成 │ └── app_ble_peripheral\ # 你的工程 ├── sdk\ # 如果SDK要放本地,放这里 │ └── simplelink_cc26x2_sdk_... ├── docs\ # 手册、参考文档 └── release\ # 编译产物、固件备份如果你是从TI官网教程和SDK例子里直接导入工程,也不必强行改造官方目录结构,但在你的工作区里保持同一项目的工程集中管理是有必要的。
5. 编译器版本、芯片支持包与SDK导入
5.1 版本匹配问题:最常见的编译报错源头
装上CCS之后,最容易让新手抓狂的报错就是:Specified compiler version is not installed或Required compiler version not available。
这个问题的根源在于:CCS IDE本身只是一个壳,真正干活的是你安装的编译器工具链。TI的SDK和例程工程通常在.projectspec或工程配置里写死了某一个编译器的版本号,比如TI ARM Compiler 20.2.x。而你安装CCS时如果使用的是默认自带的编译器版本,恰好和工程要求不一致,一编译就报错。
解决思路有两个:
- 切换到工程要求的编译器版本。右键工程 ->
Properties -> CCS Build,在Compiler version下拉框里选择工程需要的版本。如果你安装CCS时没装那个版本,这里就选不到。 - 安装缺失的编译器版本。菜单
Help -> Install New Software(老版本在App Center),添加TI提供的工具链更新站点,勾选对应编译器版本安装。
这里我额外提醒一点:切换编译器版本之后,最好执行一次Project -> Clean,再重新Build。只改设置不Clean,经常会出现改完还是老报错的假象,因为构建缓存没刷新。
5.2 SimpleLink SDK 的安装路径
如果你用的是CC2642这类无线SoC,就离不开SimpleLink SDK。SDK里集成了协议栈(比如BLE5-Stack)、驱动库、例程工程、文档等,是整个开发的基石。
SDK安装有两种途径:
- 在CCS里点开
View -> Resource Explorer,找到对应芯片系列的SimpleLink SDK,点Install在线安装。这种方式会把SDK放到C:\ti,同时自动写入CCS的资源索引。 - 去TI官网单独下载SDK离线zip包,解压到
C:\ti。手动方式的前提是你已经知道SDK与CCS版本的兼容关系。
官网下载时看清楚SDK版本要求。每个SDK的Release Notes里一般会写明“Requires CCS version XX or higher”。如果你CCS版本太老,SDK里的工程可能无法导入或某些组件不可用,不要盲目追求最新SDK。
5.3 以CC2642为例的导入流程
现在以CC2642R1 LaunchPad开发板、BLE例程simple_peripheral为例,完整走一遍导入流程:
- 确认SDK已安装到类似
C:\ti\simplelink_cc26x2_sdk_7_10_01_24位置。 - 打开CCS,菜单
Project -> Import CCS Projects。 - 在“Select search-directory”里选择SDK的例程目录,例如
C:\ti\simplelink_cc26x2_sdk_7_10_01_24\examples\rtos\CC26X2R1_LAUNCHXL\blestack\simple_peripheral。 - 点击“Discovered projects”会自动列出搜索到的工程。勾选要导入的
simple_peripheral。 - 这里有个选项
Copy projects into workspace,勾与不勾区别很大:- 勾选:工程文件复制到你的Workspace,以后改动不影响SDK原始例程,推荐新手勾选。
- 不勾:工程直接引用SDK里的原目录编译,好处是不占双份空间,坏处是你不小心改了SDK例子就污染了原始工程。
- 导入后,工程上右键 ->
Build,确认编译能通过。
你应该能在工程里看到table.c、main.c、app_ble这些目录结构。如果编译日志里报找不到hal_assert或icall之类的头文件,多半是SDK路径没有被工程正确引用。这时候检查工程属性里Resource -> Linked Resources或者直接重新导入一遍,选择正确的SDK根目录。
6. 仿真器驱动与首次调试
6.1 XDS110 的驱动检查
编译通过不代表能烧录。CCS调试需要仿真器(Debug Probe),对TI开发板来说最常用的是板载的XDS110。正常情况下XDS110驱动会随CCS装好,但实际中经常出现驱动没装上、被系统识别为未知设备的情况。
把开发板用USB连接到电脑后,打开Windows设备管理器,展开“端口”或“通用串行总线设备”分类,找有没有名为XDS110 Class Application/User或XDS110的设备。如果没有,而是在“其他设备”里看到带黄色感叹号的未知设备,说明驱动有问题。
驱动修复办法:右键未知设备 -> 更新驱动程序 -> 手动选择路径,定位到CCS安装目录下的驱动文件夹,一般在:
C:\ti\ccs12xx\ccs\ccs_base\emulation\windows\xds110选中后让系统安装即可。如果系统中还残留老版本Texas Instruments的驱动,建议先把旧设备卸载再装新的,避免版本冲突。
6.2 Target Configuration 与目标连接
XDS110驱动正常后,还要保证CCS认识你的目标芯片。调试前CCS需要一份Target Configuration文件(后缀.ccxml),里面描述了用什么仿真器、连接哪颗芯片。
一般导入的TI例程里自带targetConfigs文件夹,里面有现成的ccxml文件,鼠标右键点击工程里的ccxml ->Set as Active Target Configuration,即可把它设成活动配置。
如果你想自己新建一个,可以:
- 菜单
File -> New -> Target Configuration File。 - 输入文件名,例如
CC2642R1.ccxml。 - Connection选择
Texas Instruments XDS110 USB Debug Probe。 - Device选择对应的芯片型号,比如
CC26X2R1(LaunchPad板载芯片)或CC2642R1。 - 保存,右键Set as Active。
之后点工具栏的Debug小虫子图标(或按F11),CCS会尝试连接目标板并进入调试模式。第一次调试会经历下载固件到目标Flash的过程,随后停在main函数入口处。
6.3 下载时的常见错误
调试最常见的情况是“连不上”,报错形形色色,但根源基本逃不出这几类:
| 报错现象 | 常见原因 | 处理办法 |
|---|---|---|
| Error connecting to the target | 开发板供电不足、USB线是“充电线”而不是数据线 | 换数据线,直接连电脑USB口,别用Hub |
| Cannot find target / No XDS110 detected | XDS110驱动没装好,或USB设备未识别 | 回到设备管理器重装驱动 |
| Target must be connected before loading program | Target Configuration选错芯片 | 核对ccxml里的Connection和Device设置 |
| Flash download failed | 芯片处于保护状态,或者运行中的程序干扰了烧录 | 按住开发板复位键再点Debug,或使用UniFlash恢复 |
我自己遇到最多的其实是USB线问题。很多开发板包装盒里附带的线看起来没问题,实际上只支持充电不支持数据传输,插上去灯亮但不认设备。排查驱动之前,先换根线试试,往往能省下一个小时。
7. 导入工程避坑记录
7.1 路径问题:中文、空格和深层次目录
导入工程时路径方面有三类常见坑:
- 中文路径:SDK、工程、Workspace里出现中文,编译时工具链可能无法正确编码路径,报奇怪的找不到文件错误。碰到这种情况,把所有工程相关路径改成纯英文。
- 带空格的路径:有些人的用户名是英文但带空格,或者工程放在
Documents and Settings这种老式路径下,偶尔会出问题。推荐放在C:\ti或D:\workspaces这类干净路径下。 - 目录层级太深:Windows对路径长度有260字符限制,虽然新系统可以开启长路径支持,但一些老构建工具不认。我把SDK直接从官网zip解压到
C:\ti下,就是怕套太多层目录。
7.2 “Specified compiler not installed”的完整排查链路
这个错误出现频率实在太高了,我专门给你串一条完整排查链路。假设你导入了某个SDK例程,编译时报Specified compiler version is not installed,按下面的顺序走:
- 不要急着乱改。先在Problems视图或Build Console里看完整错误内容,记下它要求的具体版本号。例程提示可能是
TI ARM Compiler 20.2.7.LTS或20.2.5.STS。 - 右键工程 ->
Properties -> CCS Build -> Compiler version,看当前选中的编译器版本是多少。如果下拉列表里压根没有要求的版本,说明你机器上没装。 - 通过菜单
Help -> Install New Software,在Work with里选择TI的更新站点(安装CCS时配置好的),把对应版本编译器装进来。装好之后重新打开工程属性,再切换。 - 切完版本后,执行
Project -> Clean,然后重新Build。 - 如果一切正常但下次开机又报错,检查是否多个CCS版本共享同一个Workspace,导致编译器路径记录互相覆盖。不同版本CCS请使用各自独立的Workspace。
这条链路我至少在三次现场支持里用过,绝大多数情况都在第3步或第4步解决。如果你确定装的版本和SDK要求一致却仍然报错,那就查一下环境变量PATH里有没有被其他工具链污染,比如装了别的ARM GCC并把它加到了全局PATH里。CCS自带工具链一般不需要PATH配置,全局PATH里多了东西反而容易干扰。
7.3 使用VS Code编辑、CCS编译调试的混合模式
很多从通用嵌入式开发转过来的朋友习惯了VS Code的编辑体验,对Eclipse的编辑器感到别扭。完全可以采用一种“混合模式”:在用VS Code写代码,用CCS做编译和烧录调试。
具体做法很简单:
- 在CCS里照常导入工程、配置编译器和SDK。
- 用VS Code打开工程源码所在的文件夹,日常编写和阅读代码。
- 需要编译调试时,切回CCS窗口,执行Build和Debug。
要提醒的是,VS Code里如果装了C/C++扩展,它会自己建一套IntelliSense索引,可能和你CCS里的编译器定义不完全一致,导致VS Code里显示一堆红色波浪线。解决办法是在VS Code的c_cpp_properties.json里配置compilerPath指向C:\ti\ccs12xx\ccs\tools\compiler\ti-cgt-arm_20.2.x.LTS\bin\armcl.exe,再把SDK的include路径加进去。第一次配比较麻烦,配好之后体验比Eclipse里的编辑器还是要舒服不少。
不过新手刚开始用CCS时,我不建议一上来就这么折腾。先在CCS原生环境里跑通一个例程,再考虑优化编辑器体验,不然两个工具的不一致性问题会让你分不清到底是代码错了还是工具链配置错了。
8. 安装配置完成后的高价值习惯
8.1 常用快捷键与视图布局
CCS基于Eclipse,所以很多快捷键和Eclipse一致。这些快捷键如果记不住,在菜单栏也有提示,但用熟了效率高很多:
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 编译工程 | Ctrl+B | 增量构建当前工程 |
| 启动调试 | F11 | 进入Debug模式并下载程序 |
| 继续运行 | F8 | 调试状态下运行到断点或结束 |
| 单步跳过 | F6 | 执行当前行,不进入函数内部 |
| 单步进入 | F5 | 进入函数内部 |
| 格式化代码 | Ctrl+Shift+F | 按当前代码风格整理格式 |
| 搜索文件 | Ctrl+Shift+R | 快速打开资源文件 |
| 全局搜索 | Ctrl+H | 搜索字符串 |
调试时建议打开这几个视图:Variables(变量窗口)、Expressions(表达式窗口)、Memory Browser(内存浏览器)、Console(串口打印输出也在这里)。视图布局可以通过Window -> Perspective -> Reset Perspective随时复位,不用怕搞乱。
8.2 定期维护工作区与工程备份
CCS工作区里的.metadata文件夹记录了你的视图状态、工程索引、断点设置等。如果哪天真崩溃了,整个工作区打不开,工程文件其实还在,但索引和配置会丢。我的习惯是:
- 重要工程纳入Git版本管理。SDK例程放原处,自己写的应用层代码单独建仓库。
- 每周或每次完成大阶段任务后,把Workspace目录和SDK版本号记录到项目文档里。
- 不要手动删除
C:\ti下的临时文件夹来“清理空间”,很多文件夹看着没用,删了会导致组件失效。
还有一个小提醒:CCS启动时如果提示Workspace已经被占用,说明上一个CCS进程没有完全退出。不要直接在任务管理器里乱杀,去任务管理器确认ccstudio.exe或eclipse.exe进程结束后再重启,否则容易产生.metadata锁冲突。
8.3 多版本CCS共存的注意点
如果你机器上既有CCS 7(老项目),又有CCS 12(新项目),它们能否共存?可以,但需要注意几点:
- 安装目录建议不同,CCS 7装
C:\ti\ccsv7,CCS 12装C:\ti\ccs12xx,互不影响。 - 两个版本不要共用同一个Workspace。Eclipse的Workspace元数据跨版本兼容性不好,共用极大概率导致视图错乱或工程引用丢失。
- 先装老版本再装新版本、或者反过来都行,但装完之后如果系统PATH里有
ccs_base相关的变量被改动,建议重启一次电脑。 - 不同版本CCS自带的编译器版本可能不同,老版本编译的工程拿到新版本里一般能正常重新编译,但新版本SDK工程拿到老版本CCS里基本没戏,因为SDK普遍要求CCS最低版本。
最后再说一个我个人的习惯:装好CCS后,我会在项目文档或一个环境说明.txt里写清楚四件事——CCS版本、SDK版本、编译器版本、Workspace路径。这四样东西就是整个开发环境的关键组合,半年后你再回来折腾这个项目,或者换新电脑重装时,照着这份记录操作,十分钟就能恢复环境。我不止一次因为没记版本吃过亏,去年换电脑后导入老工程,折腾一晚上才发现是编译器版本从20.2被切成了18.1,工程一直报错。这个版本组合就是开发环境的命根子,配好了就记下来,别乱动。配坏了,按这篇文章里的排查流程一步一步往回走,基本都能救回来。