产测工具使用指南
概述
本指南介绍 ProductionLine 产测工具的安装、芯片选择、产测窗口和用例配置、Python 脚本集成、执行结果校验、二次开发及问题处理方法。
准备
产品安装
产测工具安装程序的安装步骤如下:
- 下载并解压仓库中的 /tools/ProductionLine.tar.gz,然后打开其中的产测工具安装程序。当前归档内的安装程序为
ProductionLine/ProductionLine_1.0.14.exe;安装时以归档内的实际文件名为准。 -
弹出产测工具安装路径选择界面,如图1所示,选择好安装路径后单击“Next”按钮。若安装路径选择为C盘“Program Files”需要在运行时使用管理员权限。

-
弹出产测工具选择协议界面,如图2所示,选择对应的产品,单击“Next”按钮。

-
弹出产测工具额外任务选择界面,如图3所示,单击“Next”按钮。

-
弹出产测工具准备安装界面,单击“Install”按钮。如图4所示。

-
弹出产测工具正在安装界面,请等待,直至安装完成。
-
弹出产测工具安装完成界面,如图5所示,单击“Finish”按钮退出安装。

Python 环境与依赖
产测工具使用 Python 3.11.4 64 位环境。安装界面与通用环境配置方法请参见开发环境快速入门,建议优先使用一站式 CLI 开发环境;Python 安装包可从官方地址获取。
运行脚本前还需准备 pyserial、fasteners、configparser、psutil 和 portalocker;版本与获取方式以各项目页为准。
选择 Chip
通过“Option”-“Change chip”打开芯片选择框,用于选择与单板匹配的芯片类型,部分芯片还可选择需要的烧写方式,界面如图1所示。

表 1 选择Chip界面说明
区域 |
说明 |
|---|---|
1 |
|
2 |
|
快速操作
- 完成产测工具安装和 Python 环境搭建,并安装所需 Python 库。
- 通过“Option”→“Change chip”选择与单板匹配的芯片类型。
- 打开 Param View,按产测窗口设置增加 DUT 窗口并加载配置文件。
- 按参数修改配置执行用例所需内容;使用“Write All”时,先配置所有 DUT 的 AT_COM 和 Burn-COM,再同步其余配置。
- 切换到 Exec View,按需启用扫码枪地址后单击“AllStart”执行全部 DUT 用例。
- 根据结果校验确认用例状态;异常时参见问题处理。
图形/命令行
/tools/ProductionLine.tar.gz 当前提供 ProductionLine/ProductionLine_1.0.14.exe。ProductionLine 通过图形界面集成调用 Python 脚本,不提供独立命令行入口;本节仅说明图形界面操作。基于串口工具下发 AT 命令的产线测试流程见产线测试指南,该流程不属于 ProductionLine 命令行接口。
操作执行界面
执行脚本文件的界面。
图 1 操作执行界面

表 1 操作执行界面说明
区域 |
说明 |
|---|---|
1 |
|
2 |
|
3 |
|
4 |
Input MAC address size:每一个地址框输入长度为12字符,超过12字符自动跳转到下一个。 |
5 |
单独执行脚本控制台。 |
每一个DUT界面如图2所示。

表 2 DUT控制台界面说明
区域 |
说明 |
|---|---|
1 |
当前执行用例设备号。 |
2 |
开始执行用例。 |
3 |
停止执行用例。 |
4 |
使用PC文件编辑器打开日志。 |
5 |
蓝牙输入地址(可用于扫码枪输入,键盘输入及修改),勾选后启用。扫码枪获得的地址长度不得小于12字符。 |
6 |
星闪输入地址(可用于扫码枪输入,键盘输入及修改),勾选后启用。扫码枪获得的地址长度不得小于12字符。 |
7 |
跟踪一次执行哪些用例。 |
8 |
状态显示。
|
产测窗口设置
-
选择参数配置界面。如图1所示。

-
执行如图2所示的操作。从左到右分别是“切换到当前界面的左侧界面”、“切换到当前界面的右侧界面”、“增加产测窗口”、“删除当前产测窗口”、“保存当前产测窗口信息(数量,选择配置文件的路径)”、“加载产测窗口信息”。将界面调整到预期的个数,例如8个,就点击加号直到有8个DUT。

参数修改
参数修改会将修改的内容写入到所选的配置文件中。界面操作步骤如下:
-
选择参数配置界面。如图1所示。

-
(可选)使用地址区间时,设置地址区间,并点击“Comfirm address range”确认使用。如图2所示。

-

-
修改执行用例所需要的内容,配置所有DUT的AT_COM和Burn-COM和其中一个DUT的所有内容,在配置好全部内容的页面点击“Write All”按钮,如图4所示,将除AT_COM和Burn-COM外的配置同步到每一个DUT中。

产测执行用例
-
切换到Exec View。如图1所示。

-
(可选)所需要通过扫码枪输入的蓝牙、星闪地址,将其勾选并使用。如图2所示。

-
点击“AllStart”执行全部DUT用例。也可以通过执行点击每一个DUT的按钮进行特定的操作。如图3所示。

-
执行用例成功时用例标识会变成绿色,失败时会变成红色,正在执行中时会变为黄色。
图 4 用例标识

二次开发
新增执行用例配置
“参数修改”中选择的“config.ini”文件中需要带有执行用例的信息。新增则在其中添加。如下所示,例如“Burn.py”代表着执行烧录时的脚本,“烧录”代表着这条用例的名称,“0”代表着执行此用例失败后是否继续往下进行。
须知: 脚本文件需要和“参数修改”选中的“config.ini”在同一目录下。 新写的脚本需要包含“<用例名> start”,“<用例名> Success”,“<用例名> Failed”的打印,才能统计用例成功或者失败的次数和颜色标识,具体特殊打印请参考“特殊日志打印”。 当新增用例时,用例名称不能重复。
特殊日志打印
表 1 特殊日志打印
打印内容 |
说明 |
|---|---|
<用例名> start |
用例执行开始。 |
<用例名> Success |
用例执行成功。 |
<用例名> Failed |
用例执行失败。 |
FileName:<命名> |
日志文件命名添加。 |
Integrate:<关键信息> |
显示在日志最后的关键信息。 |
LOG<关键信息> |
显示在右侧结果框中的关键信息 |
NV 项读写
- 打开安装目录下“./script/{产品名}/DUT1”。
- 将“config _nv.ini”文件名改为“config.ini”。
-
读取NV实现,打开“NVInfoRead.py”,复制如下代码写入到主函数中。(参考3的代码块,get_nv第一个参数是“[]”中的内容;第二个参数为读取NV的AT命令等号前的内容,一般为“GET_COMMAND“;第三个参数为单板回复内容所匹配的固定字符串,取到NV信息写入到“output.txt”中准备写回单板中)。
-
写入NV实现,打开“NVInfoWrite.py”,复制如下代码写入到主函数中。(参考3的代码块,get_nv第一个参数是“[]”中的内容;第二个参数为读取NV的AT命令等号前的内容,一般为“GET_COMMAND“;第三个参数为查找“output.txt”中的字符串;第四个参数为正则匹配设置需要的内容)。
结果校验
用例状态
操作执行界面会显示 Doing、Wait reset、Success、Fail 等状态。执行用例成功时,用例标识变为绿色;失败时变为红色;正在执行时变为黄色。请结合操作执行界面和产测执行用例确认结果。
脚本日志结果
新增用例的脚本应输出“<用例名> start”、“<用例名> Success”或“<用例名> Failed”,工具据此统计用例成功/失败次数并显示颜色标识。其他关键日志格式请参见特殊日志打印。
参数
产测工具配置界面
参数配置
参数配置将提供的配置文件内容展示、修改,之后执行脚本时使用其参数。配置界面如图1所示。

表 1 产测工具参数配置界面说明
区域 |
说明 |
|---|---|
1 |
|
2 |
|
3 |
|
4 |
设置蓝牙和星闪区间地址,勾选“Confirm address range”后生效。 |
5 |
DUT页:配置每一款器件的配置信息。 |
6 |
选择读取ini文件,加载ini文件内容,并显示在界面上。 |
7 |
快捷筛选配置内容。 |
8 |
所有界面配置项全写。 |
9 |
配置项内容。 |
执行界面设置
可以设置执行界面每行显示几个DUT执行。
图 1 设置每行显示数量

表 1 设置每行显示数量界面说明
区域 |
说明 |
|---|---|
1 |
Num per line:设置执行界面每行显示数量。 |
2 |
OK:应用设置。 |
3 |
Cancel:取消设置修改。 |
MAC 地址使用优先级
MAC地址分配及使用优先级依次为扫码枪设置、区间段设置、文件设置。
先检测2扫码枪输入是否启用,若在“script\Hi3322\DUTX\temp\”目录下存在“CurrentSerailNumber.txt”和“CurrentSleNumber.txt”文件,则扫码枪输入已启用,反之未启用。其中DUTX的X为界面的DUT数。
其次检测2区间段MAC地址是否启用,若在“app.exe”同目录下存在“btAddressFile.txt”和“sleAddressFile.txt”文件,则MAC地址已启用,反之未启用。
最后检测图1的两个红框中的文件是否选择。
三种方式有一种即可,同时存在多种按照优选级来使用地址。

新增可配置参数
可通过配置“<工具安装路径>\share\config\<chip>.xml”来决定界面可配参数,参数配置后可以写入到“config.ini”文件中(具体步骤请参考“参数修改”),修改之后需要重启工具生效。
xml添加参数例如:
<STRUCT ID="Burn" ALIAS="BURN" GROUP_TYPE="TC_COM_PARAM" OUTPUT_TYPE="INI">
<MEMBER ID="CONNECT_TYPE" TYPE="CONNECTION_TYPE_ENUM" ACCESS="H" FORMAT="32.0"/>
<MEMBER ID="COM" TYPE="OSAL_COM" COMMENT="烧写镜像使用的串口号" ACCESS="RW" FORMAT="32.0"/>
<MEMBER ID="BAUD" TYPE="BURN_BAUD" ACCESS="RW" COMMENT="烧写镜像使用的波特率"/>
<MEMBER ID="SERIAL_BYTE_SIZE" TYPE="OSAL_CHAR" ACCESS="H" FORMAT="32.0"/>
<MEMBER ID="SERIAL_PARITY" TYPE="OSAL_CHAR" ACCESS="H" FORMAT="32.0"/>
<MEMBER ID="SERIAL_PARITY_STOP_BITS" TYPE="OSAL_CHAR" ACCESS="H" FORMAT="32.0"/>
<MEMBER ID="START_DELAY" TYPE="OSAL_CHAR" ACCESS="H" FORMAT="32.0"/>
<MEMBER ID="FWPKG_PATH" TYPE="OSAL_FILE" ACCESS="RW" FORMAT="32.0"/>
<MEMBER ID="BURNTOOL_PATH" TYPE="OSAL_FILE" ACCESS="RW" FORMAT="32.0"/>
</STRUCT>
XML的参数类型如表1所示。
参数 |
说明 |
|---|---|
ID |
名称。 |
TYPE |
数据类型:
|
ACCESS |
权限:
|
COMMENT |
tips,鼠标悬停会显示。 |
新增STRUCT时需要将其ID加入到FUNCTION的CONTENT中。FUNCTION配置如下:
<FUNCTIONS>
<FUNCTION ID="PRODUCT_LINE_TEST" TYPE="REG_API_MPI" OUTPUT_TYPE="BIN">
<CONTENTS>
<CONTENT>ATCom</CONTENT>
<CONTENT>Burn</CONTENT>
<CONTENT>SetBtAttr</CONTENT>
<CONTENT>SetSleAttr</CONTENT>
<CONTENT>BtCali</CONTENT>
<CONTENT>ADCCail</CONTENT>
</CONTENTS>
<PARAMETERS/>
</FUNCTION>
</FUNCTIONS>
其中MEMBER标签中的ID为参数名,在ini中应有相同的名字的配置及对应的值,TYPE为参数类型(RW为可读可写,H为隐藏),ACCESS为读写权限。
对应的ini文件中的配置例如:
[ATCom]
AT_CONNECT_TYPE=0
AT_COM=COM16
AT_BAUD=115200
AT_SERIAL_BYTE_SIZE=8
AT_SERIAL_PARITY=N
AT_SERIAL_PARITY_STOP_BITS=1
等号前面对应的xml中的ID,后面代表着对应的值,后续脚本通过读取这种ini来获取需要的值。
添加 Write all 同步项
新增配置项须点击“Write all”同步每一个界面,可在“<工具安装路径>\share\config\config_<chip>\config.ini”中添加需要同步的配置项。添加内容为在“参数修改”选中的“config.ini”的配置键值,使用“,”隔开。如下所示:
[sync]
CONFIG="Burn/BAUD,Burn/FWPKG_PATH,Burn/BURNTOOL_PATH,SetBtAttr/BTATTR_FILE,SetSleAttr/SLEATTR_FILE,BtCali/CALI_GOLDEN_COM,ADCCail/CHANNEL,ADCCail/VOLTAGE"
问题处理
Python 环境与依赖
确认 Python 与所需模块可用;具体要求请参见Python 环境与依赖。
配置和用例检查
- 参数修改会写入所选配置文件;新增或修改 XML 配置后需要重启工具生效。
- 新增用例时,脚本文件必须与所选 config.ini 位于同一目录,用例名称不能重复。
- 使用“Write all”同步时,确认 config.ini 的 sync 段已配置需要同步的键值。
地址与 NV 读写检查
MAC 地址的使用优先级为扫码枪设置、区间段设置、文件设置;配置时请参见MAC 地址使用优先级。NV 读写的配置与脚本实现请参见NV 项读写。