CSR配置字典之SRUpgrade类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | SRUpgrade类配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-01-27 | 初始版本 | 创建SRUpgrade类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
SRUpgrade 类
属性 | 值 |
---|---|
类名称 | SRUpgrade |
功能描述 | CSR升级对象,提供系统固件升级和版本管理功能,支持并行升级和写保护控制 |
所属SIG组 | system |
所属组件 | 固件升级 |
责任人 | 固件升级组 |
最后更新 | 2025-01-27 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
UID | String | - | String | - | 固件UID vendor(00000001)+单板类型(02)+单板编码(0302031825) | BMC接口展示 | "00000001040302052854" | CSR配置 | 硬件 |
Type | String | - | String | - | 单板类型 | BMC接口展示 | "IEU" | 单板类型配置 | 硬件 |
Version | String | - | String | - | CSR版本 | BMC接口展示 | "${DataVersion}" | SR版本 | 软件 |
StorageChip | U8[] | - | U8[] | Eeprom_IEU | CSR升级对应Eeprom芯片 | CSR升级 | "#/Eeprom_IEU" | 存储chip | 硬件 |
SoftwareId | String | - | String | - | 编码信息,固件类型+单板名称 | BMC接口展示 | "HWSR-IT51PRUA" | CSR配置 | 软件 |
可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
StorageLockChip | U8[] | - | U8[] | Eeprom_IEU | 升级开关eep会使用,调用总线锁 | CSR并行升级 | "#/Eeprom_IEU" | 开关eep写保护关联chip | 硬件 |
WriteProtect | U8 | - | U8 | Accessor_IEUWP | 开关eep写保护 | CSR升级 | "#/Accessor_IEUWP.Value" | 开关eep写保护关联chip,smc用 | 硬件 |
WriteProtectChip | U8[] | - | U8[] | Chip_MCU | 开关eep写保护 | CSR升级 | "#/Chip_MCU" | 开关eep写保护关联chip,smbus用 | 硬件 |
WriteProtectLockChip | U8[] | - | U8[] | - | 预埋属性,并行升级开关eep写保护会使用,调用总线锁 | CSR并行升级 | - | 开关eep写保护关联chip | 硬件 |
🔗 动态关联机制
语法规范
使用动态关联语法连接相关组件:
yaml
# 基础升级配置
UID: "00000001040302052854"
Type: "IEU"
Version: "${DataVersion}"
SoftwareId: "HWSR-IT51PRUA"
# 存储芯片关联
StorageChip: "#/Eeprom_IEU"
StorageLockChip: "#/Eeprom_IEU"
# 写保护控制
WriteProtect: "#/Accessor_IEUWP.Value"
WriteProtectChip: "#/Chip_MCU"
WriteProtectLockChip: "#/Chip_MCU"
关联说明
- 存储芯片关联: StorageChip和StorageLockChip关联到Eeprom对象
- 写保护控制: WriteProtect、WriteProtectChip控制升级过程的写保护
- 版本管理: Version使用动态变量$
- 并行升级: StorageLockChip和WriteProtectLockChip支持并行升级的总线锁
📂 分类标准
硬件属性
- 定义:与硬件标识和存储芯片直接相关的参数
- 特点:固件的唯一标识、单板类型和存储芯片关联
- 示例:
UID
,Type
,StorageChip
,StorageLockChip
,WriteProtect
,WriteProtectChip
,WriteProtectLockChip
软件属性
- 定义:由软件管理和维护的升级参数
- 特点:版本信息、编码信息和升级控制
- 示例:
Version
,SoftwareId
📝 配置示例
基础CSR升级配置
json
{
"SRUpgrade_IEU": {
"UID": "00000001040302052854",
"Type": "IEU",
"Version": "${DataVersion}",
"StorageChip": "#/Eeprom_IEU",
"SoftwareId": "HWSR-IT51PRUA"
}
}
完整CSR升级配置(含写保护)
json
{
"SRUpgrade_IEU_Full": {
"UID": "00000001040302052854",
"Type": "IEU",
"Version": "${DataVersion}",
"StorageChip": "#/Eeprom_IEU",
"StorageLockChip": "#/Eeprom_IEU",
"SoftwareId": "HWSR-IT51PRUA",
"WriteProtect": "#/Accessor_IEUWP.Value",
"WriteProtectChip": "#/Chip_MCU"
}
}
并行升级配置
json
{
"SRUpgrade_Parallel": {
"UID": "00000001040302052855",
"Type": "BCU",
"Version": "${DataVersion}",
"StorageChip": "#/Eeprom_BCU",
"StorageLockChip": "#/Eeprom_BCU",
"SoftwareId": "HWSR-IT51PRUB",
"WriteProtect": "#/Accessor_BCUWP.Value",
"WriteProtectChip": "#/Chip_BCU_MCU",
"WriteProtectLockChip": "#/Chip_BCU_MCU"
}
}
多单板升级配置
json
{
"SRUpgrade_Multi": {
"UID": "00000001040302052856",
"Type": "PSU",
"Version": "${DataVersion}",
"StorageChip": "#/Eeprom_PSU",
"StorageLockChip": "#/Eeprom_PSU",
"SoftwareId": "HWSR-IT51PRUC",
"WriteProtect": "#/Accessor_PSUWP.Value",
"WriteProtectChip": "#/Chip_PSU_MCU"
}
}
🔧 使用指南
配置步骤
- 基础信息配置:设置UID、Type、Version、SoftwareId等基本信息
- 存储芯片配置:配置StorageChip指向对应的Eeprom对象
- 写保护配置:设置WriteProtect和WriteProtectChip控制升级过程
- 并行升级配置:如需并行升级,配置StorageLockChip和WriteProtectLockChip
- 版本管理配置:使用动态变量${DataVersion}管理版本信息
UID编码规范
- Vendor ID: 固定为00000001(华为)
- 单板类型: 2位十六进制,如02表示IEU、04表示BCU
- 单板编码: 10位十六进制,唯一标识单板
- 完整格式: vendor(8位) + 单板类型(2位) + 单板编码(10位)
单板类型说明
- IEU: 接口扩展单元
- BCU: 基础计算单元
- PSU: 电源供应单元
- FAN: 风扇控制单元
写保护机制
- SMC协议: 使用WriteProtect和Accessor对象控制
- SMBus协议: 使用WriteProtectChip和Chip对象控制
- 并行升级: 使用LockChip实现总线锁机制
注意事项
- UID唯一性: 确保每个升级对象的UID唯一
- 芯片关联: StorageChip必须指向有效的Eeprom对象
- 版本同步: Version使用${DataVersion}保持版本同步
- 写保护配置: 根据协议类型选择合适的写保护方式
故障排除
升级失败:
- 检查StorageChip是否正确关联到Eeprom对象
- 验证UID格式是否正确
- 确认WriteProtect配置是否正确
- 检查Version变量是否正确解析
写保护异常:
- 确认WriteProtect和WriteProtectChip配置匹配
- 检查Accessor或Chip对象是否存在
- 验证写保护状态是否正确
并行升级问题:
- 检查StorageLockChip和WriteProtectLockChip配置
- 确认总线锁机制是否正常工作
- 验证并行升级的时序控制
性能优化
- 并行升级: 合理配置LockChip实现高效并行升级
- 写保护优化: 选择合适的写保护方式,减少升级时间
- 版本管理: 使用动态变量统一管理版本信息