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

上海网上做鸭子的网站临沂网站seo

上海网上做鸭子的网站,临沂网站seo,客服电话,游戏网站开发毕业设计目录 概述 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/91564.html

相关文章:

  • 怎样做网站的优化工作软文发布
  • 常州网站建设专业的公司长春网站建设平台
  • 阿里云的网站建设方案百度seo软件优化
  • 网站建设成都公司网站建设找哪家好
  • 微网站怎么做拉新推广平台
  • 免费微商城平台seo优化评论
  • wordpress多站点注册页灰色词优化培训
  • 铜川做网站电话中囯军事网
  • 校园网站建设软件品牌网站建设解决方案
  • 小制作小发明简单做法青岛自动seo
  • 网站域名如何更换成功的软文营销案例
  • 太原网站建设公司招聘网页制作的软件有哪些
  • 福建seo网站数字化营销怎么做
  • 网站开发需要什么基础知识搜索平台
  • 有没有傻瓜式建设网站河北seo人员
  • 免费静态网站托管百度文库首页
  • 个人网页模板网站郑州专业网站建设公司
  • 建一个营销网站的步骤龙华线上推广
  • pdf怎么做电子书下载网站汽车营销策划方案ppt
  • 网站开发需要的资源怎么建立一个自己的网站
  • 关于茶文化网站建设的背景如何搭建自己的网站
  • 网站动态banner怎么做长沙正规seo优化公司
  • net新闻网站开发seo网络营销
  • 优模网优化关键词的公司
  • 网站建设免费书整站seo外包
  • 怎么做外贸网站需注意哪些网站推广怎样做
  • 网站制作建设百度关键词排名爬虫
  • 百度爱采购服务商查询郑州seo排名工具
  • 企业网站的制作用到的技术网络营销渠道可分为哪些
  • 好点的网站建设公司郴州seo