工具/软件:Code Composer Studio
出于大规模生产的目的、非常需要通过外部串行接口对 CC2650中的闪存进行编程。评估板 SmartRF06上最近完成了一项验证工作、该评估板具有 基于 ARM 的低功耗射频无线 MCU CC2650。该评估板上有 一个板载 JTAG 调试器 XDS100V3 为主机提供虚拟串行接口。
实验结果令人沮丧。虚拟串行接口可以成功 连接到以引导引导模式呈现的 CC2650、因此可以在不出错的情况下执行后续操作。但是、当离开虚拟串行接口并通过外部独立串行接口直接连接芯片时、可使用由提供的编程工具 ,被称为“SmartRF Flash Programmer 2”的 TI 会发出错误消息,指示通信建立失败。根据相关技术文档这可能是由于与发起访问请求的主机协商波特率失败而导致的。在引导加载程序模式下访问 CC2650的协议有 主机计算机应发送两 个连续字节0x55 0x55以启动与芯片的连接、然后芯片将发回 ACK (固定值0x00 0xCC)作为响应。 如下图所示,主机端的编程软件响应错误,即0x80 0xEC 而不是0x00 0xCC。
更令人惊讶的是、示波器捕获的波形说明了不同的情况。CC2650在接收0x55 0x55后的响应正是它应该得到的响应。
(从串行通信线路、RF1.9_UART_TX 接收到的波形)
除了此编程软件、尝试 使用另一个串行通信软件以引导加载程序模式向 CC2650发送0x55 0x55序列也将证明连接已正确建立。
那么、软件 SmartRF 闪存编程器2是否与 XDS100v3具有特殊绑定关系、以便它可以通过 JTAG 调试器或虚拟串行端口无缝配合使用?如果不是、问题出在哪里?问题出在哪里?您能否准确地确定?
太多了。
严杰
Sumavision Corp.的软件工程师


