问题描述
我们现在希望对几十台~几百台机器(含庐山派、01科技K230开发板、01科技K230核心板),通过USB口批量复制不同文件到指定文件夹/根目录。
但是现在的MTP传输不稳定,因为要对不同设备拷贝不同文件,我们还希望有设备响应功能。
希望获得官方支持,调用部分Canmv功能或者有指定dll可以实现链接+传输。我们可以尝试实现多设备按顺序传输和屏显测试,达到更好的快速测试和批量测试的目的。
https://github.com/thonny/thonny-pyboard 这个貌似是一个插件?我们希望使用串口或者是否有其他更好的方案开发。要用于生产环境调参。
我们希望做一个独立的程序,使用USBDBG打断当前运行的程序,然后执行一些指定内容,并且实现批量化,我们每次要设置5-10台设备,希望自动化。
实际上就是向SDCARD里面拷贝一些独立文件,每个设备的文件都不一样。
我们希望得到如何使用USBDBG,或者如何打断当前程序或者使用串口的方案。能得到跟CanMV类似的效果。
复现步骤
调试过程中主要遇到四类问题:
协议帧参数错误:最初将 USBDBG 帧的 4 字节参数误填为数据长度,实际应根据命令含义填入读取长度或状态 ID,导致设备无法识别并返回乱码。
缺少响应读取:发送命令后未及时读取设备回复,残留数据污染后续通信,造成状态机混乱。
时序与复位问题:打开/关闭串口时 DTR 拉低触发硬件复位,且中断后未及时发送调试模式锁定命令 0x0D,设备软复位后仍执行 main.py,导致停止后又重启。
消息未排空:中断后的 traceback、软复位输出、版本信息等残留在设备缓冲区,未用 0x8E/0x8F/0x81 循环取净就进入下一步,进一步干扰状态查询。
实际上我们希望知道CanMV IDE与设备通讯的标准串口文档。还有如何debug的整个流程
硬件板卡
庐山派,01科技k230开发板,01科技k230核心板
软件版本
自己使用官方github编译2.9.0版本无问题