IWR/AWR1642 High Accuracy 16xx 工程在 CCS 20.5 下的完整安装、导入与编译手册

5 阅读12分钟

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 相关构建。

它在你的日志里体现为:

  • xs
  • xdc.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

2.2 mmWave SDK 02.01.00.04

2.3 UniFlash

2.4 XDCtools 3.50.04.43

建议:如果你图省事,可以下载 带 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. 安装顺序(推荐)

按这个顺序来:

  1. 安装 CCS 20.5
  2. 安装 mmWave SDK 02.01.00.04
  3. 安装 UniFlash
  4. 安装 XDCtools 3.50.04.43
  5. 打开 CCS,配置 ProductsCompilers
  6. 导入 High Accuracy 16xx MSS / DSS
  7. 先编 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_00
  • ti-cgt-arm_16.9.6.LTS
  • ti-cgt-c6000_8.1.3
  • mathlib_c674x_3_1_2_1
  • dsplib_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.04
  • SYS/BIOS 6.53.02.00
  • XDCtools 3.50.04.43
  • DSPLIB
  • MATHLIB

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.LTS
  • TI 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 IDE
  • High Accuracy 16xx DSS -> Import to IDE

导入后,工程会复制到你的 workspace。

13.4 为什么有两个工程?

因为这个 demo/lab 是多核工程:

  • MSS:运行在 Cortex-R4F 上
  • DSS:运行在 C674x DSP 上

两边分别编译,然后再由 MSS 的 post-build 步骤打包成总镜像。


14. 检查每个工程的 Products 绑定

分别对 MSSDSS 做:

右键工程 -> Properties -> General -> Products

应尽量绑定到:

  • mmWave SDK 2.1.0.04
  • SYS/BIOS 6.53.02.00
  • XDCtools 3.50.04.43

如果这里看到 3.6.2.00-LTS6.73.x 之类,先不要编。

这意味着工程又混入了错误版本栈。


15. 正确的编译顺序

一定按这个顺序:

  1. 先编 DSS
  2. 再编 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.xe674
  • xwr16xx_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.xer4f
  • xwr16xx_high_accuracy_mss.bin
  • xwr16xx_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.cfg
  • dss_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 工程会引用:

  • MATHLIB
  • DSPLIB

这些库用于数值运算和 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.exe
  • MulticoreImageGen.exe
  • crc_multicore_image.exe
  • gen_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.xe674
  • xwr16xx_high_accuracy_dss.bin

MSS 成功

你应当看到:

  • xwr16xx_high_accuracy_mss.xer4f
  • xwr16xx_high_accuracy_mss.bin
  • xwr16xx_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. 一句话总结

这次整个问题的本质不是“代码坏了”,而是:

  1. 旧 1642 工程不能直接拿 3.6 LTS 硬编
  2. CCS 需要分别识别 Products 和 Compilers
  3. XDCtools 处理 .cfg 必须能找到 JVM
  4. DSS 依赖的 MATHLIB / DSPLIB 路径必须对
  5. 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