【待评审】新增固件生效CSR对象以及升级所用错误码CSR对象

背景

当前固件管理新增固件升级或生效类型、错误类型等均需要修改闭源组件firmware_mgmt的代码,作为升级框架扩展性差。

当前现状以及差距

现状和差距

当前允许生效的固件类型是维护在firmware_mgmt代码内,需要增加固件生效对象需要修改闭源组件firmware_mgmt代码
当前升级失败时,显示错误需要下层升级组件返回错误码至firmware_mgmt再由 firmware_mgmt根据错误码转换成错误引擎并更新至task任务内,增加错误码必须通过修改firmware_mgmt代码

整体方案

新增固件生效CSR对象,用于判断固件管理允许生效的固件类型
新增升级错误类型CSR对象,用于固件管理将错误码转换成对应错误引擎

评审点

评审点1 新增固件生效对象ActiveComponentInfo

示例:

"ActiveComponentInfo_VRD": {
            "Name": "VRD",
            "ComponentInitTime": 600
        }

详细描述

  • 变化类型:新增CSR对象和CSR属性
  • 应用场景:用于判断固件管理允许生效的固件类型
  • 所属组件:firmware_mgmt
  • 详细描述:
属性名称 属性类型 说明 约束
Name String 固件名 主键
固件名需要和下层接收生效信号的固件名称相符
ComponentInitTime Integer 固件生效初始化时间,到达准备时间后才触发生效 默认值:0

评审点2 新增升级错误类型对象UpgradeErrorCode

示例:

"UpgradeErrorCode_1": {
            "Code": 35,
            "MessageId": "FirmwareRevoked"
        }

详细描述

  • 变化类型:新增CSR对象和CSR属性
  • 应用场景:用于固件管理将错误码转换成对应错误引擎
  • 所属组件:firmware_mgmt
  • 详细描述:
属性名称 属性类型 说明 约束
Code Integer 下层升级组件之间传给固件管理的错误码 唯一
MessageId String 错误引擎对应的MessageId 无其他约束

评审结论