CSR配置字典之DftSPI类
更新时间: 2026/06/22
在Gitcode上查看源码📋 文档信息
| 项目 | 内容 |
|---|---|
| 文档标题 | DftSPI类配置字典 |
| 版本 | v1.0 |
| 创建日期 | 2026-06-22 |
| 最后更新 | 2026-06-22 |
| 维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
| 版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
|---|---|---|---|---|---|
| v1.0 | 2026-06-22 | 初始版本 | 创建DftSPI类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
DftSPI 类
| 属性 | 值 |
|---|---|
| 类名称 | DftSPI |
| 功能描述 | SPI装备测试配置对象 |
| 所属SIG组 | system |
| 所属组件 | 装备测试管理 |
| 接口路径 | /bmc/kepler/Manufacture/PrepareTest/DftSPI/${Id} |
| 权限 | ConfigureSelf |
| 责任人 | 系统架构组 |
| 最后更新 | 2026-06-22 |
| 状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
以下属性来自
bmc.kepler.Manufacture接口,为装备测试项的核心配置属性。
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
Type | U8 | 无 | 1~6 | - | 装备测试项类型 1人工自检,2需要人工准备前置条件,3拷机测试,4人工检查结果,5人工操作测试,6与装备交互测试 | 指定SPI测试项的类型 | 2 | CSR配置 | 软件 |
Id | U8 | 无 | - | - | 装备测试项id | 标识SPI测试项的唯一编号 | 1 | CSR配置 | 软件 |
Slot | U32 | 无 | - | - | 槽位号 | 指定SPI所在的槽位 | 0 | CSR配置 | 软件 |
DeviceNum | U8 | 无 | - | - | 设备id | 标识SPI设备编号 | 1 | CSR配置 | 软件 |
ItemName | String | 无 | - | - | 设备名称 | 显示SPI测试项名称 | "SPI Test" | CSR配置 | 软件 |
PrompteReady | String | 无 | - | - | 测试前交互提示 | 测试开始前向操作者展示的提示信息 | "请确认SPI已就绪" | CSR配置 | 软件 |
PrompteFinish | String | 无 | - | - | 测试完成交互提示 | 测试结束后向操作者展示的提示信息 | "请检查SPI测试结果" | CSR配置 | 软件 |
ProcessPeriod | U16 | 无 | - | - | 测试所需时间 | SPI测试所需的时间(单位:秒) | 120 | CSR配置 | 软件 |
可选属性
以下属性来自
bmc.kepler.Manufacture.Extension接口及对象级别属性,为SPI装备测试的扩展配置属性。
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
SystemId | U16 | 1 | - | - | Multihost环境下system编号 | 在多Host场景中标识SPI所属的system | 1 | CSR配置 | 软件 |
SpiSwitch | U8 | 无 | - | - | SPI切换开关 | 控制SPI通道的切换状态 | 1 | CSR配置 | 软件 |
Channel | U8 | 255 | - | - | SPI通道号 | 标识SPI通信的通道编号 | 255 | CSR配置 | 软件 |
🔗 动态关联机制
语法规范
使用 #/xxx 和 <=/xxx 格式实现属性间的动态关联:
yaml
# 语法格式
属性名: "#/目标类.属性名" # 直接关联
属性名: "<=/目标类.属性名" # 条件关联
# DftSPI类当前无动态关联属性,所有属性均为静态CSR配置关联说明
- 当前状态:DftSPI类所有属性均为静态CSR配置,无动态关联需求
- 扩展说明:如后续需要关联硬件状态或组件信号,可按
<=/xxx或#/xxx格式扩展
📂 分类标准
软件属性
- 定义:用于软件层面的装备测试管理和配置
- 特点:包含标识、交互提示、测试时间、SPI通道等配置功能
- 示例:
Type,Id,Slot,DeviceNum,ItemName,PrompteReady,PrompteFinish,ProcessPeriod,SystemId,SpiSwitch,Channel
📝 配置示例
标准SPI测试项配置
json
{
"DftSPI": {
"Type": 2,
"Id": 1,
"Slot": 0,
"DeviceNum": 1,
"ItemName": "SPI Test",
"PrompteReady": "请确认SPI已就绪",
"PrompteFinish": "请检查SPI测试结果",
"ProcessPeriod": 120,
"SystemId": 1,
"SpiSwitch": 1,
"Channel": 255
}
}多Host场景配置
json
{
"DftSPI_Host2": {
"Type": 2,
"Id": 2,
"Slot": 0,
"DeviceNum": 2,
"ItemName": "SPI Test Host2",
"PrompteReady": "请确认SPI已就绪",
"PrompteFinish": "请检查SPI测试结果",
"ProcessPeriod": 120,
"SystemId": 2,
"SpiSwitch": 1,
"Channel": 255
}
}指定SPI通道配置
json
{
"DftSPI_Channel0": {
"Type": 2,
"Id": 3,
"Slot": 0,
"DeviceNum": 1,
"ItemName": "SPI Channel0 Test",
"PrompteReady": "请确认SPI通道0已就绪",
"PrompteFinish": "请检查SPI通道0测试结果",
"ProcessPeriod": 60,
"SystemId": 1,
"SpiSwitch": 1,
"Channel": 0
}
}🔧 使用指南
配置步骤
- 设置基本标识:配置Id、Slot、DeviceNum
- 指定测试类型:设置Type,确定SPI测试项的测试类型
- 配置交互提示:设置PrompteReady、PrompteFinish,定义测试前后的交互提示
- 设置测试时间:配置ProcessPeriod,指定测试所需时间
- 配置SPI通道:设置SpiSwitch和Channel,指定SPI切换开关和通道号
- 可选配置:根据需要配置SystemId(多Host场景)
注意事项
- Manufacture接口通用属性:Type、Id、Slot、DeviceNum、ItemName、PrompteReady、PrompteFinish、ProcessPeriod 为所有装备测试对象的通用属性,来自
bmc.kepler.Manufacture接口 - ID唯一性:Id在路径
/bmc/kepler/Manufacture/PrepareTest/DftSPI/${Id}中作为唯一标识 - Type取值:Type取值范围为1~6,分别对应不同测试类型,需根据实际测试场景选择
- SPI专属属性:SpiSwitch和Channel为DftSPI对象级别属性,用于控制SPI通道切换和通道编号
- Channel默认值:Channel默认值为255,表示使用默认SPI通道
- SystemId默认值:单Host场景下SystemId默认为1,无需额外配置
- 权限要求:操作该对象需要 ConfigureSelf 权限
性能建议
- 测试时间:根据SPI实际测试需求合理设置ProcessPeriod
- 交互提示:PrompteReady和PrompteFinish应提供清晰的操作指引
- SPI通道:根据实际硬件连接选择合适的Channel值,默认255为通用配置
- 资源优化:单Host场景无需配置SystemId
Type类型说明
| Type值 | 类型名称 | 说明 |
|---|---|---|
| 1 | 人工自检 | 人工进行自检测试 |
| 2 | 需要人工准备前置条件 | 测试前需人工准备 |
| 3 | 拷机测试 | 自动拷机测试 |
| 4 | 人工检查结果 | 需人工检查测试结果 |
| 5 | 人工操作测试 | 人工操作执行测试 |
| 6 | 与装备交互测试 | 与装备系统交互测试 |
常见问题
- Q: DftSPI和DftPmu有什么区别?
- A: DftSPI位于PrepareTest路径下且有SpiSwitch和Channel专属属性,DftPmu位于SelfTest路径下且无专属属性
- Q: Channel默认值255代表什么?
- A: Channel默认值255表示使用默认SPI通道,实际使用时可根据硬件连接配置具体通道号
- Q: SpiSwitch的作用是什么?
- A: SpiSwitch用于控制SPI通道的切换状态,配合Channel指定具体的SPI通信通道
- Q: SystemId在什么情况下需要配置?
- A: 在Multihost环境下需要配置SystemId以区分不同system,单Host场景使用默认值1即可