本项目面向嵌入式设备研发调试及维护场景,将固件升级、I²C 通信调试和专用芯片参数烧录集成到同一款 Windows 上位机中,方便开发人员集中完成设备更新、外设调试和参数配置。
固件升级模块支持选择 HEX、BIN 格式应用固件,通过串口执行 A/B 升级。I²C 调试模块通过 IM942 串口转 I²C 桥接器访问外设,支持总线频率选择、设备扫描、寄存器读写及原始数据收发。
芯片烧录模块面向 JW3323A/JW3323C,支持芯片通信检测、8 字节 OTP 参数编辑、双备份区读取、预烧验证、正式烧录和回读校验。界面分别展示待写入数据与两个读取区的数据,并提示一致性状态。各模块集成于分页界面,共用串口选择,配合进度和日志信息,方便操作及问题定位。
我负责上位机界面、功能模块集成及 JW3323 芯片烧录流程开发。软件使用 Python 和 Tkinter 构建图形界面,通过串口与 IM942 桥接设备通信,再由桥接设备执行 I²C 操作,并使用 PyInstaller 打包为 Windows 可执行程序。
烧录模块将芯片操作逻辑与界面分离,封装寄存器访问、OTP 双区读取、预烧、逐位烧录和校验流程。耗时操作放入后台线程执行,通过消息队列将日志、进度和结果传回界面,避免通信与烧录过程阻塞界面响应。
针对 OTP 不可逆写入的特点,正式烧录前读取现有数据,检查锁定状态和位变化是否合法,拒绝需要将已写入位从 1 改回 0 的配置。参数写入并校验通过后,再单独处理 LOCK 锁定位,最后对两个备份区进行回读比对,并提示断电重启后再次确认数据保持。
多模块集成时统一管理串口使用,切换页面前释放连接,执行升级或烧录期间限制页面切换和关闭程序。写入缓冲区与读取结果独立显示,避免读取操作覆盖待写参数;通信日志提供时间戳、收发方向和十六进制报文,辅助排查协议及设备响应问题。