0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NOR闪存提升OTA固件升级能力

7vzo_Cyp 2019-07-02 15:33 次阅读


Cypress博客文章,原文作者Pritesh Mandaliya,略有删改)

在这个世界上,既没有完美到毫无缺点的东西,也没有糟糕到毫无优点的东西,凡事均有好坏两个方面。

这句话同样也适用于数量不断增加的连接设备。诚然,“互联”使这些设备更加容易受到攻击,但我们认为,这同样也使它们有机会变得更加安全。

固件无线(FOTA)升级,可用于远程修复错误并增强系统性能。对于偏远地区应用或因本身性质而需持续升级的应用(包括无线基础设施、智能工厂和车联网)而言,FOTA尤其有用。


但是,任务关键型系统在进行FOTA升级时须格外谨慎,因为它们在升级过程中根本承受不起任何失败。

对于这些系统,进程必须对通信错误免疫,并且在升过程中,要尽量减少系统暂停。为了确保可靠性,必须能够在系统层面实现此功能,并且要求芯片具有强大的FOTA功能。

每台设备都需要存储器来保存软件/固件代码,而闪存通常是选择的媒介。FOTA的主要目的,就是升级闪存中的代码。当前这一代主机设备,通常只使用内部闪存或内/外部闪存组合。

然而,随着系统复杂度不断增加,将闪存嵌入至微控制器变得愈发困难,而且很可能需要外部闪存及可进行FOTA升级的主机。

当前的FOTA升级方法包括以下几类:


  • 无软件/固件备份的FOTA升级:系统使用单个闪存器件存储应用软件。如果只有一个闪存器件,则需要在升级过程中暂停该应用。这样的应用通常拥有一个具备基本功能且内存有限的主MCU

  • 通过软件/固件备份进行FOTA升级:高端MCU增添第二个闪存器件,以克服升级期间暂停应用的需要。新增的闪存允许应用在进行升级时继续运行。

  • 使用“黄金”软件/固件备份进行FOTA升级:系统使用三个闪存器件。通常,一个分区(或Die)包含当前软件,第二个分区用于升级代码,第三个分区用于存储软件的“黄金”副本——如果当前及新软件损坏,系统可以恢复至该副本。


NOR闪存更加适合FOTA



如今的NOR闪存器件可以实现更加可靠的FOTA升级,包括:


  • 同步读/写操作:最先进的NOR闪存器件具有灵活的内存库(Bank)架构(即一组扇区),可以从一个内存库连续读取数据,同时在另一个内存库执行擦除/编程功能。这被称为同步读/写操作,是FOTA升级过程的理想选择。它允许主机系统在一个内存库中编程或擦除,然后立即从另一个内存库中同步读取,从而提高系统整体性能。因此,它可以防止系统在等待编程或擦除操作时发生暂停。

  • 编程/擦除恢复/暂停:这是NOR闪存的另一个重要功能,可大大提高FOTA操作的可靠性。它允许系统中断编程/擦除操作,以便从任何非编程/擦除暂停扇区读取数据,一旦读取操作完成,则恢复编程/擦除操作。

  • 全局唯一标识符(GUID)分区表:为将此方法用于NOR闪存器件,主机则需要对闪存进行分区。闪存器件包含一个主分区表(若主分区损坏,则包含辅助分区表),用来描述如何划分和移植内存。其余扇区在两个应用之间进行划分。

  • 存储和下载(SnD):使用这种方法,系统在通电后立即将NOR闪存数据复制到RAM器件。MCU将NOR闪存器件的数据复制并存储到RAM设备后,从RAM器件读取应用软件,并可以使用三种FOTA升级方法中的任意一种在闪存中执行FOTA升级。


NOR闪存器件具备高性能和高密度、多晶粒封装解决方案及同步操作等特点,可实现稳定、可靠的FOTA升级,同时节省主板空间并降低总成本。


- 相关阅读推荐-



点击“阅读原文”,了解更多赛普拉斯信息



原文标题:NOR闪存提升OTA固件升级能力

文章出处:【微信公众号:Cypress赛普拉斯半导体】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 赛普拉斯
    +关注

    关注

    28

    文章

    391

    浏览量

    87371
收藏 人收藏

    评论

    相关推荐

    CYUSB3KIT-003如何集成一个NOR闪存

    我有一个 CYUSB3KIT-003。 我需要集成一个 NOR 闪存,我可以从中将固件读取到 RAM,然后 NOR 闪存的一部分内存应该EV
    发表于 03-05 07:23

    ota升级是什么意思 ota升级有什么用

    OTA(Over-the-Air)升级是指通过无线网络,将软件、固件或系统的新版本传输到支持的设备上进行更新和安装的过程。这一技术广泛应用于手机、智能电视、汽车等各类智能设备中。本文将详细介绍
    的头像 发表于 02-02 10:25 2565次阅读

    深入了解物联网设备的OTA升级机制

    OTA(Over-The-Air,空中下载技术)是一种无线传输技术,用于在物联网设备之间进行远程更新和配置。OTA指的是通过无线通信网络来远程更新或升级嵌入式系统中的软件或固件
    发表于 01-21 10:03 477次阅读
    深入了解物联网设备的<b class='flag-5'>OTA</b><b class='flag-5'>升级</b>机制

    AT32 MCU如何使用OTA通过USART实现对固件的在线升级更新

    AT32 MCU如何使用OTA通过USART实现对固件的在线升级更新
    的头像 发表于 10-26 17:09 926次阅读
    AT32 MCU如何使用<b class='flag-5'>OTA</b>通过USART实现对<b class='flag-5'>固件</b>的在线<b class='flag-5'>升级</b>更新

    如何“助攻”物联设备远程OTA升级

    OTA升级为软件提供持续迭代更新的能力,逐渐成为物联网设备的佳选。本文以ZigBee物联网网关为例,介绍ZWS物联网云平台为物联网设备提供的远程OTA
    的头像 发表于 10-14 08:25 375次阅读
    如何“助攻”物联设备远程<b class='flag-5'>OTA</b><b class='flag-5'>升级</b>

    通过低功耗蓝牙连接在STM32WB设备上进行OTA固件更新的过程

    本文档介绍了通过低功耗蓝牙连接在 STM32WB 设备上进行 OTA 固件更新的过程。它讲解如何使用 STM32Cube 固件包中提供的 OTA 应用程序,实现用户应用程序、无线
    发表于 09-05 06:06

    “立功蓝牙OTA”微信小程序介绍

    支持ZSB101A芯片出厂自带串口AT指令数传固件且支持OTA固件升级,为了方便用户调试蓝牙数据传输和蓝牙OTA
    的头像 发表于 08-31 14:37 1202次阅读
    “立功蓝牙<b class='flag-5'>OTA</b>”微信小程序介绍

    手把手教你OTA升级开发

    。具体升级的动作由升级脚本控制。本文将介绍如何针对OpenHarmony L2场景适配updater模式。主要内容包括: *1.OTA升级实现原理 2.
    发表于 08-22 09:13

    BlueNRG-LP、BlueNRG-LPS(无线)固件升级程序

    本应用笔记介绍运行于随 BlueNRG-LP、BlueNRG-LPS 片上系统提供的 Bluetooth®低功耗(LE)栈之上的 BlueNRG-LP、BlueNRG-LPS 无线(OTA固件升级
    发表于 08-14 10:19

    一种有趣的 OTA 升级思路(基于 LoRa 通信的 OTA 固件升级的调试记录)

    1 概述 采用 LoRa 技术进行无线通讯,考虑到产品的实际需求,增加了产品的 OTA 固件升级的功能。因为 LoRa 通讯速度较慢,合理的减小 APP 区域固件的大小加快
    的头像 发表于 08-09 19:25 719次阅读
    一种有趣的 <b class='flag-5'>OTA</b> <b class='flag-5'>升级</b>思路(基于 LoRa 通信的 <b class='flag-5'>OTA</b> <b class='flag-5'>固件</b><b class='flag-5'>升级</b>的调试记录)

    分享一种有趣的OTA升级思路

    采用 LoRa 技术进行无线通讯,考虑到产品的实际需求,增加了产品的 OTA 固件升级的功能。因为 LoRa 通讯速度较慢,合理的减小 APP 区域固件的大小加快
    发表于 07-28 15:51 643次阅读
    分享一种有趣的<b class='flag-5'>OTA</b><b class='flag-5'>升级</b>思路

    详解蓝牙空中升级(BLE OTA)原理与步骤

    如何实现BLE OTA?什么叫DFU?如何通过UART实现固件升级?又如何通过USB实现固件升级?怎么保证
    的头像 发表于 07-10 09:36 3962次阅读
    详解蓝牙空中<b class='flag-5'>升级</b>(BLE <b class='flag-5'>OTA</b>)原理与步骤

    为什么找不到非OTA固件的二进制文件?

    我正在使用 nodemcu 并想使用 AT 命令,因此在其中下载 NON OTA 固件。下载的 esp8266 的 sdk 文件夹中找到 和 文件。还有一个疑问1) 在 esp8266 的功能框图
    发表于 06-07 08:50

    从SD闪存进行OTA的方法?

    。 除了只有 512K 的闪存外,一切都很好。 正在运行的应用程序只留下 159K 的可用空间。 我以为我只需要编译一个只做 OTA 的小应用程序,但没有用户代码的 Arduino 框架本身是 300K
    发表于 05-17 08:29

    将xspi图像升级NOR Flash时的疑问求解

    ): 4. 将固件编程到 FlexSPI NOR 闪存。 => sf probe 0:0 => sf erase 0 +$filesize &&
    发表于 05-16 07:43