(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升级,同时节省主板空间并降低总成本。
- 相关阅读推荐-
点击“阅读原文”,了解更多赛普拉斯信息!
-
赛普拉斯
+关注
关注
28文章
391浏览量
87657
发布评论请先 登录
相关推荐
评论