背景
设备中包含大量参数,需要配合非程序员同事修改参数进行测试。没有可用的人机交互接口,只能通过串口AT指令或烧录的方式访问。
目标是做成一款人人可以上手的工具,快速对设备进行自定义的配置。
系列文章:
产品参数配置工具(python+pylink)(二)--bin文件生成和调用-CSDN博客
产品参数配置工具(python+pylink)(三)--pylink的使用-CSDN博客
产品参数配置工具(python+pylink)(四)--pyqt界面设计-CSDN博客
产品参数配置工具(python+pylink)(五)--打包exe-CSDN博客
整体方案设计
设备端
在设备flash中划出两块区域,大小为一个可擦单元。其中一块用于存储默认参数,另一块用于存储自定义配置参数。两块参数都按照结构体debug_param的格式存储,使用时只需要修改结构体指针的指向即可。当检测到自定义参数区域存在合法数据,则指针指向自定义参数,否则指向默认参数。
为了保证传入的自定义参数的完整性,增加数据的crc校验,填写在结构体后,在检测到自定义参数区域包头正确后,再校验一下全体数据的crc值,校验通过才可使用,否则使用默认参数。
工具端
制作excel表格,使用python读取表格并按照结构体格式转换成bin文件。
若生成默认参数,则将bin文件嵌入固件,即可跟随固件一同烧录进flash指定区域。由于是固定参数,这部分会经过严格测试,比较可靠,不需要做数据校验。
若生成自定义参数,工具可以通过pylink调用jlink的dll接口,直接烧录到flash的自定义参数区域,并reset设备。