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

    浏览量

    87684
收藏 人收藏

    评论

    相关推荐

    OTA升级】无需数据线,一条命令即可完成固件升级

    OTA无线升级过程视频演示:OTA介绍OTA(Over-The-Air,空中升级)是一种通过无线通信技术实现远程更新设备
    的头像 发表于 12-11 01:00 440次阅读
    【<b class='flag-5'>OTA</b><b class='flag-5'>升级</b>】无需数据线,一条命令即可完成<b class='flag-5'>固件</b><b class='flag-5'>升级</b>!

    NAND闪存NOR闪存有什么区别

    NAND闪存NOR闪存是两种常见的闪存存储器技术,它们在多个方面存在显著的差异。以下将从技术原理、结构、性能特点、应用场景以及发展趋势等方面对两者进行详细比较。
    的头像 发表于 08-10 16:14 2992次阅读

    S3N8R16工程代码里面只要调用了wifi、蓝牙、mqtt等相关接口,编译出来的固件拿去ota升级升级不了,为什么?

    碰到个很奇怪的现象,我的工程代码里面只要调用了wifi、蓝牙、mqtt等相关接口,编译出来的固件拿去ota升级升级不了,没有调用就能正常升级
    发表于 07-19 07:31

    ESP8266 OTA升级失败的原因?

    我正在使用自定义服务器来升级 esp8266。我可以从服务器下载图像,但总是升级失败。 我将以下.bin文件下载到闪存中(下载前,我擦除整个闪存): ------------ 2
    发表于 07-11 07:45

    ESP8266 OTA升级不成功的原因?

    我正在使用最新的 RTOS SDK 版本 1.5 ESP8266。我使用自定义服务器进行OTA升级。 有时 OTA 升级成功,有时即使闪烁了正确的图像,
    发表于 07-10 06:14

    esp8285 1MB使用flash download tool刷固件时flash size选错了, OTA失败能救不?

    那边的设备固件, 请问这种情况, 除了让客户把设备寄回来之外, 还有没有什么办法能让客户那边的设备, 通过OTA升级更新程序呢?
    发表于 07-09 07:31

    esp32-s3 ota固件升级报错怎么解决?

    a new connection E (118466) HTTP_CLIENT: Connection failed, sock < 0 连上wifi后,通过ESP HTTPS OTA进行固件升级报错,希望能得到解决,感
    发表于 06-17 08:30

    请问esp32 ota升级如何获取更新进度?

    所用的是esp32-s2 idf:4.4调用esp_https_ota API进行固件升级,想获取更新进度,但不知道怎么实现,有人做过或者有思路指点一下吗?
    发表于 06-14 07:20

    ESP32-C3蓝牙固件升级速度低怎么提升

    通过蓝牙接收数据,每帧128字节,通过调用esp_ota_write写入FLASH,整个固件760多K,发现整个过程耗时很久,有办法提升吗?
    发表于 06-14 07:05

    ESP-IDF4.4 OTA升级失败的原因?

    ESP-IDF4.4 OTA 功能,在启动OTA功能后下载固件过程中出现wifi无Internet访问,然后很快网络恢复,需要等待很久后OTA升级
    发表于 06-06 08:19

    ota固件升级成功后,重启esp32-s3出现警告是怎么回事?

    ota固件升级成功后,重启esp32-s3。 抛出了一个警告,如下:Code: Select all Warning: checksum mismatch between flashed
    发表于 06-06 07:09

    如何编译OTA时的加密固件

    使用的IDF为5.1.2,在新版OTA例程中,有个pre_encrypted_ota示例,是用来加密OTA固件的。我将他整合到了自己的工程中。 问题: 1.添加了加密组件之后,我再
    发表于 06-05 08:28

    ZDP1440系列小技巧—如何OTA差分升级显示素材?

    ZDP1440是一款基于开源GUI引擎的图像显示专用驱动芯片,支持U盘、SD卡本地升级UI固件,同时也支持通过UART/SPI方式进行OTA升级,本文将介绍如何
    的头像 发表于 05-06 14:01 886次阅读
    ZDP1440系列小技巧—如何<b class='flag-5'>OTA</b>差分<b class='flag-5'>升级</b>显示素材?

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

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

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

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