CSR配置字典之NPUFirmware类
更新时间: 2026/06/22
在Gitcode上查看源码📋 文档信息
| 项目 | 内容 |
|---|---|
| 文档标题 | NPUFirmware类配置字典 |
| 版本 | v1.0 |
| 创建日期 | 2026-06-22 |
| 最后更新 | 2026-06-22 |
| 维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
| 版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
|---|---|---|---|---|---|
| v1.0 | 2026-06-22 | 初始版本 | 创建NPUFirmware类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
NPUFirmware 类
| 属性 | 值 |
|---|---|
| 类名称 | NPUFirmware |
| 功能描述 | NPU固件配置对象 |
| 所属SIG组 | system |
| 所属组件 | NPU固件管理 |
| 权限 | ConfigureSelf |
| 责任人 | 系统架构组 |
| 最后更新 | 2026-06-22 |
| 状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
RefChip | U8[] | 无 | - | refInterface: bmc.kepler.Chip.BlockIO | 引用的芯片 | NPU固件升级引用目标芯片 | [1, 2] | CSR配置 | 软件 |
LockChip | U8[] | 无 | - | refInterface: bmc.kepler.Chip | 锁定芯片 | NPU固件升级锁定目标芯片 | [1] | CSR配置 | 软件 |
Address | U32 | 无 | - | - | 地址 | NPU固件访问地址 | 0x1000 | CSR配置 | 软件 |
Slot | U8 | 无 | - | - | 槽位 | NPU固件所在槽位 | 1 | CSR配置 | 软件 |
BusType | U8 | 0 | - | - | 总线类型 | NPU固件通信总线类型 | 0 | CSR配置 | 软件 |
可选属性
无
🔗 动态关联机制
语法规范
使用 #/xxx 和 <=/xxx 格式实现属性间的动态关联:
yaml
# RefChip关联
RefChip: refInterface "bmc.kepler.Chip.BlockIO" # 引用Chip的BlockIO接口
# LockChip关联
LockChip: refInterface "bmc.kepler.Chip" # 引用Chip接口进行锁定关联说明
- RefChip关联: 通过refInterface引用bmc.kepler.Chip.BlockIO接口,用于固件升级时访问芯片的BlockIO通道
- LockChip关联: 通过refInterface引用bmc.kepler.Chip接口,用于固件升级时锁定目标芯片防止并发操作
- 数组引用: RefChip和LockChip均为U8数组类型,支持同时引用多个芯片
📂 分类标准
软件属性
- 定义:用于软件层面的NPU固件管理和配置
- 特点:包含芯片引用、地址配置、总线类型等功能
- 示例:
RefChip,LockChip,Address,Slot,BusType
📝 配置示例
标准单NPU固件配置
json
{
"NPUFirmware": {
"RefChip": [1],
"LockChip": [1],
"Address": 4096,
"Slot": 1,
"BusType": 0
}
}多芯片固件升级配置
json
{
"NPUFirmware_MultiChip": {
"RefChip": [1, 2],
"LockChip": [1, 2],
"Address": 4096,
"Slot": 1,
"BusType": 0
}
}不同总线类型配置
json
{
"NPUFirmware_I2C": {
"RefChip": [1],
"LockChip": [1],
"Address": 4096,
"Slot": 2,
"BusType": 1
}
}🔧 使用指南
配置步骤
- 设置芯片引用:配置RefChip,指定固件升级目标芯片的BlockIO接口
- 设置锁定芯片:配置LockChip,指定固件升级时需要锁定的芯片
- 设置访问地址:配置Address,指定NPU固件的访问地址
- 设置槽位:配置Slot,指定NPU固件所在槽位
- 设置总线类型:配置BusType,默认值为0
注意事项
- 芯片引用一致性:RefChip和LockChip的芯片引用应保持逻辑一致性
- 地址配置:Address为U32类型,确保地址值在有效范围内
- 总线类型:BusType默认值为0,表示默认总线类型
- 并发控制:固件升级期间通过LockChip锁定芯片,防止并发操作
性能建议
- 芯片引用优化:合理设置RefChip和LockChip数组,避免不必要的芯片锁定
- 总线类型选择:根据实际硬件架构选择合适的BusType
引用接口说明
- bmc.kepler.Chip.BlockIO: 用于固件升级时通过BlockIO通道访问芯片
- bmc.kepler.Chip: 用于固件升级时锁定芯片,防止并发操作
常见问题
- Q: RefChip和LockChip的区别是什么?
- A: RefChip引用Chip的BlockIO接口用于固件数据传输,LockChip引用Chip接口用于升级期间锁定芯片
- Q: BusType默认值为0代表什么?
- A: BusType默认值为0表示默认总线类型,具体含义由组件实现定义
- Q: RefChip为什么是数组类型?
- A: 支持同时引用多个芯片,便于批量固件升级场景