昨天为大家分享了《单片机产品生产下载程序的常见方法》,有读者说他们是通过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空间划分简单探讨一下,实际哪种方式更适合,还需要用户自己去评估。
声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。
连续4年!微软获评 Gartner 云 AI 开发者服务魔力象限 “领导者”
现代化高科技的产物,智能化妆镜强势来袭
华为遮掩与以色列公司Toga关系的秘密
专用 DC/DC 转换器应对铁路供电的独特挑战
停车灯电路的工作原理详解
MCU固件升级的几种Flash划分方式有哪些
智慧交通建设中可以搭配哪一些安防技术
全向天线辐射方向图_全向天线的安装要求
三星s8后壳对战华为p10售价,都是吃瓜群众的热议的焦点
变电站无功补偿配置的原则和容量要求
上海新昇大硅片已通过中芯国际认证 将彻底打破我国大尺寸硅材料基本依赖进口的局面
关于LabVIEW新手遇到的5大误区的介绍和分析
天玑9300斩获双榜第一
消防应急电源数据采集远程监控系统解决方案
Cavium推出基于定制核的多核系统级芯片
消息称小米11 Pro或将支持80W无线快充
H3C电子政务网络解决方案实现专网数据的共享
利用NVIDIA和浪潮信息AI计算平台读取医疗影像报告
华为mate10今晚正式发布:性能,外观,拍照续航与售价完全确认,比肩iPhone8
Halcon的C#二次开发及经验分享