跳转至

产测工具使用指南


概述

本指南介绍 ProductionLine 产测工具的安装、芯片选择、产测窗口和用例配置、Python 脚本集成、执行结果校验、二次开发及问题处理方法。

准备

产品安装

产测工具安装程序的安装步骤如下:

  1. 下载并解压仓库中的 /tools/ProductionLine.tar.gz,然后打开其中的产测工具安装程序。当前归档内的安装程序为 ProductionLine/ProductionLine_1.0.14.exe;安装时以归档内的实际文件名为准。
  2. 弹出产测工具安装路径选择界面,如图1所示,选择好安装路径后单击“Next”按钮。若安装路径选择为C盘“Program Files”需要在运行时使用管理员权限。

    图 1 产测工具安装界面

    **图 1** 产测工具安装界面

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

    图 2 产测工具选择协议界面

    **图 2** 产测工具选择协议界面

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

    图 3 产测工具额外任务选择界面

    **图 3** 产测工具额外任务选择界面

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

    图 4 产测工具准备安装界面

    **图 4** 产测工具准备安装界面

  6. 弹出产测工具正在安装界面,请等待,直至安装完成。

  7. 弹出产测工具安装完成界面,如图5所示,单击“Finish”按钮退出安装。

    图 5 产测工具安装完成界面

    **图 5** 产测工具安装完成界面

Python 环境与依赖

产测工具使用 Python 3.11.4 64 位环境。安装界面与通用环境配置方法请参见开发环境快速入门,建议优先使用一站式 CLI 开发环境;Python 安装包可从官方地址获取。

运行脚本前还需准备 pyserialfastenersconfigparserpsutilportalocker;版本与获取方式以各项目页为准。

选择 Chip

通过“Option”-“Change chip”打开芯片选择框,用于选择与单板匹配的芯片类型,部分芯片还可选择需要的烧写方式,界面如图1所示。

图 1 选择Chip界面示意图

**图 1** 选择Chip界面示意图

表 1 选择Chip界面说明

区域

说明

1

  • Chip List:可选芯片列表。

2

  • OK:确定选择按钮。
  • Cancel:取消选择按钮。

快速操作

  1. 完成产测工具安装和 Python 环境搭建,并安装所需 Python 库。
  2. 通过“Option”→“Change chip”选择与单板匹配的芯片类型。
  3. 打开 Param View,按产测窗口设置增加 DUT 窗口并加载配置文件。
  4. 参数修改配置执行用例所需内容;使用“Write All”时,先配置所有 DUT 的 AT_COM 和 Burn-COM,再同步其余配置。
  5. 切换到 Exec View,按需启用扫码枪地址后单击“AllStart”执行全部 DUT 用例。
  6. 根据结果校验确认用例状态;异常时参见问题处理

图形/命令行

/tools/ProductionLine.tar.gz 当前提供 ProductionLine/ProductionLine_1.0.14.exe。ProductionLine 通过图形界面集成调用 Python 脚本,不提供独立命令行入口;本节仅说明图形界面操作。基于串口工具下发 AT 命令的产线测试流程见产线测试指南,该流程不属于 ProductionLine 命令行接口。

操作执行界面

执行脚本文件的界面。

图 1 操作执行界面

**图 1** 操作执行界面

表 1 操作执行界面说明

区域

说明

1

  • All start: 所有DUT启动执行。
  • All stop:所有DUT停止执行。
  • All clear:所有DUT的日志清除。

2

  • Total: 执行的用例数量。
  • Success:成功的用例数。
  • Failed:失败的用例数。
  • Unknow: 不知道成功还是失败的用例数。

3

  • Input all BT MAC:所有输入BT MAC地址框使能。
  • Input all SLE MAC:所有输入SLE MAC地址框使能。

4

Input MAC address size:每一个地址框输入长度为12字符,超过12字符自动跳转到下一个。

5

单独执行脚本控制台。

每一个DUT界面如图2所示。

图 2 DUT控制台界面

**图 2** DUT控制台界面

表 2 DUT控制台界面说明

区域

说明

1

当前执行用例设备号。

2

开始执行用例。

3

停止执行用例。

4

使用PC文件编辑器打开日志。

5

蓝牙输入地址(可用于扫码枪输入,键盘输入及修改),勾选后启用。扫码枪获得的地址长度不得小于12字符。

6

星闪输入地址(可用于扫码枪输入,键盘输入及修改),勾选后启用。扫码枪获得的地址长度不得小于12字符。

7

跟踪一次执行哪些用例。

8

状态显示。

  • Doing:用例正在执行中。
  • Wait reset:等待单板重启。
  • Success:用例全部执行成功。
  • Fail:用例执行失败。

产测窗口设置

  1. 选择参数配置界面。如图1所示。

    图 1 Param View选择

    **图 1** Param View选择

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

    图 2 DUT操作面板

    **图 2** DUT操作面板

参数修改

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

  1. 选择参数配置界面。如图1所示。

    图 1 Param View选择

    **图 1** Param View选择

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

    图 2 设置地址区间示意图

    **图 2** 设置地址区间示意图

  3. 通过2增加界面后有一个默认的配置文件,如图3所示。

    图 3 配置文件展示和选择

    **图 3** 配置文件展示和选择

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

    图 4 Write All按钮

    **图 4** Write All按钮

产测执行用例

  1. 切换到Exec View。如图1所示。

    图 1 Exec View选择

    **图 1** Exec View选择

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

    图 2 扫码枪配置地址

    **图 2** 扫码枪配置地址

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

    图 3 DUT按钮

    **图 3** DUT按钮

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

    图 4 用例标识

    **图 4** 用例标识

二次开发

新增执行用例配置

参数修改”中选择的“config.ini”文件中需要带有执行用例的信息。新增则在其中添加。如下所示,例如“Burn.py”代表着执行烧录时的脚本,“烧录”代表着这条用例的名称,“0”代表着执行此用例失败后是否继续往下进行。

[Testcase]
Burn.py=烧录:0
SetBtAttr.py=设置蓝牙属性:0
SetBtCali.py=频偏校准:0

须知: 脚本文件需要和“参数修改”选中的“config.ini”在同一目录下。 新写的脚本需要包含“<用例名> start”,“<用例名> Success”,“<用例名> Failed”的打印,才能统计用例成功或者失败的次数和颜色标识,具体特殊打印请参考“特殊日志打印”。 当新增用例时,用例名称不能重复。

特殊日志打印

表 1 特殊日志打印

打印内容

说明

<用例名> start

用例执行开始。

<用例名> Success

用例执行成功。

<用例名> Failed

用例执行失败。

FileName:<命名>

日志文件命名添加。

Integrate:<关键信息>

显示在日志最后的关键信息。

LOG<关键信息>

显示在右侧结果框中的关键信息

NV 项读写

  1. 打开安装目录下“./script/{产品名}/DUT1”。
  2. 将“config _nv.ini”文件名改为“config.ini”。
  3. 在上述文件中添加读写的AT命令(GET, SET)。如下:

    [xxx]
    GET_COMMAND="AT^xxx"
    SET_COMMAND="AT^xxx"
    START_DELAY=0
    EXPECT=OK
    TIMEOUT=2
    
  4. 读取NV实现,打开“NVInfoRead.py”,复制如下代码写入到主函数中。(参考3的代码块,get_nv第一个参数是“[]”中的内容;第二个参数为读取NV的AT命令等号前的内容,一般为“GET_COMMAND“;第三个参数为单板回复内容所匹配的固定字符串,取到NV信息写入到“output.txt”中准备写回单板中)。

    ret = get_nv("xxx", "GET_COMMAND", 'xxx')
        if ret == False:
            print("xxx Failed!")
            exit(0)
    
  5. 写入NV实现,打开“NVInfoWrite.py”,复制如下代码写入到主函数中。(参考3的代码块,get_nv第一个参数是“[]”中的内容;第二个参数为读取NV的AT命令等号前的内容,一般为“GET_COMMAND“;第三个参数为查找“output.txt”中的字符串;第四个参数为正则匹配设置需要的内容)。

    ret = set_nv("SetBtAttr", "GET_COMMAND", '^btaddr', r'([0-9A-Fa-f]{12})')
    if ret == False:
        print("写入NV信息 Failed!")
        exit(0)
    

结果校验

用例状态

操作执行界面会显示 Doing、Wait reset、Success、Fail 等状态。执行用例成功时,用例标识变为绿色;失败时变为红色;正在执行时变为黄色。请结合操作执行界面产测执行用例确认结果。

脚本日志结果

新增用例的脚本应输出“<用例名> start”、“<用例名> Success”或“<用例名> Failed”,工具据此统计用例成功/失败次数并显示颜色标识。其他关键日志格式请参见特殊日志打印

参数

产测工具配置界面

参数配置

参数配置将提供的配置文件内容展示、修改,之后执行脚本时使用其参数。配置界面如图1所示。

图 1 产测工具参数配置界面

**图 1** 产测工具参数配置界面

表 1 产测工具参数配置界面说明

区域

说明

1

  • Settings
    • Exec Settings:执行界面设置。
  • Options
    • Change Chip:切换芯片。
  • View
    • Param View:参数配置界面。
    • Exec View:操作界面。
  • Help
    • About:查询版本信息。

2

  • Product:显示芯片型号。

3

  • “<”:DUT页焦点左移一页。
  • “>”:DUT页焦点右移一页。
  • “+”:添加一个新的DUT页。
  • “-” :删除当前选中的DUT页。
  • Save DUTs :保存当前所有DUT页信息到文件中。
  • Load DUTs :从文件中加载所有DUT页信息。

4

设置蓝牙和星闪区间地址,勾选“Confirm address range”后生效。

5

DUT页:配置每一款器件的配置信息。

6

选择读取ini文件,加载ini文件内容,并显示在界面上。

7

快捷筛选配置内容。

8

所有界面配置项全写。

9

配置项内容。

执行界面设置

可以设置执行界面每行显示几个DUT执行。

图 1 设置每行显示数量

**图 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的两个红框中的文件是否选择。

三种方式有一种即可,同时存在多种按照优选级来使用地址。

图 1 配置MAC地址文件

**图 1** 配置MAC地址文件

新增可配置参数

可通过配置“<工具安装路径>\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所示。

表 1 xml参数类型表

参数

说明

ID

名称。

TYPE

数据类型:
  • OSAL_CHAR,字符串类型。
  • OSAL_FILE,文件选择类型。
  • OSAL_COM,串口选择类型。
  • 其他,自定义ENUM,显示在界面中为下拉列表。

ACCESS

权限:
  • R:读
  • W:写
  • H:隐藏

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 项读写