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

电子说

1.3w人已加入

描述


(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赛普拉斯半导体】欢迎添加关注!文章转载请注明出处。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分