CSR配置字典之MCUFirmware类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | MCUFirmware类配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-01-27 | 初始版本 | 创建MCUFirmware类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
MCUFirmware 类
属性 | 值 |
---|---|
类名称 | MCUFirmware |
功能描述 | MCU固件管理对象,提供MCU固件的版本管理、升级控制和状态监控功能 |
所属SIG组 | firmware |
所属组件 | MCU固件管理 |
责任人 | 固件管理组 |
最后更新 | 2025-01-27 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
UID | String | - | String | - | 单板UID vendor(00000001)+单板类型(02)+单板编码(0302031825) | BMC接口展示 | "00000001040302052854" | 硬件提供 | 硬件 |
RefChip | U8[] | - | U8[] | Chip_MCU1 | 升级关联的Chip 对于使用SMBus协议升级的MCU,需要关联Chip_MCU对象 对于使用SMC协议升级的MCU,需要关联SMC对象 | MCU升级 | "#/Chip_MCU1" | 硬件提供 | 硬件 |
Address | U32 | - | U32 | - | MCU升级chip地址 | MCU升级 | 200 | 硬件提供 | 硬件 |
SoftwareId | String | - | String | - | 编码信息 | BMC接口展示 | "MCU-IT51PRUA" | CSR配置 | 软件 |
BoardType | String | - | String | - | 单板类型 | BMC接口展示 | "IEU" | CSR配置 | 软件 |
Protocol | String | - | String | - | 升级使用的协议(SMC或默认:SMBus) | MCU升级 | "SMC" | CSR配置 | 软件 |
可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
LockChip | U8[] | - | 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"
}
}
🔧 使用指南
配置步骤
- 基础信息配置:设置UID、SoftwareId、BoardType等基本信息
- 芯片关联配置:配置RefChip指向对应的Chip或SMC对象
- 升级参数配置:设置Address、Protocol等升级相关参数
- 并行升级配置:如需并行升级,配置LockChip实现总线锁
- 协议选择配置:根据实际硬件选择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必须与实际硬件地址一致
故障排除
升级失败:
- 检查RefChip是否正确关联到Chip或SMC对象
- 验证UID格式是否正确
- 确认Address配置是否正确
- 检查Protocol是否与硬件匹配
芯片关联异常:
- 确认RefChip指向的对象是否存在
- 检查Chip或SMC对象配置是否正确
- 验证总线连接是否正常
并行升级问题:
- 检查LockChip配置是否正确
- 确认总线锁机制是否正常工作
- 验证并行升级的时序控制
性能优化
- 并行升级: 合理配置LockChip实现高效并行升级
- 协议选择: 根据硬件特性选择合适的升级协议
- 地址优化: 优化Address配置,提高通信效率