当前位置: 首页 > wzjs >正文

网站信息架构图怎么做做网站网络公司

网站信息架构图怎么做,做网站网络公司,深圳网站界面设计,长沙关键词优化服务目录 概述 1 Image 数据结构 1.1 Image介绍 1.2 Swap info 2 BOOT_SWAP_TYPE_PERM 功能 2.1 功能定义 2.2 典型工作流程 3 BOOT_SWAP_TYPE_xx的其他功能 3.1 BOOT_SWAP_TYPE_REVERT 3.2 三中模式的比较 4 使用机制 4.1 实现细节 4.2 使用场景 4.3 开发者注意事…

目录

概述

1 Image 数据结构

1.1 Image介绍

1.2  Swap info

2 BOOT_SWAP_TYPE_PERM 功能

2.1 功能定义

2.2 典型工作流程

3 BOOT_SWAP_TYPE_xx的其他功能

3.1  BOOT_SWAP_TYPE_REVERT 

3.2 三中模式的比较

4 使用机制

4.1 实现细节

4.2 使用场景

4.3 开发者注意事项


概述

BOOT_SWAP_TYPE_PERM 是 MCUboot 引导加载程序中用于表示永久性固件交换的状态标志,是固件升级流程中的关键机制之一。本文主要介绍该参数以及与之相关参数的功能和使用方法。

1 Image 数据结构

1.1 Image介绍

为了使引导加载程序能够确定当前状态以及在当前引导操作期间应该采取什么操作,它使用存储在映像闪存区域中的元数据。在交换时,其中一些元数据被临时复制到scratch区或从scratch区复制出来。这个元数据位于Inage区域的末尾,称为Image trailer。其具体结构如下:

 0                   1                   2                   30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+~                                                               ~~    Swap status (BOOT_MAX_IMG_SECTORS * min-write-size * 3)    ~~                                                               ~+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                 Encryption key 0 (16 octets) [*]              ||                                                               |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                    0xff padding as needed                     ||  (BOOT_MAX_ALIGN minus 16 octets from Encryption key 0) [*]   |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                 Encryption key 1 (16 octets) [*]              ||                                                               |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                    0xff padding as needed                     ||  (BOOT_MAX_ALIGN minus 16 octets from Encryption key 1) [*]   |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                      Swap size (4 octets)                     |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                    0xff padding as needed                     ||        (BOOT_MAX_ALIGN minus 4 octets from Swap size)         |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|   Swap info   |  0xff padding (BOOT_MAX_ALIGN minus 1 octet)  |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|   Copy done   |  0xff padding (BOOT_MAX_ALIGN minus 1 octet)  |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|   Image OK    |  0xff padding (BOOT_MAX_ALIGN minus 1 octet)  |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                    0xff padding as needed                     ||         (BOOT_MAX_ALIGN minus 16 octets from MAGIC)           |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|                       MAGIC (16 octets)                       ||                                                               |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

1.2  Swap info

交换信息:单个字节,编码以下信息:
交换类型:0 ~ 3位存储。指示正在进行的交换操作的类型。当MCUboot恢复被中断的交换时,它使用这个字段来确定要执行的操作类型。该字段包含下表中下列值之一。


图像号:存储在4-7位。它在单映像引导时总是0值。在多映像引导的情况下,它指示中断发生时交换了哪个映像。在所有图像交换操作期间使用相同的划痕区域。因此使用该字段

NameValue
BOOT_SWAP_TYPE_TEST2
BOOT_SWAP_TYPE_PERM3
BOOT_SWAP_TYPE_REVERT4

BOOT_SWAP_TYPE_PERM 功能

2.1 功能定义

BOOT_SWAP_TYPE_PERM 表示固件镜像已经完成永久性交换,具有以下特点:

  • 永久性确认:新固件已通过测试验证并被确认为稳定版本

  • 不可逆操作:一旦设置为 PERM 状态,通常无法简单回退

  • 启动确定性:系统将始终从新固件启动

2.2 典型工作流程

  1. 初始状态:系统从原固件启动

  2. 测试阶段:BOOT_SWAP_TYPE_TEST 状态测试新固件

  3. 确认升级:测试通过后设置为 BOOT_SWAP_TYPE_PERM

  4. 永久生效:后续启动都使用新固件

BOOT_SWAP_TYPE_xx的其他功能

3.1  BOOT_SWAP_TYPE_REVERT 

BOOT_SWAP_TYPE_REVERT 是 MCUboot 引导加载程序中的一种交换类型状态,表示系统需要回退到之前的固件版本。这是固件升级安全机制的重要组成部分。

1)基本定义

BOOT_SWAP_TYPE_REVERT 表示:

  • 新固件测试失败或不符合运行要求

  • 系统需要自动回退到之前的稳定版本

  • 是一种保护机制,防止设备因不良固件而"变砖"

2) 典型触发场景

  1. 测试固件失败:在 BOOT_SWAP_TYPE_TEST 状态下,新固件运行异常

  2. 确认失败:固件自检或看门狗超时等机制检测到问题

  3. 手动请求:通过特定命令请求回退操作

  4. 安全验证失败:镜像签名或完整性检查未通过

3) 工作流程

  1. 系统从测试固件(TEST状态)启动

  2. 检测到需要回退的条件(如启动失败、运行异常等)

  3. 将交换类型标记为 REVERT

  4. 下次启动时,bootloader 执行回退操作

  5. 恢复使用之前的稳定固件

3.2 三中模式的比较

特性REVERTTESTPERM
目的回退到旧固件测试新固件永久使用新固件
持久性临时操作临时状态永久状态
触发条件测试失败/系统异常新固件写入测试成功确认
后续启动使用原固件可能转为PERM或REVERT始终使用新固件

4 使用机制

4.1 实现细节

在 MCUboot 中,BOOT_SWAP_TYPE_PERM 的实现涉及:

  1. 镜像槽管理:通常用于 A/B 双分区系统

  2. 状态标志:存储在 flash 的固定区域

  3. 升级确认:通过特定命令或条件触发

  4. 安全验证:升级前会验证镜像签名和完整性 

4.2 使用场景

  1. 正式固件发布后的永久升级

  2. 通过测试验证后的固件固化

  3. 需要确保设备始终使用新固件的场景

4.3 开发者注意事项

  1. 设置 PERM 状态前必须确保固件稳定

  2. 通常需要先经过 TEST 状态的验证

  3. 某些实现可能提供紧急恢复机制

  4. 需要考虑电源故障等异常情况

 

http://www.dtcms.com/wzjs/562665.html

相关文章:

  • 怎么用dw做博客网站网站设计谈判
  • 广州工作室做网站营销网站模版
  • 宁波网站建设应届生国外做图片识别训练的网站
  • 网站建设哪家更专业wordpress googlevis 嵌入
  • 销售类电商网站如何做优化wordpress 更改数据库密码
  • 制作网站开发多少钱郑州百姓网征婚交友
  • 昌乐网站建设网站建设哪个平台好
  • 工信部网站 验证码营销型网站建设哪家公司好
  • 长宁广州网站建设哔哩哔哩网页版在线观看
  • 东莞网站建设 食品厂龙之向导官网
  • 外贸网站建设优化营销淘宝网页版登录电脑版
  • 临沂网站建设多少钱网站搭建 成都
  • 设计网站价格表一个网站怎么做pc和移动端
  • 我想自己建立一个网站同城58招聘信息
  • 中学生做网站建一个网上商城需要多少钱
  • 网站商务通js代码采购平台app
  • 重庆综合网站建设配件自己做购物网站
  • 做旅游攻略的网站好网站备案是一年一次吗
  • 做外贸仿牌网站成都网站建设-中国互联
  • 汕头网站搭建多少钱上海人才服务网
  • 产品网站更新内容百度一下首页百度
  • 建设公司网站的意义微信公众号营销
  • 计科专业毕设做网站哪个省份网站建设便宜
  • 邓亚萍20亿做网站外贸网站建站要多少钱
  • 学校信息门户网站建设关注公众号一单一结兼职
  • 好的网站具备中小企业网站建设行情
  • 网站地图怎样做响应式网站建设服务
  • 天津网站建设公司推荐h5制作步骤
  • 建筑网站设计方案什么样的笔记本电脑适合网站开发
  • 自己买服务器建设网站建筑信用信息查询平台