IWR/AWR1642 High Accuracy 16xx 工程在 CCS 20.5 下的完整安装、导入与编译手册
适用目标:
- 板卡:IWR1642BOOST / AWR1642BOOST(ES2.0)
- IDE:Code Composer Studio 20.5.0.00028
- SDK:mmWave SDK 02.01.00.04
- 工程:High Accuracy 16xx MSS / DSS
本文档按“从零清理旧环境 → 重新安装 → 导入工程 → 编译通过 → 解决常见报错”的顺序整理,尽量做到可以直接照着点。
1. 这套环境里每个组件是什么,起什么作用
在开始之前,先搞清楚你装的东西各自负责什么:
1.1 CCS(Code Composer Studio)
TI 的集成开发环境(IDE)。
它负责:
- 打开工程
- 管理工程属性
- 调用编译器 / 链接器 / XDCtools
- 连接仿真器调试
- 触发 post-build 打包脚本
你这次使用的是:
- CCS 20.5.0.00028
1.2 mmWave SDK 02.01.00.04
这是 1642 ES2.0 对应的旧版 SDK。
它负责提供:
- 驱动库(UART、SOC、Mailbox、EDMA、ADCBUF 等)
- mmWave 控制库
- RadarSS 固件
- ImageCreator / out2rprc / MulticoreImageGen 等后处理工具
- SDK 示例工程基础结构
1.3 SYS/BIOS
TI 的实时内核 / 系统组件。
它在工程里的作用:
- 任务调度
- 中断封装
- 各种内核对象
- 通过
.cfg文件生成configPkg
1.4 XDCtools
它负责处理 .cfg 配置文件,生成 configPkg,再驱动 SYS/BIOS 相关构建。
它在你的日志里体现为:
xsxdc.tools.configuro
如果 XDCtools 或它依赖的 JVM 不正常,工程会在 .cfg 这一步就停下。
1.5 TI ARM Compiler / TI C6000 Compiler
- ARM CGT:给 MSS(R4F)编译
- C6000 CGT:给 DSS(C674x)编译
1.6 DSPLIB / MATHLIB
DSS 工程会引用 TI 的 DSP 数学库。
它们的作用:
- FFT
- 数学函数优化实现
- 一些高精度测距相关的底层数值计算
如果路径不对,就会出现类似:
cannot open source file "ti\mathlib\src\atan2sp\c674\atan2sp_i.h"
1.7 UniFlash
后面如果你要把 bin 烧进板子 Flash,或者刷 ccsdebug.bin,就会用到它。
2. 官方下载链接(建议只用官方页面)
2.1 CCS 20.5.0
- 官方下载页:www.ti.com/tool/downlo…
- CCS 用户手册:software-dl.ti.com/ccs/esd/doc…
- CCS 安装说明:software-dl.ti.com/ccs/esd/doc…
2.2 mmWave SDK 02.01.00.04
- 官方下载页:www.ti.com/tool/downlo…
- SDK 发布页(含说明与文档入口):software-dl.ti.com/ra-processo…
2.3 UniFlash
- 官方下载页:www.ti.com/tool/UNIFLA…
- UniFlash 文档页:software-dl.ti.com/ccs/esd/uni…
2.4 XDCtools 3.50.04.43
- 官方下载页:software-dl.ti.com/dsps/dsps_p…
- XDCtools 下载总页:software-dl.ti.com/dsps/dsps_p…
- XDCtools 3.50.04.43 Release Notes:software-dl.ti.com/dsps/dsps_p…
建议:如果你图省事,可以下载 带 JRE 的 XDCtools 3.50.04.43;如果下载的是 core without JRE,则需要额外准备合适的 Java 环境。
3. 适用板卡与版本前提
这套流程针对的是:
- IWR1642BOOST / AWR1642BOOST
- ES2.0
如果你的板子不是 ES2.0,就不要直接照本文档装这套版本栈。
4. 推荐的目录布局
为了避免后续路径混乱,建议统一安装到 D 盘:
D:\ti\ccs2050
D:\ti\workspace_ccs205_1642_clean
D:\ti\mmwave_sdk_02_01_00_04
D:\ti\uniflash
D:\ti\xdctools_3_50_04_43_core 或 D:\ti\xdctools_3_50_04_43_core_jre
D:\ti\bios_6_53_02_00
D:\ti\ti-cgt-arm_16.9.6.LTS
D:\ti\ti-cgt-c6000_8.1.3
D:\ti\mathlib_c674x_3_1_2_1
D:\ti\dsplib_c674x_3_4_0_0
强烈建议所有 TI 组件放在同一个根目录
D:\ti下。这样后面
TI_PRODUCTS_DIR只要指向D:/ti就能统一生效。
5. 从零清理旧环境
5.1 先退出所有 TI 软件
关闭:
- CCS
- UniFlash
- 串口工具
- 浏览器中打开的 TI Visualizer / demo 页面
5.2 备份你自己改过的代码
如果你以前改过工程代码,先备份自己的修改。
5.3 卸载旧 CCS
可以通过 Windows“应用和功能”卸载;也可以在 CCS 安装目录的 ccs 子目录中运行卸载程序。
5.4 卸载旧 UniFlash
同样在 Windows 应用管理里卸载。
5.5 删除旧目录
建议删掉这些旧路径,避免 CCS 继续发现错误版本:
F:\ti\mmwave_sdk_03_06_02_00-LTS
F:\ti\bios_6_73_01_01
F:\ti\ti-cgt-arm_16.9.6.LTS
F:\ti\ti-cgt-c6000_8.3.3
F:\ti\xdctools_3_50_08_24_core
F:\ti\mmwave_industrial_toolbox_*
F:\ti\radar_toolbox_*
如果旧 workspace 里已经导入过 High Accuracy 16xx MSS/DSS,也删掉旧副本。
5.6 重启电脑
删完重启一次,尽量让环境变量和文件锁都清干净。
6. 安装顺序(推荐)
按这个顺序来:
- 安装 CCS 20.5
- 安装 mmWave SDK 02.01.00.04
- 安装 UniFlash
- 安装 XDCtools 3.50.04.43
- 打开 CCS,配置 Products 与 Compilers
- 导入 High Accuracy 16xx MSS / DSS
- 先编 DSS,再编 MSS
7. 安装 CCS 20.5(一步一步)
7.1 下载
打开:
下载 Windows 安装包。
7.2 运行安装包
建议先解压(若下载的是压缩包),再运行安装程序。
7.3 安装路径
在安装位置页面填:
D:\ti\ccs2050
7.4 首次打开 CCS,选择全新 workspace
第一次启动时,工作区选择:
D:\ti\workspace_ccs205_1642_clean
不要复用旧 workspace。
因为旧 workspace 容易残留旧工程配置、旧变量、旧路径映射。
8. 安装 mmWave SDK 02.01.00.04
8.1 下载
打开:
8.2 安装路径
安装到:
D:\ti\mmwave_sdk_02_01_00_04
8.3 为什么 SDK 安装后会多出一堆目录?
这是正常的。
SDK 2.1.0.04 的安装器会带出依赖组件,例如:
bios_6_53_02_00ti-cgt-arm_16.9.6.LTSti-cgt-c6000_8.1.3mathlib_c674x_3_1_2_1dsplib_c674x_3_4_0_0
这不是“乱装了别的东西”,而是这套 SDK 构建链本来就需要这些依赖。
9. 安装 UniFlash
9.1 下载
打开:
9.2 安装路径
建议:
D:\ti\uniflash
编译本身不一定依赖 UniFlash,但后面烧录 Flash 或刷
ccsdebug.bin常会用到。
10. 安装 XDCtools 3.50.04.43
10.1 下载
打开:
10.2 选哪个包
你有两个常见选择:
方案 A:带 JRE 的版本(更省事)
适合想少折腾 Java 的情况。
方案 B:不带 JRE 的版本(core)
如果你已经有合适的 Java,也可以用这个。
10.3 安装路径
建议:
D:\ti\xdctools_3_50_04_43_core
或
D:\ti\xdctools_3_50_04_43_core_jre
11. 在 CCS 里识别 Products(产品)
11.1 打开页面
在 CCS 菜单里点:
File -> Preferences -> Code Composer Studio Settings -> Products
11.2 加入产品发现路径
在 Product discovery path 里:
- 点击 Add
- 选择
D:\ti - 点击 Refresh / Rediscover
11.3 应该看到哪些内容
至少应看到:
mmWave SDK 2.1.0.04SYS/BIOS 6.53.02.00XDCtools 3.50.04.43DSPLIBMATHLIB
11.4 Products 是什么
这里的 Products 是“被工程引用的软件产品栈”。
它决定:
- 工程可以绑定哪些 SDK / BIOS / XDCtools
General -> Products页面里能选哪些版本
Products ≠ Compilers
Products 是软件产品;Compilers 是编译器工具链,两者要分别识别。
12. 在 CCS 里识别 Compilers(编译器)
12.1 打开页面
在 CCS 菜单里点:
File -> Preferences -> Code Composer Studio Settings -> Compilers
12.2 加入发现路径
点击加号,把这些路径加进去:
D:\ti\ti-cgt-arm_16.9.6.LTS
D:\ti\ti-cgt-c6000_8.1.3
如果界面只接受根目录,也可以加:
D:\ti
12.3 刷新后应看到
TI ARM Compiler 16.9.6.LTSTI C6000 Compiler 8.1.3
12.4 为什么这里要单独配?
因为 CCS 对:
- Products
- Compilers
是分开发现的。
所以你即使 Products 里看到了 mmWave SDK,也不代表 ARM / C6000 编译器一定已登记成功。
13. 导入 High Accuracy 16xx MSS / DSS 工程
13.1 打开 Resource Explorer
菜单:
View -> Open Resource Explorer
13.2 搜索工程
优先直接搜:
High Accuracy 16xx MSS
High Accuracy 16xx DSS
13.3 导入方式
分别点:
High Accuracy 16xx MSS-> Import to IDEHigh Accuracy 16xx DSS-> Import to IDE
导入后,工程会复制到你的 workspace。
13.4 为什么有两个工程?
因为这个 demo/lab 是多核工程:
- MSS:运行在 Cortex-R4F 上
- DSS:运行在 C674x DSP 上
两边分别编译,然后再由 MSS 的 post-build 步骤打包成总镜像。
14. 检查每个工程的 Products 绑定
分别对 MSS 和 DSS 做:
右键工程 -> Properties -> General -> Products
应尽量绑定到:
mmWave SDK 2.1.0.04SYS/BIOS 6.53.02.00XDCtools 3.50.04.43
如果这里看到
3.6.2.00-LTS、6.73.x之类,先不要编。这意味着工程又混入了错误版本栈。
15. 正确的编译顺序
一定按这个顺序:
- 先编 DSS
- 再编 MSS
因为 MSS 在最终打包时,需要引用 DSS 生成的 xwr16xx_high_accuracy_dss.bin。
16. 编译 DSS(正确步骤)
16.1 Clean DSS
在 Project Explorer 中:
右键 High Accuracy 16xx DSS -> Clean Project
16.2 Rebuild DSS
右键 High Accuracy 16xx DSS -> Rebuild Project
16.3 编译成功标志
至少应看到:
xwr16xx_high_accuracy_dss.xe674xwr16xx_high_accuracy_dss.bin
通常位于:
D:\ti\workspace_ccs205_1642_clean\High Accuracy 16xx DSS\Debug
17. 编译 MSS(正确步骤)
17.1 Clean MSS
右键 High Accuracy 16xx MSS -> Clean Project
17.2 Rebuild MSS
右键 High Accuracy 16xx MSS -> Rebuild Project
17.3 编译成功标志
至少应看到:
xwr16xx_high_accuracy_mss.xer4fxwr16xx_high_accuracy_mss.binxwr16xx_high_accuracy_lab.bin
18. 这次实际遇到的问题、原因、作用、解决方法
下面是你这次从头到尾遇到过的关键问题汇总。
问题 1:cannot open source file "ti/demo/io_interface/mmw_config.h"
现象
MSS 编译时在 mss_main.c 报:
#1965: cannot open source file "ti/demo/io_interface/mmw_config.h"
它是什么
这是一个头文件找不到的错误。
它在编译链中的作用
编译器会按照工程配置的 include path 去搜索头文件。
如果路径指向了错误 SDK、错误目录结构,或者工程本身和 SDK 版本不匹配,就会报这个错。
为什么会出现
你最开始用的是:
- 老的 High Accuracy 16xx 工程
- 新的
mmwave_sdk_03_06_02_00-LTS
这两者目录结构和工程配置不匹配。
怎么解决
不要继续用 3.6.2.00-LTS 去硬编这个 1642 旧工程。
改用:
mmWave SDK 02.01.00.04- 对应的旧依赖版本
问题 2:CCS 提示没有找到 ARM Compiler
现象
导入工程时,CCS 报类似找不到 IWR1642 [Cortex R] 对应 compiler/toolchain。
它是什么
这是 CCS 的 Compilers 发现机制没有识别到 ARM 编译器。
它在编译链中的作用
- MSS 需要 ARM Compiler
- DSS 需要 C6000 Compiler
如果编译器没被 CCS 登记,工程导入或构建都会异常。
为什么会出现
因为:
- Products 已经识别到了 SDK
- 但 Compilers 还没单独识别到编译器
怎么解决
去:
File -> Preferences -> Code Composer Studio Settings -> Compilers
把:
D:\ti\ti-cgt-arm_16.9.6.LTS
D:\ti\ti-cgt-c6000_8.1.3
加入发现路径并刷新。
问题 3:XDCtools 报 can't find a JVM
现象
构建 .cfg 时,报:
can't create session manager: can't find a JVM
它是什么
XDCtools 的 xs / configuro 在运行时需要 Java 环境。
它在编译链中的作用
在真正编译 C 文件之前,XDCtools 会先处理:
mss_mmw.cfgdss_mmw.cfg
生成 configPkg,并驱动 SYS/BIOS 相关构建。
如果这一步失败,后续编译不会继续。
为什么会出现
你安装的是 不带 JRE 的 XDCtools,而 Java 路径未正确配置。
怎么解决
有两种:
方案 A:装带 JRE 的 XDCtools 3.50.04.43
这是最省事的方法。
方案 B:保留 core 版,并正确配置 Java
如果使用不带 JRE 的版本,需要确保:
- Java 版本合适
XDCTOOLS_JAVA_HOME指向正确 Java 根目录
问题 4:DSS 报 cannot open source file "ti\mathlib\src\atan2sp\c674\atan2sp_i.h"
现象
DSS 在编译 RADARDEMO_highAccuRangeProc*.c 时,报:
cannot open source file "ti\mathlib\src\atan2sp\c674\atan2sp_i.h"
它是什么
这是一个 MATHLIB include path 错误。
它在编译链中的作用
DSS 工程会引用:
MATHLIBDSPLIB
这些库用于数值运算和 DSP 优化实现。
为什么会出现
工程里使用的是:
${TI_PRODUCTS_DIR}/mathlib_c674x_3_1_2_1/packages
${TI_PRODUCTS_DIR}/dsplib_c674x_3_4_0_0/packages/...
而当时 TI_PRODUCTS_DIR 仍然展开成旧位置,比如 C:/TI。
你实际安装位置已经改到了 D:/ti,所以工程编译时在错误位置找库文件。
怎么解决
把 TI_PRODUCTS_DIR 改成:
D:/ti
可改的位置通常有两类:
工程级变量
右键工程 -> Properties -> General -> Variables
CCS / Workspace 级变量
File -> Preferences -> Code Composer Studio Settings -> Variables
改完之后,${TI_PRODUCTS_DIR} 展开就会自动指到 D:/ti/...。
注意:Windows 路径大小写不敏感,所以
D:/TI/...也常能工作,但建议统一成D:/ti/...,减少困扰。
问题 5:MSS 打包时提示找不到 xwr16xx_high_accuracy_dss.bin
现象
MSS 编译到最后打包时,报:
Error opening input image file!
D:/ti/workspace_ccs205_1642_clean/high_accuracy_16xx_dss/Debug/xwr16xx_high_accuracy_dss.bin
它是什么
这不是 MSS 代码编译失败,而是 MSS 的 post-build 步骤在合成多核镜像时,找不到 DSS 生成的 bin 文件。
它在编译链中的作用
MSS 最后会调用:
out2rprc.exeMulticoreImageGen.execrc_multicore_image.exegen_bincrc32.exe
其中 MulticoreImageGen.exe 会把:
- MSS bin
- RadarSS 固件
- DSS bin
合成为最终的:
xwr16xx_high_accuracy_lab.bin
为什么会出现
因为工程实际目录名是:
High Accuracy 16xx DSS
而 MSS 的 post-build 步骤里写死的是:
high_accuracy_16xx_dss
所以路径不一致,打包脚本找不到实际的 DSS bin。
怎么解决
去:
右键 High Accuracy 16xx MSS -> Properties -> Build -> Steps
在 Post-build steps 里,把这段旧路径:
D:/ti/workspace_ccs205_1642_clean/high_accuracy_16xx_dss/Debug/xwr16xx_high_accuracy_dss.bin
改成实际路径(建议加双引号):
"D:/ti/workspace_ccs205_1642_clean/High Accuracy 16xx DSS/Debug/xwr16xx_high_accuracy_dss.bin"
改完后再:
- Clean MSS
- Rebuild MSS
即可成功生成最终总镜像。
问题 6:#27009-D 优化等级提示
现象
经常出现:
#27009-D: Detecting compilation at optimization level 3. Recommend setting --opt_level=4.
它是什么
这是编译器建议,不是阻塞错误。
它在编译链中的作用
只是建议更高优化等级;不影响本次编译能否通过。
怎么处理
先忽略。
等工程完全跑通以后,再考虑是否调整。
19. 变量与路径:最推荐的维护方式
19.1 为什么不要到处手改绝对路径
因为工程中很多地方都会引用同一个安装根目录:
- Compiler include path
- Linker search path
- Post-build tools
- 工程变量
如果你逐条手改,后面很容易漏。
19.2 最推荐的方法
统一使用变量,例如:
${TI_PRODUCTS_DIR}
然后把:
TI_PRODUCTS_DIR = D:/ti
这样像下面这些都会自动展开正确:
${TI_PRODUCTS_DIR}/mathlib_c674x_3_1_2_1/packages
${TI_PRODUCTS_DIR}/dsplib_c674x_3_4_0_0/packages
20. 最终成功状态应该是什么样
DSS 成功
你应当看到:
xwr16xx_high_accuracy_dss.xe674xwr16xx_high_accuracy_dss.bin
MSS 成功
你应当看到:
xwr16xx_high_accuracy_mss.xer4fxwr16xx_high_accuracy_mss.binxwr16xx_high_accuracy_lab.bin
其中最终最重要的是:
xwr16xx_high_accuracy_lab.bin
21. 推荐的最终检查清单
在你以后重新搭环境时,按这张表检查:
环境
- 板子为 1642 ES2.0
- CCS 20.5 已安装
- mmWave SDK 02.01.00.04 已安装
- UniFlash 已安装
- XDCtools 3.50.04.43 已安装
- 所有 TI 目录统一放在
D:\ti
CCS 设置
-
Products页面已识别mmWave SDK 2.1.0.04 -
Products页面已识别SYS/BIOS 6.53.02.00 -
Products页面已识别XDCtools 3.50.04.43 -
Compilers页面已识别 ARM Compiler 16.9.6.LTS -
Compilers页面已识别 C6000 Compiler 8.1.3 -
TI_PRODUCTS_DIR = D:/ti
工程
- 已导入
High Accuracy 16xx DSS - 已导入
High Accuracy 16xx MSS - MSS / DSS 的
General -> Products已绑定到 2.1 / 6.53 / 3.50 - DSS 的 MATHLIB / DSPLIB 路径指向
D:/ti - MSS 的 post-build 中 DSS bin 路径已改成真实路径
编译顺序
- 先 Clean + Rebuild DSS
- 再 Clean + Rebuild MSS
22. 以后如果要烧录或调试
本文主要覆盖“安装、导入、编译通过”。
如果后面你要继续做:
- 用 UniFlash 烧录
- 刷
ccsdebug.bin - 在 CCS 里连接 R4F / C674x 调试
- 加载
.xer4f/.xe674
建议下一步单独再整理一份“烧录与在线调试手册”。
23. 一句话总结
这次整个问题的本质不是“代码坏了”,而是:
- 旧 1642 工程不能直接拿 3.6 LTS 硬编
- CCS 需要分别识别 Products 和 Compilers
- XDCtools 处理
.cfg必须能找到 JVM - DSS 依赖的 MATHLIB / DSPLIB 路径必须对
- MSS 最终打包依赖 DSS bin 的真实路径
只要这五个点都对了,整个工程就能顺利编过。
24. 附:建议保存的关键路径
CCS:
D:\ti\ccs2050
Workspace:
D:\ti\workspace_ccs205_1642_clean
SDK:
D:\ti\mmwave_sdk_02_01_00_04
UniFlash:
D:\ti\uniflash
XDCtools:
D:\ti\xdctools_3_50_04_43_core
或
D:\ti\xdctools_3_50_04_43_core_jre
TI_PRODUCTS_DIR:
D:/ti
DSS 输出:
D:\ti\workspace_ccs205_1642_clean\High Accuracy 16xx DSS\Debug\xwr16xx_high_accuracy_dss.bin
MSS 最终镜像:
D:\ti\workspace_ccs205_1642_clean\High Accuracy 16xx MSS\Debug\xwr16xx_high_accuracy_lab.bin