【已评审】CPLD全检结果持久化

背景

当前CPLD全检流程为如下图,查询结果在AC之后,因此需要新增CPLD全检结果持久化。

决策点

cpld全检结果持久化方式

方案一

新增cpld检测结果类

类名:CpldTestResultTable

持久化类型:PoweroffPer

tableName:t_cpld_space_test_result

属性名称 类型 属性说明
Position String 主键;标明cpld位置,如BCU、EXU
CheckResult U8[] 数组,记录检测结果

方案二

在之前类基础上新增属性存储检测结果

类名:CpldSpaceTest
持久化类型:PoweroffPer
tableName:t_cpld_space_test_result

属性名称 类型 属性说明
CpldIndex U8 主键;CPLD索引值,表示第几片CPLD,从1开始计数
Manufacturer U8 CPLD厂商,表示当前对象配置的对应厂商,0:anlu,1:lattice,2:pango
TestFirmwares String[] CPLD检测固件列表,与hpm包中的case固件名称对应
RefreshFirmware String CPLD恢复固件名称,与hpm包中的refresh固件名称对应
CpldResultRegister U8 检测CPLD测试结果的寄存器
RefSmcChip U8[] 引用对应的Smc对象,在测试时阻止Smc访问使用
WaitTime U32 检测等待时间,单位: ms
RefLogicFirmware U8[] 引用CPLD升级对象,在UID组件匹配,确定升级使用的Chip,切换Jtag链路使用
RefBusIndex U8 获取测试结果对应Bus的参数,当前支持GPIO
RefMode String 获取测试结果的方式,当前支持GPIO和SMC
CpldPosition U8 主键;标明cpld位置,板名+position+cpld+index,如BCU_010101_Cpld1
CheckResult U8 记录检测结果,与ipmi一致,0表示成功,1表示失败,2表示不支持全检,3表示检测中,255是默认值

评审结论

  • 评审结论:同意方案二,同意在CpldSpaceTest新增属性CheckResult、 CpldPosition(主键)

遗留问题

确认主键能否通过代码内生成:已确认,当前类有多个对象,因此需在CSR配置独特主键,否则会有主键冲突风险