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

📋 文档信息

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

📋 变更历史记录

文档变更记录

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

🎯 类概览

MCUFirmware 类

属性
类名称MCUFirmware
功能描述MCU固件管理对象,提供MCU固件的版本管理、升级控制和状态监控功能
所属SIG组firmware
所属组件MCU固件管理
责任人固件管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
UIDString-String-单板UID
vendor(00000001)+单板类型(02)+单板编码(0302031825)
BMC接口展示"00000001040302052854"硬件提供硬件
RefChipU8[]-U8[]Chip_MCU1升级关联的Chip
对于使用SMBus协议升级的MCU,需要关联Chip_MCU对象
对于使用SMC协议升级的MCU,需要关联SMC对象
MCU升级"#/Chip_MCU1"硬件提供硬件
AddressU32-U32-MCU升级chip地址MCU升级200硬件提供硬件
SoftwareIdString-String-编码信息BMC接口展示"MCU-IT51PRUA"CSR配置软件
BoardTypeString-String-单板类型BMC接口展示"IEU"CSR配置软件
ProtocolString-String-升级使用的协议(SMC或默认:SMBus)MCU升级"SMC"CSR配置软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
LockChipU8[]-U8[]Chip_MCU1并行升级会使用,调用总线锁MCU并行升级"#/Chip_MCU1"硬件提供硬件

🔗 动态关联机制

语法规范

使用标准配置语法:

yaml
# 基础固件信息
Id: 1
Version: "1.0.0"
ReleaseDate: "2023-12-01"

# 固件详细信息
Manufacturer: "Huawei"
Description: "MCU控制固件"
Size: 65536
Checksum: "A1B2C3D4"

# 升级状态管理
UpgradeStatus: 0
UpgradeProgress: 0
LastUpgradeTime: "2024-01-15 10:30:00"

# 功能和兼容性
SupportedFeatures: "温控,风扇控制,传感器"
MinCompatibleVersion: "0.9.0"
MaxCompatibleVersion: "1.2.0"

# 状态监控
HealthStatus: 0
PowerStatus: 1
OperatingMode: 0

关联说明

  • 固件标识: UID唯一标识MCU固件和单板
  • 芯片关联: RefChip关联到对应的Chip或SMC对象
  • 升级控制: Address、Protocol控制MCU升级过程
  • 接口展示: SoftwareId、BoardType用于BMC接口展示
  • 并行升级: LockChip支持并行升级的总线锁机制

📂 分类标准

硬件属性

  • 定义:与MCU固件硬件标识和升级相关的参数
  • 特点:固件的唯一标识、芯片关联和升级地址
  • 示例UID, RefChip, Address, LockChip

软件属性

  • 定义:由软件管理和维护的固件参数
  • 特点:编码信息、单板类型和升级协议
  • 示例SoftwareId, BoardType, Protocol

📝 配置示例

基础MCU固件配置

json
{
  "MCUFirmware_IEU": {
    "UID": "00000001040302052854",
    "RefChip": "#/Chip_MCU1",
    "Address": 200,
    "SoftwareId": "MCU-IT51PRUA",
    "BoardType": "IEU",
    "Protocol": "SMC"
  }
}

带并行升级的MCU固件配置

json
{
  "MCUFirmware_IEU_Parallel": {
    "UID": "00000001040302052854",
    "RefChip": "#/Chip_MCU1",
    "LockChip": "#/Chip_MCU1",
    "Address": 200,
    "SoftwareId": "MCU-IT51PRUA",
    "BoardType": "IEU",
    "Protocol": "SMC"
  }
}

SMBus协议MCU固件配置

json
{
  "MCUFirmware_SMBus": {
    "UID": "00000001040302052855",
    "RefChip": "#/Chip_MCU2",
    "Address": 160,
    "SoftwareId": "MCU-IT51PRUB",
    "BoardType": "BCU",
    "Protocol": "SMBus"
  }
}

多单板MCU固件配置

json
{
  "MCUFirmware_PSU": {
    "UID": "00000001040302052856",
    "RefChip": "#/SMC_PSU",
    "LockChip": "#/SMC_PSU",
    "Address": 128,
    "SoftwareId": "MCU-IT51PRUC",
    "BoardType": "PSU",
    "Protocol": "SMC"
  }
}

🔧 使用指南

配置步骤

  1. 基础信息配置:设置UID、SoftwareId、BoardType等基本信息
  2. 芯片关联配置:配置RefChip指向对应的Chip或SMC对象
  3. 升级参数配置:设置Address、Protocol等升级相关参数
  4. 并行升级配置:如需并行升级,配置LockChip实现总线锁
  5. 协议选择配置:根据实际硬件选择SMC或SMBus协议

UID编码规范

  • Vendor ID: 固定为00000001(华为)
  • 单板类型: 2位十六进制,如02表示IEU、04表示BCU
  • 单板编码: 10位十六进制,唯一标识单板
  • 完整格式: vendor(8位) + 单板类型(2位) + 单板编码(10位)

协议选择说明

  • SMC协议: 使用SMC对象进行通信,需要RefChip指向SMC对象
  • SMBus协议: 使用SMBus进行通信,需要RefChip指向Chip_MCU对象
  • 默认协议: 未指定时默认使用SMBus协议

单板类型说明

  • IEU: 接口扩展单元
  • BCU: 基础计算单元
  • PSU: 电源供应单元
  • FAN: 风扇控制单元

注意事项

  • UID唯一性: 确保每个MCU固件的UID唯一
  • 芯片关联: RefChip必须指向有效的Chip或SMC对象
  • 协议匹配: Protocol配置必须与RefChip对象类型匹配
  • 地址配置: Address必须与实际硬件地址一致

故障排除

  1. 升级失败

    • 检查RefChip是否正确关联到Chip或SMC对象
    • 验证UID格式是否正确
    • 确认Address配置是否正确
    • 检查Protocol是否与硬件匹配
  2. 芯片关联异常

    • 确认RefChip指向的对象是否存在
    • 检查Chip或SMC对象配置是否正确
    • 验证总线连接是否正常
  3. 并行升级问题

    • 检查LockChip配置是否正确
    • 确认总线锁机制是否正常工作
    • 验证并行升级的时序控制

性能优化

  • 并行升级: 合理配置LockChip实现高效并行升级
  • 协议选择: 根据硬件特性选择合适的升级协议
  • 地址优化: 优化Address配置,提高通信效率

📚 相关文档