MCU端 Boot+App设计方案
概述
本文结合当前主流主机厂的升级规范来介绍不用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设计方案相关推荐
- 机智云OTA过程MCU端程序设计学习(二)
这篇我们主要是学习下app部分固件的设计逻辑. 1. 初始化过程中开辟一个环形缓冲区,设置串口为中断接收,重写串口中断回调函数,也就是每次接收一个字节的数据就往环形缓冲区里丢一个数据. void gi ...
- 机智云OTA过程MCU端程序设计学习(一)
1.写在前面: 一般利用云端更新MCU端固件的机制是:云端通过一个能联网的模块(例如wifi,4G等)将固件信息传输到MCU端.整个过程也就是 云端(TCP)-->模块(串口)-->MCU ...
- 推荐一款移动端日历App吉日历
推荐一款移动端日历App吉日历 一 应用描述 万年历.日历.农历.黄历.假期安排.天气预报.记事提醒便捷查看,一目了然! 二 功能介绍: 1.万年历:精美的日期展示,完整的节日日历随意查看,节假日.休 ...
- 一个基于 React 开发的PC端音乐App
?一个基于 React 开发的PC端音乐App. 同时支持 Mac 与 Windows 系统.下载地址 项目使用 electron 作为外壳,webpack 作为打包工具,核心技术包括 React + ...
- Axure高保真移动端电商app通用模板、axure高保真移动端教育app通用模板、旅游app通用模板、电商app、教育app、旅游app 、直播、在线教育、旅游、Axure原型、rp原型
Axure高保真移动端电商app通用模板.axure高保真移动端教育app通用模板.旅游app通用模板.电商app.教育app.旅游app .直播.在线教育.旅游.Axure原型.rp原型 Axure ...
- SCRM电商会员管理系统+导购端+商城app+小程序电商+移动端商城+电商web端后台管理+商城前后端系统+移动端商家端+电商app+购物车+订单+商城系统+电商看板+电商后台+优惠券+积分+会员
作品介绍:SCRM电商会员管理系统+导购端+商城app/小程序 高保真SAAS实战web+移动端原型设计+电商web端后台管理+商城前后端系统+移动端商家端/用户端+电商用户数据大屏看板+订单管理+营 ...
- Web端和App端测试区别
Web和App测试区别 测试知识与君共享 1.功能测试角度: 从功能的角度,Web端和APP端测试流程基本一致 2.用例编写角度: 从编写用例方法角度采用等价类,边界值,场景法,错误推测法,流程法,编 ...
- react native Android端保持APP后台运行--封装 Headless JS
react native Android端保持APP后台运行--封装 Headless JS 前些日子在做后台下载时踩了后台运行这个大坑,RN官网文档上面在安卓上提供了Headless JS方法,iO ...
- 移动端小说APP体验报告
移动端小说APP体验报告 优点: 1.可以在书库中找到很多和好看的小说,不知道看什么的时候可以进入书库参考 2.点击我的可以找到我的阅读记录,还可以给阅读记录排序,找到想要二刷的小说 3.书架显示了自 ...
最新文章
- mysql 配置文件绑定ip_(三)设置mysql允许外部IP连接的解决方法及遇到的坑说明...
- 数据库SQL Server
- 2264: sequence(KMP)
- Java Math的 floor,round和ceil的总结 ,java基础知识
- js,html条码生成
- Java 并发实践 — ConcurrentHashMap 与 CAS
- passport身份验证_了解如何使用Passport.js处理Node身份验证
- 2021高考成绩怎么查询时间北京,2021年北京高考成绩几号公布可以查询,查询时间安排...
- 关于TikTok的变现思考和三种玩法
- html中如何写平方根等,平方根一定是整数吗
- 电大计算机阅读英语作文,2018年电大作业管理英语4形成性考核册英文写作参考答案英语作文...
- Python 五角星的画法 five star
- 面向服务通信与面向信号通信
- python idle怎么保存_Word文档如何设置自动保存
- 【巴比特:区块链是什么】笔记
- 夜雨数竞笔记-不定积分(1)-换元法-倒代换
- Python+Django+Mysql实现购物商城推荐系统 基于用户、项目的协同过滤推荐购物商城系统 网络购物推荐系统 代码实现 源代码下载
- detectron2 c++ 部署笔记
- java设计模式——浅显易懂之七大原则
- 英语语法汇总(6.副词)