Files
kunlun/dtest/dtest3/kl3_bond_test
2024-09-28 14:24:04 +08:00
..
2024-09-28 14:24:04 +08:00
2024-09-28 14:24:04 +08:00
2024-09-28 14:24:04 +08:00

bond 测试说明文档

bond数据内容

bond内容是从efuse中读取的数据一共占8字节前4字节为功能状态开关后4字节为前4字节功能备份数据。

efuse是一种一次性可编程存储器。是利用电子迁移(EM)特性来生成的一种小型的熔丝结构。

EM熔丝可以在芯片上编程采用I/O电路的片上电压(通常为2.5V)一个持续200微秒的10毫安直流脉冲就足以编程单根熔丝该特性决定了efuse存储器每个bit仅支持一次编程常见的是方法是从0编程为1无法从1编程为0。

bond功能简介

测试例程说明

bond测试例程使用到的外设包含rom、efuse、efuse controller、uart。

  • rom上电执行efuse中的内容
  • efuse controller测试对象用于测试对外部efuse存储器的访问。
  • uart使用uart0实现调试信息打印接收case配置信息等与PC的交互功能。

sfc测试例程遵循自动化测试框架在例程执行之后初始化串口0通过串口发送“start”字段到PC并等待PC发送“config”字段来获取本次需要执行的测试case。

在获取到case组合之后初始化efuse controller并根据case组合开始执行测试case。

这里的测试在软件上对读写做了一定限制例如将已经置1的bit置1时不会发生写操作而是直接返回对已经置1的bit置0时将直接返回错误。以上限制都是基于存在efuse数据备份的基础上完成efuse数据备份分两种方案

  1. 使用纯软件备份efuse数据方案上电之后主动将efuse数据读取出来保存在ram中优先从ram中读取数据。
  2. 使用efuse controller 寄存器备份方案上电后将efuse数据读取到寄存器中优先从寄存器中读取数据。

case:0bond data 读测试

bond data读测试极其简单在efuse初始化之后将efuse中bond相关数据读出与bond寄存器中数据进行对比相等则为成功反之失败并将所有数据打印出来即可。

该测试固定判定执行成功。

case1bond data配置测试

本case用于测试写efuse中bond相关数据然后断电重启让rom执行配置rom操作完之后读取bond寄存器的值与efuse中bond内容进行对比相等则为成功反之失败。 注意:本次测试需要人工参与,该操需要手动断电重启。

测试流程如下:

  1. 往efuse中bond位置写入测试数据。
  2. 手动重启。
  3. 读出bond寄存器中的数据与efuse中bond相关数据进行对比。

测试结果通过能正常的配置bond寄存器。