APP下载

IoT应用开发有新作法!Arm把SoC硬件虚拟化搬上云,让开发者也能用CI/CD流程加速IoT开发

消息来源:baojiabao.com 作者: 发布时间:2024-04-28

报价宝综合消息IoT应用开发有新作法!Arm把SoC硬件虚拟化搬上云,让开发者也能用CI/CD流程加速IoT开发

Arm物联网暨嵌入事业部副总裁Mohamed Awad,在今年的DevSummit大会表示,Arm IoT解决方案的发布,目标要推动IoT设备达到10倍成长。

图片来源: 

图/Arm

为了加速IoT开发,Arm在今年的DevSummit大会上发布了IoT全面解决方案,涵盖从定义、设计到开发三阶段加速的产品,并宣称最多可缩短2年IoT开发周期,来加快上市时间。这三阶段产品分别是标准化的开发规范与平台Project Centauri、可加速硬件设计的Corstone,以及可加速软件开发的虚拟硬件服务(Virtual Hardware Targets)。其中的虚拟硬件服务,更是这次产品发布核心,透过将SoC硬件架构虚拟化搬上云,并结合CI/CD、DevOps、MLOps等一般软件开发常用方法,目标要加速IoT软件应用的开发。

IoT开发周期过长,未能像手机App创造规模化经济效益

Arm首席应用工程师张维良归纳,当前IoT开发无法加速的主因有三。第一,是产品设计周期过长,从IC规格制定到实际下线制造出芯片,整个流程要花费5年以上;第二,软件开发效率低下,IoT应用需根据实体设备,才能进行开发与测试;第三,则是软件与服务开发无法跨平台一体适用,使IoT开发难以规模化。

举例来说,若要开发一套IoT智能咖啡机,让咖啡机自动辨识人脸,再向顾客推荐个人化饮品,这套AIoT设备的开发,首先就会面临软硬件设计缺乏参考标准的问题,需从头设计硬件、制造出硅晶圆,再依据硬件来开发软件应用,大约要3~4年才能完成雏形。同时,还须考量设备的安全防护,确保没有资安疑虑,才能取得顾客信任。

但是,张维良描绘,一只手机App从设计、开发到上市,已经缩短到数个月的时间,尤其在软件开发上,可以透过CI/CD、DevOps等自动化协作开发流程,来缩短App的开发生命周期,ML开发也能透过MLOps,更快速的部署到生产环境,来执行测试、上线与维运,更重要的是,这些手机应用的开发,鲜少需要考虑能否支援全球上千个手机硬件平台的问题。

这个手机App开发的市场现状,正是Arm为IoT应用开发,所刻画的未来蓝图。张维良指出,“如何让全球数百万开发人员,采用更现代化的软件开发方法,来加快IoT产品上市?”Arm最新释出的IoT开发解决方案,尝试克服这项挑战,关键就是靠云端虚拟化SoC硬件架构,再结合软件开发常见的CI/CD与DevOps,来推动IoT开发周期的改变。

Arm发布IoT解决方案涵盖三大产品,核心虚拟硬件服务可大幅提升开发效率

Arm这次发布的解决方案包含三大产品。在IoT硬件设计的阶段,Arm整合了过去就已经用于加速SoC设计的解决方案Corstone,这是一套将NPU、CPU与系统IP整合在内、且经过验证的硬件子系统,从2018年推出以来,已经协助硅晶圆业者发布了超过150种设计。

基于这套子系统,Arm也发布了领先业界的虚拟硬件服务(Virtual Hardware Targets),来加速IoT软件应用的开发。Arm物联网暨嵌入事业部副总裁Mohamed Awad指出,这套解决方案运用了大量建模的技术,建立起整合式子系统Corstone的云端虚拟版本,让OEM厂商或软件开发者,不需再等到实体硬件开发完成后,才能开发软件应用,而是能透过云端Arm架构的虚拟SoC模型,包括虚体内存与周边设备,来进行软件开发,这个作法也消除了软件开发对硬件的相依性(dependency),让软硬件开发能各自独立且并行。

“虚拟硬件一大优势,是简化嵌入式系统的开发流程,节省过去打造实体电路板、线路、跨接线,所投入的资源。”Mohamed Awad指出,透过在硅晶圆制造完成之前,就先进行软件应用的开发,可将IoT产品设计周期从平均5年缩短为3年,加速IoT产品上市。

过去开发IoT应用时,通常需等到硅晶圆制造出来后,才能根据硬件来进行软件开发。

透过虚拟硬件服务,软硬件可独立且并行开发,将IoT开发周期缩短2年。

Mohamed Awad更指出,透过云端来开发IoT软件的方法,更与现在手机App、资料中心云端原生软件的开发方法不谋而合,尤其,因云端资源具有扩充性,开发者可以透过更现代化、敏捷的方法来开发软件,比如利用CI/CD、DevOps、MLOps等自动化与协作方法,但不需要额外建立与维运硬件设备。

Arm也在自家部落格中指出,开发人员可以在云端执行和扩展CI基础设施,在数秒钟内启动数千个虚拟开发板,并且同时执行所有的测试套件。对资料科学家来说,还能直接在云端测试不同的ML网络配置和最佳化策略,开发速度甚至能比在真正的硬件上更快。

这项服务可在Linux环境中作为应用程序执行,目前则释出Beta版本,已经能透过AWS Marketplace取得,但尚未能在其他公有云服务中使用。

最后一项产品,则是Arm为了实现标准化的开发规范与平台而推出,称为Project Centauri,这是一项相对于Project Cassini的计划,两者目的都要推动IoT开发的开放、协作及安全性标准,但后者是针对基于Cortex-A系列装置的生态系,前者则是针对Cortex-M系列装置。Project Centauri包含了对PSA的认证与Open CMSIS-CDI的支援,也要借由Cortex-M生态系的建立,来推动开发用的参考程式码、软件套件与工具,并扩大合作伙伴。

目前,第一代Arm IoT解决方案已经上市,以Corstone-300子系统为基础,虚拟硬件服务则支援Cortex-M55与Ethos-U55两种装置,主要适用通用运算及语音关键字识别的ML开发场景,未来也将持续支援更多硬件装置与软件应用。

Arm指出,已经采用的客户包括Amazon Lab126,利用虚拟硬件服务来扩大Alexa唤醒词的回归测试,奇景光电也采用了IoT解决方案,更进一步将符合虚拟硬件配置的自家处理器,在还未制造出实体芯片前,就让开发者透过虚拟硬件服务,在云端进行软件开发。

Google TensorFlow Mobile技术总监Pete Warden更指出,Tensorflow已经能支援Arm的Cortex-M55 CPU与Ethos-U55 NPU,过程中,Google也利用了虚拟硬件服务,来开发与测试支援两种硬件的函式库,让Tensorflow在硅晶圆上市前就能支援这些处理器,且透过云端CI系统,也确保了任何修改过的程式码都已经完成测试。

2021-10-21 21:48:00

相关文章