现代嵌入式系统早已不是当年简单的单片机可执行程序,新兴的嵌入式Linux主导着这个领域。物联网终端越来越像桌面电脑和服务器,甚至可以说,未来就是卡片电脑的世界。当然进一步往后看,还有AI技术也可望在未来十年中整合到物联网终端当中。

为什么需要Trustfence

现代嵌入式技术的发展,一个很大的变化是,您不大可能用一个一成不变的二进制程序终生在产品中运行,就像我们过去那样。

为什么呢?Linux是一个不断演进的开源系统,它现在很安全,但不同的接口和协议,包括各种底层库和基础应用也是在不断演进的,这需要每隔一断时间进行升级以确保安全因素,就像过去几个月,新的Wifi和蓝牙漏洞让整个世界都为之震撼,更不用说新近发生的“融断”和“幽灵”漏洞。Linux社区以及相关芯片厂家会每隔一断时间更新来修复一些可能的漏洞。一个在底层能支持安全在线更新能力架构在物联网时代就显得非常重要。

Digi的Trustfence安全框架能为这类服务提供安全保障。不仅能保障在线升级和维护的安全,也能保障数据和通信过程的安全,甚至是入侵防护。

NAND在嵌入式系统中可靠么

在选择物联网主控时,很多人对Digi的核心模块仍使用NAND或eMMC感到不解。在一些传统观念上,NAND并不可靠,甚至很容易坏,作为工业级产品,为什么不选择NOR flash作为存储介质呢?

其实比起工业终端,在更在乎数据安全的云服务数据中心,固态SSD日渐成为主流,为什么数据中心能用的产品,在物联网终端就不敢用呢?实际上Digi采用NAND就是为了更贴近云和桌面式的应用。我们都知道NOR flash不可能做得很大,即使在嵌入式系统中采用NOR flash,通常也只是保存启动代码或是参数区,因为它擦写速度很慢(好几秒),所以也不可能用作程序的数据缓存区,或是作为经常要更新的系统或应用程序分区。
另外NOR是可以片上执行的,它不需要加载到内存来执行程序,更像是传统的单片机系统架构,这和主流的电脑和服务器架构是有区别的。为了兼容主流的开源软件和库,用NAND flash也是势在必行。

那么Digi是如何避免NAND flash的一些缺点呢。

首先,Digi选用的NAND是工业级的SLC,近十万次的擦写次数远高于普通商用的NAND,并且也不容易损坏。
其次是NAND技术本身的发展,Linux内核增加了许多安全和校验相关的底层更新,在NAND中有许多冗余的block,平时不作为空间,可以在坏块出现时做替代而不至于引起空间容量减少,NAND可以说是以空间换时间。嵌入式Linux所支持的一些文件系统中,像ubifs等,有着对NAND flash的完美优化,使得随机写入到相同比特位的机率大大减少,极大地增强了NAND flash的寿命。此外Digi支持双系统冗余,uboot和参数双备份,协处理器硬看门狗等各种特性,也能在极小概率的出错发生时,用备用系统支撑应用程序或是恢复主系统的程序环境。经过这些重重保证,可以说NAND甚至比产品中的其它部件更不容易损坏,确保能在产品的生命周期中完成自己的使命。

Digi核心模块中的协处理器有什么用

Digi协处理器已经深度整合到核心模块系统中,它提供了许多功能,比如RTC和硬看门狗等。

由于协处理器的使用,Digi的核心模块本身已经带有了硬的看门狗,极大方便了高可靠性产品的开发。此外RTC功能可以实现非常低的待机功耗,协处理器可以让系统在必要时挂起到内存,并在需要时恢复原先的进程。协处理器上还有许多IO口可供不同的功能使用,比如防范反向工程和暴力攻击等,它提供相应的API以便在检测到事件后,用户程序可以根据威胁等级做出相应的反应。

总之,Digi在u-boot和系统安全,内核BSP等做了许多深度定制和优化,确保产品的易用性,安全性和可靠性。使用Digi核心模块,可以更方便地打造自己的产品,满足物联网安全,易用和容易维护更新的需求。