Ubuntu环境下烧录CC2650模块出现超时错误求助
解决Ubuntu下CC2650烧录超时(Timeout waiting for ACK/NACK after 'Synch')的问题
我之前在Ubuntu环境下烧录CC2650 Launchpad模块时,也碰到过和你完全一样的超时报错,折腾了好一阵才解决,给你分享几个亲测有效的排查和修复步骤:
先搞定串口权限问题
Ubuntu默认下普通用户没有访问/dev/ttyACM0这类串口设备的权限,这很容易导致烧录工具无法正常和模块通信。执行下面的命令把当前用户加入dialout组:sudo usermod -aG dialout $USER执行完后必须注销并重新登录,权限才会生效。另外,你可以用
dmesg | grep tty命令确认模块对应的串口节点是不是ttyACM0——有时候可能会变成ttyUSB0,别搞错了设备路径。手动复位模块触发烧录模式
CC2650的Launchpad有时候不会自动进入烧录模式,这时候需要手动配合:- 先执行你的烧录命令:
sudo make PORT=/dev/ttyACM0 BOARD=launchpad/cc2650 client.upload - 当命令行开始输出类似"Sending Synch (0x55 0x55)"的日志时,快速按一下Launchpad上的复位按钮
这个操作能让模块及时响应同步信号,我当时就是靠这个解决了超时问题。
- 先执行你的烧录命令:
调整烧录波特率或更新烧录工具
有些Ubuntu系统的串口稳定性一般,默认的高波特率可能导致通信丢包。你可以尝试降低波特率再试,比如:sudo make PORT=/dev/ttyACM0 BOARD=launchpad/cc2650 BAUD=115200 client.upload另外,如果用的是
cc2538-bsl.py这个烧录工具,旧版本可能存在兼容性问题,建议更新到最新版:pip install --upgrade cc2538-bsl禁用干扰串口的ModemManager服务
Ubuntu自带的ModemManager服务会自动识别串口设备并尝试初始化,很容易干扰CC2650的烧录流程。你可以临时停止它:sudo systemctl stop ModemManager如果不想每次都手动停,也可以永久禁用:
sudo systemctl disable ModemManager检查物理连接是否靠谱
最后别忽略最基础的硬件问题:- 确认你用的是带数据传输功能的USB线,不是那种只能充电的线
- 检查Launchpad上的跳线设置,确保烧录相关的跳线处于默认的烧录位置(一般是出厂默认,但有时候可能不小心碰动了)
你可以按顺序试试这些方法,大部分情况下权限设置+手动复位就能解决问题。
内容的提问来源于stack exchange,提问作者SUBHANSHU SAHU
相关产品推荐
相关产品推荐

