TI AWR1642 ES1.0开发板调试实战:从CCS v7.3配置到毫米波数据可视化
对于许多初次接触TI毫米波雷达AWR1642的工程师来说,尤其是手头恰好是ES1.0版本开发板的用户,调试之路往往从第一步就充满了挑战。老版本的硬件、特定版本的软件工具链、以及官方文档中语焉不详的细节,常常让人在建立第一个可运行的工程时就耗费大量时间。本文旨在为你提供一份详尽的实战指南,不仅覆盖从bin文件烧录到CCS工程配置的全流程,更会深入剖析那些官方手册里不会写的“坑点”,确保你的AWR1642 ES1.0开发板能在CCS v7.3环境下顺利跑通官方demo,并最终在mmWave Demo Visualizer 2.0.0中看到期待已久的点云图。
1. 环境准备与版本确认:一切调试的基石
在开始任何操作之前,明确你的软硬件版本是避免后续无数麻烦的关键。TI的毫米波平台迭代迅速,不同版本的开发板、SDK、调试工具之间存在严格的匹配关系,混用轻则导致功能异常,重则根本无法连接。
核心组件版本清单:
- 开发板硬件: TI AWR1642BOOST ES1.0。这是老版本,其核心区别在于芯片丝印左下角标有“502”字样。而ES2.0版本则标有“502A”。这个区别至关重要,因为两个版本在底层引导加载程序(Bootloader)和部分外设初始化上存在差异。
- 集成开发环境: Code Composer Studio v7.3。选择此版本是因为它与SDK 1.1.x系列有较好的兼容性。CCS v8或v9及以上版本在连接老版本XDS110调试器时,有时会遇到驱动或配置问题。
- 软件开发套件: mmWave SDK 1.1.0.x(例如1.1.0.2)。务必从TI官网下载与ES1.0硬件匹配的SDK版本。
- 可视化工具: mmWave Demo Visualizer 2.0.0。这是与SDK 1.1配套的PC端数据可视化工具,用于配置雷达参数和显示点云、距离-多普勒图等。
注意:强烈建议在开始前,为你的开发环境(虚拟机或物理机)创建一个系统还原点或快照。调试过程中频繁的驱动安装、配置修改可能导致系统环境混乱,有一个干净的备份可以节省大量重装系统的时间。
除了软件,硬件连接也需检查:
- 使用高质量的Micro-USB线连接开发板的“USB Debug”口至电脑。劣质线缆可能导致供电不稳或数据传输中断。
- 确认开发板上的SOP跳线帽设置。对于正常的调试模式,SOP[2:0]应设置为
1-0-1(即SOP0和SOP2短接,SOP1断开)。但在烧录完初始引导程序后,需要将SOP2的短接帽移除,仅保留SOP0短接,这是很多新手容易忽略导致无法连接的一步。 - 为开发板提供稳定的5V/3A电源。虽然USB口也能供电,但在运行高负载demo时,外接电源能保证雷达前端(RF)部分稳定工作。
2. 引导程序烧录与UniFlash实战
官方demo的运行依赖于一个预先烧录在Flash中的调试用引导程序(Debug Bootloader)。这个bin文件负责初始化硬件,并将CCS调试器加载的应用代码搬运到内存中执行。
步骤详解:
-
定位bin文件: 在你的SDK安装目录下(例如
C:\ti\mmwave_sdk_01_01_00_02),找到关键文件:\packages\ti\utils\ccsdebug\ccs_debug.bin。这个就是用于ES1.0的调试引导镜像。请再次核对路径,确保没有错选为ES2.0或其他平台的bin文件。 -
安装并配置UniFlash: 从TI官网下载并安装UniFlash工具。打开UniFlash,它会自动检测连接的XDS110调试器。选择对应的AWR1642器件。
-
烧录操作:
- 在UniFlash的“Program”标签页下,点击“Browse”,选择刚才找到的
ccs_debug.bin文件。 - 在“Load Address”处,填入Flash的起始地址
0x200000。这个地址是AWR1642 Flash的固定入口,填错会导致芯片无法启动。 - 点击“Load Image”按钮开始烧录。控制台会显示擦除、编程、验证的进度。
# UniFlash控制台输出示例(成功情况) [INFO] 正在连接目标... [INFO] 器件识别成功: AWR1642 (ES1.0) [INFO] 开始擦除Flash扇区... [INFO] 擦除完成。 [INFO] 开始编程 `ccs_debug.bin` 至地址 0x200000... [INFO] 编程完成。 [INFO] 验证中... 验证通过。 [INFO] 烧录成功! - 在UniFlash的“Program”标签页下,点击“Browse”,选择刚才找到的
-
关键后续操作: 烧录成功后,务必按照前文所述,将开发板上的SOP2跳线帽断开,仅保留SOP0短接。然后给开发板重新上电(或按一下复位键)。此时,调试引导程序已经开始运行,等待CCS连接。
3. CCS v7.3工程配置与目标连接
这是调试的核心环节,CCS中的配置直接决定了调试器能否与芯片正确通信,以及如何加载你的应用程序。
3.1 创建目标配置文件
打开CCS v7.3,点击菜单栏 View -> Target Configurations,会在右侧弹出目标配置窗口。
- 右键点击“User Defined”,选择
New Target Configuration...。 - 输入一个有意义的名称,如
AWR1642_ES1_0.ccxml,并保存到你的工作区或项目目录。 - 在配置向导中,“Connection”选择
Texas Instruments XDS110 USB Debug Probe。“Board or Device”中,输入并选择AWR1642。CCS会自动填充芯片的详细型号。
3.2 关键参数调整
创建后,双击打开这个.ccxml文件进行详细设置。以下几个标签页需要特别关注:
-
Basic: 确认Connection和Device无误。
-
Advanced: 这里通常保持默认即可,除非你使用非标准的调试接口。
-
Source: 这是重点。你需要编辑生成的配置脚本,确保它能识别ES1.0的双核架构。在
Configuration Script编辑框中,找到类似下面的部分,确保其存在且正确:// 确保脚本中包含对Cortex-R4F和C674x DSP两个核心的定义和连接 var cortexR4_0 = script.createCPU("Cortex_R4_0"); var c674x_0 = script.createCPU("C674X_0"); // 建立调试会话与两个核心的关联 cortexR4_0.connect(); c674x_0.connect();
3.3 启动调试会话
- 保存
.ccxml文件。 - 在“Target Configurations”窗口中右键点击该文件,选择
Launch Selected Configuration。 - CCS会尝试通过XDS110连接AWR1642。如果一切顺利(驱动正确、SOP模式正确、板子已上电),你将在“Debug”视图中看到两个核心:
C674X_0和Cortex_R4_0,并且它们的状态应该是已断开连接(Disconnected)。
3.4 连接核心与常见问题排查
在“Debug”视图中:
- 首先右键点击
C674X_0 (Disconnected),选择Connect Target。 - 然后右键点击
Cortex_R4_0 (Disconnected),同样选择Connect Target。
如果连接失败,请按以下顺序排查:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 连接时报错“Error initializing emulator” | 1. USB驱动未安装或冲突。 2. SOP模式设置错误。 3. 另一个软件(如UniFlash)占用了调试器。 | 1. 重启CCS,重插USB线。检查设备管理器中XDS110端口是否正常。 2. 确认SOP2已断开,仅SOP0短接。 3. 关闭所有可能占用XDS110的软件。 |
| 只能连接一个核心 | 调试引导程序未正确运行或加载。 | 1. 确认ccs_debug.bin已正确烧录至0x200000。2. 给开发板完全断电再上电。 3. 尝试交换连接两个核心的顺序。 |
| CCS无法识别XDS110 | Windows驱动问题。 | 手动指定驱动:在设备管理器中,为“XDS110 Class Auxiliary Data Port”和“XDS110 Class Application/User UART”更新驱动,指向CCS安装目录下的\ccs_base\common\uscif\xds110文件夹。 |
提示:连接成功后,两个核心的图标会发生变化。此时不要急于加载程序,先确认连接稳定。
4. 加载Demo程序与调试执行
成功连接两个核心后,下一步就是将编译好的demo程序(可执行文件)加载到芯片的内存中。
4.1 定位应用程序文件
你需要从SDK的示例工程中获取两个.out文件(CCS编译生成的可执行文件),但更常见的是加载由预编译demo生成的.xe674和.xer4f文件。这些文件通常位于demo预编译二进制包中,例如在 \mmwave_sdk_01_01_00_02\packages\ti\demo\awr1642\mmw 目录下,你可以找到 xwr1642_mmw_demo.bin,但我们需要的是CCS调试格式。
实际上,对于调试,你通常需要自己编译SDK中的示例工程(如mmw)。编译成功后,在工程目录的Debug或Release输出文件夹中,你会找到:
xxxxxx.xe674: 用于C674x DSP核心的可执行文件。xxxxxx.xer4f: 用于Cortex-R4F ARM核心的可执行文件。
4.2 分核加载与运行
- 加载DSP程序: 在“Debug”视图中,选中
C674X_0核心。点击工具栏上的Run -> Load -> Load Program...,浏览并选择对应的.xe674文件。点击“OK”加载。加载完成后,程序计数器会停在main函数的入口。 - 加载ARM程序: 接着,选中
Cortex_R4_0核心。同样点击Load Program...,选择对应的.xer4f文件并加载。 - 同步运行: 两个核心的程序都加载完毕后,先选择
Cortex_R4_0核心,点击工具栏的绿色“Resume”按钮(或按F8),让ARM核开始运行。然后再选择C674X_0核心,同样点击“Resume”。这个顺序很重要,因为通常ARM核负责系统的初始化和任务调度,DSP核等待ARM核的指令。
4.3 验证成功
当两个核心都成功Resume后,观察CCS底部的“Console”视图。如果demo程序开始正常运行,你会看到一系列初始化成功的日志输出,例如:
[ARM] 毫米波前端初始化完成。
[ARM] 任务调度器启动。
[DSP] 信号处理链就绪。
[SYSTEM] 等待上位机配置命令...
同时,开发板上的LED可能会开始按照特定的模式闪烁,这表明芯片内的程序正在运行并等待外部指令。此时,切勿在CCS中点击“Terminate”或“Disconnect”,这会导致程序停止。调试会话应保持连接状态。
5. 配置mmWave Demo Visualizer 2.0.0实现数据可视化
当AWR1642板载程序成功运行并等待配置时,就可以在PC端使用mmWave Demo Visualizer进行连接和数据可视化了。
- 硬件连接: 使用另一根USB线,连接开发板的“USB UART”口到电脑。这个端口用于传输雷达配置命令和接收点云数据。
- 打开Visualizer: 运行mmWave Demo Visualizer 2.0.0。在“Connection”区域,选择正确的COM端口(可以在Windows设备管理器中查看新增的串口)。
- 配置雷达参数: 在“Config”标签页下,加载或设置你的雷达配置文件。关键参数包括:
Profile Configuration: chirp波形配置(起始频率、斜率、周期等)。Frame Configuration: 帧周期、每帧chirp数。ADC Configuration: 采样率、采样点数。Sensor Configuration: 通道使能、RX增益等。 对于初次测试,可以直接使用Visualizer内置的“Default Profile”或SDK示例中提供的配置文件(.cfg文件)。
- 发送配置并启动: 点击“SEND CONFIG”按钮。如果一切正常,Visualizer的“Console”区域会显示配置成功的回放,并且“Start”按钮会变为可点击状态。点击“Start”,雷达开始发射波形并采集数据。
- 观察结果: 切换到“PLOTS”或“3D Visualizer”标签页。稍等片刻,你就能看到实时更新的距离-角度热力图、距离-速度谱,以及最令人兴奋的——动态更新的3D点云图。
数据流不畅的排查:
- 无点云显示: 检查CCS控制台是否有错误日志;检查Visualizer的“Packet Rate”是否大于0;确认配置参数是否合理(例如最大探测距离是否设置过小)。
- 点云闪烁或断裂: 可能是USB-UART数据吞吐量不足或丢包。尝试降低帧率,或使用更高质量的USB线缆。
- Visualizer报连接错误: 确认选择了正确的COM口;确认CCS中的程序正在运行且未暂停;尝试重启Visualizer和重新插拔USB-UART线。
走到这一步,看到屏幕上跳动的点云,意味着你已经成功打通了从底层烧录、工程调试到上层应用的完整链条。这套流程不仅是运行一个demo,更是理解AWR1642双核架构、调试方法以及数据流的关键实践。后续无论是开发自己的信号处理算法,还是集成更复杂的应用,这套调试框架都是你不可或缺的基石。记住,硬件调试往往就是细节的较量,SOP跳线、文件加载顺序、版本匹配,每一个环节都值得反复确认。
111



被折叠的 条评论
为什么被折叠?



