关注+星标公众,不错过精彩内容

素材来源 | 网络

微信公众号 | 嵌入式专栏

昨天为大家分享了《单片机产品生产下载程序的常见方法》,有读者说他们是通过U盘、OTA远程下载的程序。

你通过U盘、OTA远程等方式下载的程序,其实你还是需要提前下载BootLoader程序,才能进一步下载APP程序。

今天就来说说通过OTA方式升级固件时,几种Flash(闪存)划分方式。

独立型

所谓独立型就是专门划出一部分闪存(Flash)空间用来存储引导程序(BootLoader)。

如下图:

  • BootLoader:引导程序

  • Firmware A:应用程序

  • Firmware B:下载备份程序

Firmware A区用来固定执行应用程序,当引导程序(BootLoader)将接收到的新固件存入到Firmware B区,并校验成功后,Firmware A区中的应用程序将被擦除,然后Firmware B区的新固件将写入到Firmware A区中。

这种方式是比较常见的有一种,有Firmware B备份区,使其下载更加安全。

嵌入型

嵌入型就是将引导程序(BootLoader)嵌入到应用程序中去。

当引导程序(BootLoader)将接收到的新固件存储到Firmware B区,在校验成功后,引导程序(BootLoader)将跳到Firmware B区去执行应用程序。

外挂型

外挂型就是外挂Flash或EEPROM用来存储新固件。

当MCU内置Flash较小时,可以选择外挂存储芯片用来缓存新固件。引导程序(BootLoader)将新固件存储到外挂存储芯片中,当校验成功后,Firmware A中的应用程序将被擦除,并被写入外挂存储芯片中的新固件。

是不是根据需要,我们可以随意划分MCU的Flash空间呢?

当然不是,由于MCU的内置Flash是以块(Block)或者页(Page)为最小擦除单位,我们划分MCU内置Flash空间时必须考虑到实际MCU的块(Block)或者页(Page)的大小。

现在我们以TMPM3H6FWFG来举例说明“独立型”的Flash划分方式。从以下规格书中的信息可知,这颗MCU的内置Flash大小为128KB,最小的擦除页(Page)为4KB,最小的擦除块(Block)为32KB。

根据以上信息,我们可以对这颗MCU的内置Flash进行如下划分:

以上只是对固件升级(OTA)中MCU的Flash空间划分简单探讨一下,实际哪种方式更适合,还需要用户自己去评估。

声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

------------ END ------------

后台回复『单片机』『嵌入式软件设计与开发』相关文章。

欢迎关注我的公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

欢迎关注我的视频号:

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

MCU固件升级的几种Flash划分方式相关推荐

  1. vlan的三种划分方式、pvlan和网段(子网)的关系

    在任何一本讲vlan的网络书上都会提到vlan的三种划分方式: 1.按物理地址划分 2.按交换机端口划分 3.按ip地址划分 本文的结论为:pvlan就是    按交换机端口划分   的一种实现 子网 ...

  2. 几种常见的功能性脑网络划分方式

    下面这张图是最近几年来发展的脑网络划分方式. 大脑由多个大规模网络组成的想法在认知神经科学中稳步获得了关注. 尽管如此,该领域尚未就术语的关键问题达成共识. 网络统一分类法工作组 (WHATNET) ...

  3. 以太网 VLAN的5种划分方式(基于端口、基于MAC地址、基于IP子网、基于协议、基于策略)介绍与基础配置命令

    2.8.3 以太网 VLAN(VLAN划分方式) VLAN的划分方式有 2.8.3 以太网 VLAN(VLAN划分方式) 一.基于端口划分 二.基于MAC地址划分 三.基于IP子网划分 四.基于协议划 ...

  4. st 串口烧写工具 芯片_STM32芯片的几种烧写方式简介

    我们做STM32产品开发,最终是要将编写的程序代码写进芯片存储器,通常指Flash存储器[含可以映射到芯片存储空间的片外存储器],让程序正常运行起来以实现相应的功能. 一般来讲,将我们准备好的机器代码 ...

  5. 2个相同的 stm32 can通讯不成功_STM32芯片的几种烧写方式简介

    我们做STM32产品开发,最终是要将编写的程序代码写进芯片存储器,通常指Flash存储器[含可以映射到芯片存储空间的片外存储器],让程序正常运行起来以实现相应的功能. 一般来讲,将我们准备好的机器代码 ...

  6. CC2640之OAD固件升级(内置Flash)

    转自:http://blog.csdn.net/zzfenglin/article/details/52336612 什么是OAD OAD是TI在BLE协议栈基础上扩展的一种无线更新技术.OAD使用客 ...

  7. 单片机的四种烧写方式

    参考:单片机的四种烧写方式 作者:爱学习的小王呀 发布时间:2020-11-27 20:05:12 网址:https://blog.csdn.net/hongliwong/article/detail ...

  8. MCU固件升级系列1(STM32)

    本系列将从升级流程.boot代码编写.APP代码编写以及固件打包来介绍,硬件选用STM32F407ZGT6(手里只有),来完成这系列教程. 前言 为什么需要固件升级: 功能更新:随着产品的迭代和用户需 ...

  9. 嵌入式的几种固件烧录方式

    嵌入式的几种固件烧录方式 1. 名词说明 1.1 什么是固件 固件,也成为firmware.下面引用百度的定义: 固件(firmware)一般存储于设备中的电可擦除只读存储器EEPROM(Electr ...

  10. ping 不通 华为三层交换机vlan_华为交换机常用的三种vlan划分方法,一文了解清楚vlan...

    今天来深入学习vlan,都有详细注释. 一.端口为类型 在学习划分vlan前,必须要了解华为交换机的端口类型,以及他们的使用方法,因为端口的类型在实际配置中是必须会用到的,因为下面的vlan划分会用到 ...

最新文章

  1. 洛谷 P5057 [CQOI2006]简单题(树状数组)
  2. LiveGBS-GB28181流媒体服务如何实现跨域鉴权
  3. 寻找听过我讲座的大学生
  4. WPF中的鼠标事件详解
  5. 推荐几个常用的生物通路数据库
  6. 国际上首次报道的非人灵长类胰岛衰老的单细胞转录组图谱
  7. AI学会了视觉推理,“脑补”看不清的物体 | 李佳李飞飞等的CVPR论文
  8. python新手入门代码-介绍十个Python小案例,新手入门就在这里
  9. spring-boot整合场景实例分析
  10. web前端效率提升之浏览器与本地文件的映射-遁地龙卷风
  11. 成功破解电信限制路由器方法
  12. Python数据分析与机器学习27-拼写纠正实例
  13. 生成PDMS管口方位图 python方案
  14. 小米Civi的女性突围战
  15. python 探究is_dir函数及其使用案例(读取人脸图片)附整体代码
  16. html竖版古诗,古诗竖版手抄报版面设计图
  17. 唧唧DOWN闪退的原因
  18. html星座代码,各星座详细页面.html
  19. Linux打印添加水印,Linux 下给图片批量加水印
  20. 高仙技术家|SLAM(二)——完善回环检测的视觉SLAM

热门文章

  1. “电容触摸按键实验”实例解析
  2. 正点原子STM32F103(精英版)------电容触摸按键
  3. js实现,同域名下pc,移动网站模板切换跳转
  4. PID参数自整定库之一:继电反馈整定算法
  5. 常用计算机英文缩写,常用计算机英文缩写含义
  6. 【Matter】解密Matter协议(一)--- 什么是Matter协议?
  7. 计算机d盘无法格式化,为什么不能格式化D盘?D盘无法格式化的解决方法
  8. 开源微信小程序源码新版及教程
  9. python离线安装whl文件.
  10. 别催了,医药行业数字化转型真的“急不得”