背景
需要支持krun固件的升级功能。
关联ISSUE
issue:支持krun固件管理
整体方案
1、新增私有对象KrunFirmware,属性包含:Id、UId、Name、RefChip、FlashChip、Version、RelatedSystems
2、新增Krun固件的ComponentType
评审点
1、是否新增私有对象KrunFirmware
2、是否新增Krun固件的ComponentType
详细描述
1、新增私有对象KrunFirmware
示例:
"KrunFirmware_1": {
"UId": "00000001020302044488",
"Name": "Krun",
"RefChip": "#/SPIFlash_1",
"FlashChip": "#/SPIFlash_1",
"RelatedSystems": [1, 2]
},
变化类型:新增私有对象
应用场景:用于保存krun固件的升级及版本号显示
持久化类型: 掉电持久化
操作权限:ReadOnly
详细描述:
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| Id | 新增属性 | y | 只读 R:ReadOnly | 掉电持久化 | false | krun固件id | 用作持久化主键 |
| UId | 新增属性 | s | 只读 R:ReadOnly | 不持久化 | false | krun固件Uid | Krun固件对应的uid |
| Name | 新增属性 | s | 只读 R:ReadOnly | 不持久化 | false | krun固件名称 | NA |
| RefChip | 新增属性 | ay | 只读 R:ReadOnly | 不持久化 | false | 升级Krun固件的Chip(包含读写方法) | NA |
| FlashChip | 新增属性 | ay | 只读 R:ReadOnly | 不持久化 | false | 升级Krun固件的Chip(包含擦除方法) | NA |
| Version | 新增属性 | s | 只读 R:ReadOnly | 掉电持久化 | false | krun固件版本号 | NA |
| RelatedSystems | 新增属性 | ay | 只读 R:ReadOnly | 不持久化 | false | krun固件关联的系统 | 一个Krun可能对应多个System |
评审结论
1、同意在bios组件新增私有对象KrunFirmware(具体结构见详细描述)
2、不同意新增ComponentType
新增ComponentType会新增涉及一些不必要的功能(告警、fru等),当前没有新增的必要
遗留问题
1、新增ComponentType需要对齐
经讨论决定不新增ComponentType
2、需要新增两个Chip对象,一个用于读写,一个用于擦除