嵌入式环境中的挑战
根据相关数据推测,到2025年,全球联网设备将超过557亿台,其中75%连接到物联网平台。有了这么多联网的物联网设备,更新它们变得简单、高效、最重要的是安全,这一点至关重要。
但在深入研究嵌入式设备更新所需的内容之前,有必要仔细看看嵌入式环境是什么样子的。与云计算或web编程不同,你在嵌入式世界中的环境受到严格控制,有许多限制。
设备通常位于难以到达的位置
通常情况下,消费者和其他你甚至没有想到的设备都位于偏远且难以到达的位置。如果你想到wifi路由器和其他难以获得的设备,它们不可能总是以可控的方式更新。
网络连接可能会有所不同
连接可能是断断续续的,可能是通过4G连接,或者比这更慢的连接。你可能有也可能没有安全的连接,特别是当你通过公共网络时。
文章插图
产品寿命可延长至10年以上
嵌入式开发领域中的产品寿命差异很大。一些市场,如汽车,可以保持相同的硬件五到十年,而家用电器,它可以是原来的两倍。但在消费电子领域,产品的使用寿命更像是6到12个月,因此种类繁多。
电力并非总是有保障的
必须解决电力问题,特别是在客户不是企业的消费者服务提供商(CSP)的情况下。许多消费类设备都使用电池供电,即使没有,也不能保证设备所有者在任何特定时刻都不会拔下电源。你必须能够处理可能具有间歇性电源的设备。
嵌入式Linux系统上更新了什么?
大多数嵌入式设备都是单用途设计,其构造目的是为了更好地执行一件事情。由于这种高度的专门化,Linux发行版通常是完全精简的。当涉及到安全和其他维护更新时,以下是需要在嵌入式Linux设备上更新的基本组件:
根文件系统:这是保持系统运行的基本系统库和其他实用程序和脚本所在的位置。这些文件中的大多数都需要更新和升级。
系统应用程序和包:这是你的应用程序所在的用户区。在这里,你需要更新功能,偶尔修复bug。
文章插图
传统嵌入式发行版更新
更新嵌入式系统通常需要完全重建操作系统以保护设备。根据你使用的Linux发行版的不同,可以逐个文件、逐个包或以一层一层更可移植的方式手动完成。一旦嵌入式开发人员添加了修复和升级,然后重新构建并测试了操作系统,你就可以从空中传送(OTA)设备更新系统将其部署回设备。
“重建整个操作系统”方法的一个大问题是,现在你可能有1000台设备,其中许多设备都有定制的配置和定制的发行版,带有精选的软件包和模块,甚至是偏离原始电路板设计的高度专业化的电路板支持软件包。单独或甚至在较小的设备组中更新所有这些是一个耗时且容易出错的过程。
用容器更新嵌入式系统
如果你可以将整个操作系统和系统想象为一组模块化的容器化不可变构建块,你可以完全控制这些构建块,会怎么样?使用容器,可以将系统粒度保持在第三方可以将组件作为完全工作单元交付的水平,如果操作正确,这些组件之间的相互依赖性将非常小。
【 电路板|嵌入式开发:如何在现代云时代更新物联网设备】一个完全容器化的系统包括以下容器:Linux内核、任何中间件包以及用户区。此级别的容器化为你提供了一个完全模块化的系统,如果需要,可以跨数百万台设备进行更灵活和独立的更新,这将大大提高嵌入式开发效率。
- PSVR|Resolution Games将大力支持开发PSVR 2游戏
- 能量密度达500Wh/kg!日本开发出新款锂空气电池
- 《消逝的光芒》开发商保证:游戏将获得 5 年的后续内容更新
- Kreemo|韩国公司Kreemo开发出全球首个显示屏内置型透明天线
- 投资者|东软载波董秘回复:公司开发的GPS/BD双模射频芯片是北斗的“接收机应用芯片”
- 菲利波|微软挖角苹果芯片架构师:为Azure云服务开发定制芯片
- 显示屏|韩国公司Kreemo开发出全球首个显示屏内置型透明天线
- OLED|36氪首发 | 「白海科技」完成数千万元融资,定位云原生AI开发与生产工具
- Intel|下代至强处理器冲64核、350W Intel联合GRC开发CPU液冷散热技术
- 苹果|收取过高佣金被起诉,苹果将赔偿开发者250美元至30000美元