D122使用ymodem_ota进行升级,已经按照文档中心的流程配置过一遍,现在遇到问题是,点击下载之后马上就”下载失败!超时!“,过几秒后显示Update firmware fail,已经试过os和os_r分区都能正常启动,不知道问题在哪里,请大家指教。
离线
点击下载之后马上超时,通常不像是分区启动问题,更像是 ymodem 传输还没真正开始,接收端没有收到有效数据或握手没对上。
可以优先查这几项:
串口波特率、数据位、校验位、流控是否和 ymodem_ota 工具一致,尤其确认没有开硬件流控;
点击下载后设备端是否持续发送 C 字符等待 YMODEM,如果没有,说明 OTA 接收流程可能没进入;
PC 端工具是否选择了 YMODEM,而不是 XMODEM/ZMODEM,文件名和文件大小是否正常发出;
升级包大小是否超过目标分区,os/os_r 能启动不代表 OTA 写入边界一定正确;
打开 OTA 模块日志,重点看超时发生在握手阶段、接收头包阶段,还是写 flash 阶段;
如果串口同时输出 log,可能会干扰 ymodem 数据流,最好确认下载串口和日志串口是否分开,或临时降低/关闭日志。
我会先抓串口看有没有 C 握手字符。如果连头包都没收到,就先查串口/工具/流控;如果收到后写失败,再查分区表和 flash 写入。
离线