![]() |
第三代测试机编程手册
1.0
|
在下图路径中打开 .uvprojx
的文件即可
图中的dev_bin.exe是用于自动将app.h中的版本信息更新到bin文件名称的脚本文件,并非工程入口.
工程目录如下图所示. 在这个工程中,所有平台运行代码都被封装到了lib中main.c中的代码会引导SDK运行,因此用户不能修改main.c中的内容,否则可能导致程序无法运行!
app.h的开始会定义默认的成功情况下的bin值. 当所有参与测试的测试项通过之后, 会将该bin值上报.
TESTERAPP_VERSION
是指用户在上位机中配置的测试程序版本号.SDK_VERSION
用户在上位机中设置的 SDK版本.VECTOR_VERSION
用户在上位机中定义的向量版本.为了方便用户对程序进行初始化操作.定义了下面三个函数.
USER_StartInit(void)
该函数调用时机有以下几种情况
用户可以在该函数中设置: 向量系统的相位, 设置TIO, DPS 等模块的初始状态, 进行其他的用户自定义的开机初始化操作.
USER_RunBeforeTest(void)
在每一次开始测试流程之前会调用一次该函数. 用户可以在该函数中进行上一次测试之后的状态复位操作, 或者定义每一次开始测试之前的初始值.
USER_RunAfterTest(void)
在每一次测试流程之后会调用一次该函数. 用户可以在该函数中复位本次测试之后的一些设备状态.
app.c中会根据, 上位机中配置的每一个测试项的名称生成对应的函数. 函数名称为 " USER_测试项名称 " .例如下面代码的 uint8_t USER_OS_PMU(void)
该部分会将 app.c 和 app.h 中的一些信息和函数同步到SDK中以便运行!
注意:
文件的第一部分为内部资源的宏定义, 对应上位机的资源配置界面
在调用TIO, CBIT等具有多通道的模块时,需要指定通道号. 资源分配就是管理这些通道号.
在使用内部资源(当前主板上的资源)时, 可以将这些资源宏定义当做是为通道号定义了一个方便理解的别名.
例如:有cbit 的 pin16 ,该pin在硬件上的功能被设计为 "控制连接芯片的OUT脚接上拉电阻" . 在上位机中分配资源的时候可以为该 pin 取名为 OUT_Up
.
在调用资源时,代码可以写作:
外部资源: 是指非当前测试主板上的资源. 比如测试主板上没有高压模块, 如果要使用高压模块, 就需要使用外部资源的调用方式进行访问.
如果当前没有使用外部资源, 结构体类型中将没有内容.
ItemParam_t
结构体中定义了每个测试项的基本属性.
Item_t
结构体中, 根据上位机配置的测试项, 生成了每个测试项的访问入口.
对应上位机中的内容
分为三层: 测试参数汇总, 测试项参数, 测试参数单元
图中的 OS_PMU_t
是针对 OS_PMU
这一项的测试参数生成的相关结构体
在上位机中,OS_PMU
的测试参数内容如下:
因此生成的OS_PMU_t
的结构体如下:
其他测试项类似.
SubItemParam_t
结构体定义了, 每一个测试参数的内容
在上位机中可以设置一些常量
将会根据常量的内容, 在下面结构体中增加内容
在文件的最后, 定义了用户可以访问到 var.h 中数据的入口.
其中只有 vSubItem 是可读可写接口, 允许用户修改其中的值. 其他三个均为只信息.
具体的调用方式请参考: 参数调用示例
该文件中定义了 var.h 中类型的变量, 并预留出访问接口.