LOAD_PAT 你可以把它理解成:把编译好的 pattern 文件"装进"测试机的硬件内存里 。
以后测试项里用 JUDGE_PAT 去执行 pattern 时,测试机才知道要跑哪些向量。
一、一句话总结
LOAD_PAT = 把 .ppo / .ppos 文件加载到测试机 pattern 内存。
JUDGE_PAT = 执行已经加载好的 pattern。
没有 LOAD_PAT,JUDGE_PAT 找不到 pattern,测试就没法跑。
二、格式
手册 4.15.3 里的格式:
c
LOAD_PAT ("./pattern_object_file_name" [, SPM_start_address]);
两个参数:
| 参数 | 通俗说法 | 说明 |
|---|---|---|
pattern_object_file_name |
要加载的 pattern 文件路径 | 扩展名是 .ppo 或 .ppos |
SPM_start_address |
加载到内存的起始地址 | 可选,不写就接着上次加载的末尾继续 |
三、参数详细解释
1. pattern_object_file_name
- 这是编译后的 pattern 文件,不是源文件
.pat。 - 扩展名通常是:
.ppo:普通 pattern 文件,可以读回。.ppos:加密/保护 pattern 文件,不能从 ATE 读回。
- 路径最大 32 个字符。
- 写路径时注意 C 语言转义符:
-
\要写成\\,或者直接用/。 -
例如:
cLOAD_PAT("./PAT/ls299pat.ppo"); LOAD_PAT(".\\PAT\\ls299pat.ppo");
-
2. SPM_start_address
- 指定 pattern 加载到 SPM 内存的起始地址。
- 不写的话,就接着上一个 pattern 的最后一个向量地址继续加载。
- 一般不用写,让系统自动安排。
四、通俗比喻
把测试机想象成一台游戏机:
.ppo文件 = 游戏卡带;LOAD_PAT= 把卡带插进游戏机;JUDGE_PAT= 按下开始键,运行游戏。
没有插卡带,按开始键也没用。
五、典型用法
通常放在 START_UP() 里,只加载一次:
c
START_UP()
{
LOAD_PAT("./PAT/ls299pat.ppo");
// 其他初始化...
}
之后各个测试项里直接调用:
c
JUDGE_PAT(ROM_PORSTN_RESET, __ROM_PORSTN_RESET);
JUDGE_PAT(Mem_Scan, __Mem_Scan);
也可以加载加密文件:
c
LOAD_PAT("./PAT/ls299pat.ppos");
六、注意事项
- 必须先编译出
.ppo或.ppos文件 ,不能直接加载.pat源文件。 .ppos是保护文件 ,加载后不能用READ_PAT_MEM和VECTOR_EXTRACT读回。LOAD_PAT只负责加载,不负责执行 ,执行要用JUDGE_PAT。- 路径中
\要转义 ,建议用/或\\。 - 通常放在
START_UP()里,避免每次测试都重复加载。 - 如果 pattern 很多,可以多次
LOAD_PAT,系统会按顺序放进内存。 PAT_SECURITY可以控制 pattern 保护模式,开启后不能读回。
七、和 JUDGE_PAT 的关系
| 语句 | 作用 |
|---|---|
LOAD_PAT |
把 pattern 装进测试机内存 |
JUDGE_PAT |
执行指定地址范围的 pattern,做功能测试 |
流程:
c
START_UP() {
LOAD_PAT("./PAT/xxx.ppo"); // 装卡带
}
TEST_ITEM() {
JUDGE_PAT(start_label, stop_label); // 运行卡带
}
一句话总结:
LOAD_PAT 就是"装 pattern 卡带",JUDGE_PAT 就是"跑 pattern"。
路径用 / 或 \\,文件用 .ppo 或 .ppos,通常放在 START_UP() 里加载一次。