CSR配置字典之FruData类
更新时间:2025/7/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题FruData类配置字典
版本v1.0
创建日期2025-01-27
最后更新2025-01-27
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建FruData类配置字典全新文档系统管理员

🎯 类概览

FruData 类

属性
类名称FruData
功能描述FRU数据管理,提供电子标签的读取、写入和管理功能,支持多种存储类型和数据格式
所属SIG组inventory
所属组件fru
责任人库存管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
FruIdU8-U8-关联所在的Fru的Fruid,0只能给挂耳使用,1~63会自动分配,大于63则使用配置的FruId,所以无特殊情况,配成1即可查询电子标签1CSR软件
FruDevString-关联eepromEeprom_SDI标准电子标签数据来源eeprom,File类型可以不配查询电子标签"#/Eeprom_SDI"CSR硬件
EepromWpString-关联AccessorAccessor_SDIWP涉及写eeprom时,部分需要开关写保护,File类型可以不配查询电子标签"#/Accessor_SDIWP.Value"CSR硬件
StorageTypeString-String-存储类型,非标可以是MCU等,无限制,反之则必须是TianChi或者EepromV2、File查询电子标签"MCU/TIANCHI/Eepromv2/File"CSR软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
FruTypeString-String-关联所在的Fru的类型,自动根据Fruid匹配Fru查询电子标签NULL组件更新软件
FruNameString-String-关联所在的Fru的名字,自动根据Fruid匹配Fru查询电子标签NULL组件更新软件
BoardManufacturerString""String-单板生产厂商,标准电子标签从eeprom读取,非标由接口进行更新查询电子标签""组件更新软件
BoardProductNameString""String-单板产品名称,标准电子标签从eeprom读取,非标由接口进行更新查询电子标签""组件更新软件
BoardSerialNumberString""String-单板系列化编号,标准电子标签从eeprom读取,非标由接口进行更新查询电子标签""组件更新软件
BoardPartNumberString""String-单板部件号,标准电子标签从eeprom读取,非标由接口进行更新查询电子标签""组件更新软件
ProductSerialNumberString""String-产品序列号,标准电子标签从eeprom读取,非标由接口进行更新查询电子标签""组件更新软件
SystemProductNameString""String-系统产品名称,标准电子标签从eeprom读取,非标由接口进行更新查询电子标签""组件更新软件
SystemSerialNumberString""String-系统序列号,标准电子标签从eeprom读取,非标由接口进行更新查询电子标签""组件更新软件
StorageLocString-String-电子标签存储类型为File时使用,对应文件路径名查询电子标签"/data/opt/bmc/conf/BMCCardFru.dat"CSR软件

🔗 动态关联机制

语法规范

使用 #/xxx 格式实现动态关联:

yaml
# EEPROM设备关联
FruDev: "#/Eeprom_SDI"

# 写保护寄存器关联
EepromWp: "#/Accessor_SDIWP.Value"

关联说明

  • FruDev: 关联EEPROM设备对象,用于读取电子标签数据
  • EepromWp: 关联写保护寄存器,用于EEPROM写操作时的保护控制

📂 分类标准

硬件属性

  • 定义:与硬件EEPROM设备直接相关的参数
  • 特点:通常与硬件存储设备和寄存器对应
  • 示例FruDev, EepromWp

软件属性

  • 定义:用于软件逻辑控制和数据管理的参数
  • 特点:由CSR配置或组件更新管理
  • 示例FruId, FruType, FruName, BoardManufacturer, BoardProductName, BoardSerialNumber, BoardPartNumber, ProductSerialNumber, SystemProductName, SystemSerialNumber, StorageType, StorageLoc

📝 配置示例

标准EEPROM存储配置

json
{
  "FruData": {
    "FruId": 1,
    "FruType": null,
    "FruName": null,
    "BoardManufacturer": "",
    "BoardProductName": "",
    "BoardSerialNumber": "",
    "BoardPartNumber": "",
    "ProductSerialNumber": "",
    "SystemProductName": "",
    "SystemSerialNumber": "",
    "FruDev": "#/Eeprom_SDI",
    "EepromWp": "#/Accessor_SDIWP.Value",
    "StorageType": "EepromV2"
  }
}

文件存储配置

json
{
  "FruData": {
    "FruId": 1,
    "FruType": null,
    "FruName": null,
    "BoardManufacturer": "",
    "BoardProductName": "",
    "BoardSerialNumber": "",
    "BoardPartNumber": "",
    "ProductSerialNumber": "",
    "SystemProductName": "",
    "SystemSerialNumber": "",
    "StorageType": "File",
    "StorageLoc": "/data/opt/bmc/conf/BMCCardFru.dat"
  }
}

MCU存储配置

json
{
  "FruData": {
    "FruId": 1,
    "FruType": null,
    "FruName": null,
    "BoardManufacturer": "",
    "BoardProductName": "",
    "BoardSerialNumber": "",
    "BoardPartNumber": "",
    "ProductSerialNumber": "",
    "SystemProductName": "",
    "SystemSerialNumber": "",
    "StorageType": "MCU"
  }
}

TianChi存储配置

json
{
  "FruData": {
    "FruId": 1,
    "FruType": null,
    "FruName": null,
    "BoardManufacturer": "",
    "BoardProductName": "",
    "BoardSerialNumber": "",
    "BoardPartNumber": "",
    "ProductSerialNumber": "",
    "SystemProductName": "",
    "SystemSerialNumber": "",
    "FruDev": "#/Eeprom_TianChi",
    "EepromWp": "#/Accessor_TianChiWP.Value",
    "StorageType": "TIANCHI"
  }
}

🔧 使用指南

配置步骤

  1. 设置FRU ID:配置FruId,通常设置为1即可
  2. 选择存储类型:根据实际硬件选择StorageType
  3. 关联存储设备:对于EEPROM类型,关联FruDev和EepromWp
  4. 配置存储位置:对于File类型,配置StorageLoc文件路径
  5. 数据字段配置:电子标签数据字段由组件自动更新
  6. 验证关联:确保EEPROM和Accessor对象已正确定义

注意事项

  • FruId分配:0只能给挂耳使用,1~63会自动分配,大于63则使用配置值
  • 存储类型选择:根据实际硬件选择合适的StorageType
  • EEPROM关联:标准电子标签需要关联FruDev和EepromWp
  • 文件路径:File类型需要配置正确的StorageLoc路径
  • 写保护:涉及写EEPROM时需要正确配置EepromWp
  • 数据更新:电子标签数据字段由组件自动更新,无需手动配置

性能建议

  • 合理选择存储类型:根据硬件特性选择最适合的存储类型
  • 优化文件访问:File类型存储注意文件访问权限和路径
  • EEPROM保护:合理配置写保护避免数据损坏
  • 数据缓存:合理使用数据缓存提高访问效率

故障排查

  • 电子标签读取失败:检查FruDev关联的EEPROM设备
  • 写入失败:检查EepromWp写保护配置
  • 文件访问异常:检查StorageLoc路径和权限
  • 数据格式错误:检查StorageType配置是否正确
  • FruId冲突:检查FruId配置是否唯一
  • 设备关联错误:检查EEPROM和Accessor对象配置

存储类型说明

  • EepromV2: 标准EEPROM存储,支持标准电子标签格式
  • TIANCHI: TianChi芯片存储,专用存储芯片
  • MCU: MCU存储,通过MCU管理电子标签数据
  • File: 文件存储,将电子标签数据存储在文件中

电子标签管理

  • 数据读取:支持从多种存储介质读取电子标签数据
  • 数据写入:支持向存储介质写入电子标签数据
  • 数据校验:提供电子标签数据的校验机制
  • 数据备份:支持电子标签数据的备份和恢复
  • 接口更新:支持通过接口更新非标电子标签数据

写保护机制

  • 硬件保护:通过EepromWp控制硬件写保护
  • 软件保护:提供软件级别的写保护机制
  • 权限控制:支持基于权限的写入控制
  • 操作日志:记录电子标签的写入操作