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

📋 文档信息

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

📋 变更历史记录

文档变更记录

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

🎯 类概览

FirmwareComponentInfo 类

属性
类名称FirmwareComponentInfo
功能描述固件组件信息对象,提供固件的标识、版本管理和升级控制功能,支持防回退机制
所属SIG组firmware
所属组件固件管理
责任人固件管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
ComponentIDU32-U32-用于区分固件的组件ID固件升级24CSR配置软件
ComponentIDExU324294967295U32-固件的扩展组件ID
ComponentID、ComponentIDEx可以唯一识别固件
在《IBMC IPMI接口说明》的"附录-固件ID管理-表1 固件升级ID分配表"中定义
新增固件的ComponentID、ComponentIDEx应当不与其他固件冲突
固件升级6CSR配置软件
NameString-String-固件名称固件升级"BP_Cpld"CSR配置软件
RevisionNumberU8-U8-软件的防回退功能
用于限制升级固件的最低版本
当一个固件包的Revision小于RevisionNumber时,就不允许升级
0代表无防回退
固件升级0CSR配置软件

可选属性

无可选属性


🔗 动态关联机制

语法规范

使用标准配置语法:

yaml
# 固件组件信息配置
ComponentID: 24
ComponentIDEx: 6
Name: "BP_Cpld"
RevisionNumber: 0

关联说明

  • 固件标识: ComponentID和ComponentIDEx组合唯一标识固件
  • 版本控制: RevisionNumber控制固件的防回退功能
  • 升级管理: 用于固件升级过程中的版本验证和控制

📂 分类标准

硬件属性

  • 定义:当前版本无硬件属性
  • 特点:所有属性都是软件管理相关
  • 示例:无

软件属性

  • 定义:由软件管理和维护的固件信息参数
  • 特点:固件标识、版本控制、升级管理
  • 示例ComponentID, ComponentIDEx, Name, RevisionNumber

📝 配置示例

基础固件组件配置

json
{
  "FirmwareComponentInfo_BPCpld": {
    "ComponentID": 24,
    "ComponentIDEx": 6,
    "Name": "BP_Cpld",
    "RevisionNumber": 0
  }
}

MCU固件组件配置

json
{
  "FirmwareComponentInfo_MCU": {
    "ComponentID": 25,
    "ComponentIDEx": 7,
    "Name": "MCU_Firmware",
    "RevisionNumber": 1
  }
}

BIOS固件组件配置

json
{
  "FirmwareComponentInfo_BIOS": {
    "ComponentID": 1,
    "ComponentIDEx": 1,
    "Name": "BIOS",
    "RevisionNumber": 2
  }
}

BMC固件组件配置

json
{
  "FirmwareComponentInfo_BMC": {
    "ComponentID": 2,
    "ComponentIDEx": 2,
    "Name": "BMC",
    "RevisionNumber": 3
  }
}

🔧 使用指南

配置步骤

  1. 组件ID配置:设置ComponentID和ComponentIDEx,确保唯一性
  2. 名称配置:设置Name为固件的描述性名称
  3. 版本控制配置:设置RevisionNumber控制防回退功能
  4. ID分配表检查:确认ID在《IBMC IPMI接口说明》中正确定义

组件ID管理

  • 唯一性要求:ComponentID和ComponentIDEx的组合必须唯一
  • ID分配表:参考《IBMC IPMI接口说明》的"附录-固件ID管理-表1 固件升级ID分配表"
  • 冲突检查:新增固件时必须检查ID是否与现有固件冲突

防回退机制

  • RevisionNumber = 0:无防回退限制,允许升级到任意版本
  • RevisionNumber > 0:有防回退限制,只允许升级到Revision >= RevisionNumber的版本
  • 升级检查:升级前会检查固件包的Revision是否满足要求

固件类型说明

  • CPLD固件:如BP_Cpld,背板CPLD固件
  • MCU固件:微控制器固件
  • BIOS固件:基本输入输出系统固件
  • BMC固件:基板管理控制器固件

注意事项

  • ID唯一性:确保ComponentID和ComponentIDEx组合在系统中唯一
  • 名称规范:使用描述性的固件名称,便于识别和管理
  • 版本控制:合理设置RevisionNumber,平衡安全性和灵活性
  • 文档同步:新增固件时及时更新ID分配表文档

故障排除

  1. 升级失败

    • 检查ComponentID和ComponentIDEx是否正确
    • 确认固件包的Revision是否满足RevisionNumber要求
    • 验证固件名称是否匹配
  2. ID冲突

    • 检查ComponentID和ComponentIDEx组合是否唯一
    • 查看ID分配表确认是否有冲突
    • 重新分配未使用的ID组合
  3. 防回退异常

    • 确认RevisionNumber设置是否合理
    • 检查固件包的Revision值是否正确
    • 验证防回退逻辑是否正常工作

性能优化

  • ID查找:优化ComponentID和ComponentIDEx的查找算法
  • 版本检查:优化RevisionNumber的比较逻辑
  • 缓存机制:合理缓存固件组件信息,减少重复查询

📚 相关文档