概述

本文结合当前主流主机厂的升级规范来介绍不用MCU升级方案及其优缺点,除了本文提及的方案外还有很多其他的升级方案,升级方案的设定要考虑到客户需求以及硬件资源等因素。

目前主流的客户需求,要求存储区划分要有Boot段、Config段、App A分区和App B分区。其中Boot端需要满足客户的Bootloader升级要求,Config端用于存储Boot和App版本以及一些刷写后需要保存的一些系统状态和flags。App A/B分区主要用于升级切换、回滚等操作。

不同设计方案及其优缺点

利用芯片 A/B Swap方案

芯片 A/B Swap介绍

比如英飞凌TC397就提供A/B Swap机制,通过对硬件的操作完成相关分区的切换。当我们使能Swap功能后,通过寄存器的切换,不改变写入pflash时的地址,但能够使读取pflash时的地址做相应的变动。

利用芯片A/B Swap的升级方案

首先将MCU分为A/B分区,用来支持升级回滚,最大限度地保留系统功能。

其次由于客户规范对升级流程做了严格的规定,因此每个分区必须保留Boot部分。

因此整个存储区划分结构如下:

优点:

  • 由于A/B分区是硬件分区,切换的时候程序读取地址不变,因此A、B分区只需要编译出一份hex代码用于升级,不

MCU端 Boot+App设计方案相关推荐

  1. 机智云OTA过程MCU端程序设计学习(二)

    这篇我们主要是学习下app部分固件的设计逻辑. 1. 初始化过程中开辟一个环形缓冲区,设置串口为中断接收,重写串口中断回调函数,也就是每次接收一个字节的数据就往环形缓冲区里丢一个数据. void gi ...

  2. 机智云OTA过程MCU端程序设计学习(一)

    1.写在前面: 一般利用云端更新MCU端固件的机制是:云端通过一个能联网的模块(例如wifi,4G等)将固件信息传输到MCU端.整个过程也就是 云端(TCP)-->模块(串口)-->MCU ...

  3. 推荐一款移动端日历App吉日历

    推荐一款移动端日历App吉日历 一 应用描述 万年历.日历.农历.黄历.假期安排.天气预报.记事提醒便捷查看,一目了然! 二 功能介绍: 1.万年历:精美的日期展示,完整的节日日历随意查看,节假日.休 ...

  4. 一个基于 React 开发的PC端音乐App

    ?一个基于 React 开发的PC端音乐App. 同时支持 Mac 与 Windows 系统.下载地址 项目使用 electron 作为外壳,webpack 作为打包工具,核心技术包括 React + ...

  5. Axure高保真移动端电商app通用模板、axure高保真移动端教育app通用模板、旅游app通用模板、电商app、教育app、旅游app 、直播、在线教育、旅游、Axure原型、rp原型

    Axure高保真移动端电商app通用模板.axure高保真移动端教育app通用模板.旅游app通用模板.电商app.教育app.旅游app .直播.在线教育.旅游.Axure原型.rp原型 Axure ...

  6. SCRM电商会员管理系统+导购端+商城app+小程序电商+移动端商城+电商web端后台管理+商城前后端系统+移动端商家端+电商app+购物车+订单+商城系统+电商看板+电商后台+优惠券+积分+会员

    作品介绍:SCRM电商会员管理系统+导购端+商城app/小程序 高保真SAAS实战web+移动端原型设计+电商web端后台管理+商城前后端系统+移动端商家端/用户端+电商用户数据大屏看板+订单管理+营 ...

  7. Web端和App端测试区别

    Web和App测试区别 测试知识与君共享 1.功能测试角度: 从功能的角度,Web端和APP端测试流程基本一致 2.用例编写角度: 从编写用例方法角度采用等价类,边界值,场景法,错误推测法,流程法,编 ...

  8. react native Android端保持APP后台运行--封装 Headless JS

    react native Android端保持APP后台运行--封装 Headless JS 前些日子在做后台下载时踩了后台运行这个大坑,RN官网文档上面在安卓上提供了Headless JS方法,iO ...

  9. 移动端小说APP体验报告

    移动端小说APP体验报告 优点: 1.可以在书库中找到很多和好看的小说,不知道看什么的时候可以进入书库参考 2.点击我的可以找到我的阅读记录,还可以给阅读记录排序,找到想要二刷的小说 3.书架显示了自 ...

最新文章

  1. mysql 配置文件绑定ip_(三)设置mysql允许外部IP连接的解决方法及遇到的坑说明...
  2. 数据库SQL Server
  3. 2264: sequence(KMP)
  4. Java Math的 floor,round和ceil的总结 ,java基础知识
  5. js,html条码生成
  6. Java 并发实践 — ConcurrentHashMap 与 CAS
  7. passport身份验证_了解如何使用Passport.js处理Node身份验证
  8. 2021高考成绩怎么查询时间北京,2021年北京高考成绩几号公布可以查询,查询时间安排...
  9. 关于TikTok的变现思考和三种玩法
  10. html中如何写平方根等,平方根一定是整数吗
  11. 电大计算机阅读英语作文,2018年电大作业管理英语4形成性考核册英文写作参考答案英语作文...
  12. Python 五角星的画法 five star
  13. 面向服务通信与面向信号通信
  14. python idle怎么保存_Word文档如何设置自动保存
  15. 【巴比特:区块链是什么】笔记
  16. 夜雨数竞笔记-不定积分(1)-换元法-倒代换
  17. Python+Django+Mysql实现购物商城推荐系统 基于用户、项目的协同过滤推荐购物商城系统 网络购物推荐系统 代码实现 源代码下载
  18. detectron2 c++ 部署笔记
  19. java设计模式——浅显易懂之七大原则
  20. 英语语法汇总(6.副词)

热门文章

  1. python暴打“冠状病毒”小游戏
  2. 自动化测试框架Pytest(三)——自定义allure测试报告
  3. Java项目-SSM实现完整的BBS论坛
  4. Safari浏览器打开chls.pro/ssl无法下载安装Charles证书问题
  5. web安全入门day02——数据包拓展
  6. IDEA社区版安装tomcat
  7. python生成csv乱码
  8. echarts折线图显示每个折点的数值
  9. 《尽管去做-无压工作的艺术》阅读笔记
  10. 创业者要具备哪些个人条件?