为帮助客户以更快的速度和更高的安全性实现智能边缘创新,2024年10月,ADI宣布推出以CodeFusion Studio™为核心的,基于Microsoft Visual Studio Code的多功能嵌入式软件开发环境。按照ADI的官方说法,这是面向开发者打造的全新套件,全面整合跨设备、跨市场的硬件、软件和服务,能够帮助工程师高效地调试多核异构处理器,是ADI首个完全集成的软件和安全解决方案套件。
与之同步推出的还有ADI Assure™可信边缘安全架构。作为ADI通用的硬件与软件安全基础,ADI Assure™包括精选ADI硬件产品中的硬件安全功能,以及CodeFusion Studio™中提供的具有应用程序编程接口(API)的软件层,能够以一种简单灵活的方式在智能边缘设备中实现本地安全性。
为什么要发布这两款产品?
我们尝试从技术和企业两个层面进行解读。
助力开发者迎接多核异构未来
近年来,嵌入式设备的处理速度、内核数量、功能及复杂度呈指数级增长,这使得嵌入式设备的成本与空间得以优化,但软件开发流程的复杂性亦显著增加。“在与客户的深度合作中,ADI发现产品开发周期中30%-50%的时间和成本都花在了调试和部署的准备工作上,所以改进调试体验一直是我们的重中之重。”ADI软件与数字平台事业部杰出工程师、CodeFusion Studio软件架构师Kevin Townsend说。
另一方面,随着技术向异构多核架构方向发展,产品上市时间压力不断加大,如果工程师们仍然在使用缺乏灵活度和定制性的传统开发工具,或者是为老旧的、单核单架构环境而设计的工具、中间件和SDK,就难以融入现代系统设计所需的高效开发流程和既有代码库。
为了解决这个日益复杂的难题,需要为嵌入式工程师提供专为多核系统设计的开放式工具,以系统的可见性和灵活性来适应他们的开发需求。SDK也需要易于访问,并且能在技术插件和供应商生态系统的工具平台内运作,从而广泛利用Zephyr或其他社区的资源。
打造由软件定义的ADI
作为一家模拟芯片公司,ADI更为人熟知的角色是“连接物理世界和数字世界的桥梁”,一直致力于将高性能半导体技术(包括嵌入式数字技术、信号处理和软件解决方案等)集成到易于使用和部署的平台之中。
但如今,硬件和软件之间的界限越来越模糊。要解决复杂的问题,不仅仅需要采集和转换尽可能高质量的模拟数据,还需要通过复杂的软件信号链进一步对数据进行转换:过滤数据、与其他数据源合并、在大量处理内核和加速器之间传输数据,以及经常通过高度调整的软件定义算法和机器学习模型运行数据。而且,在边缘端实现有效决策在很大程度上也是一个软件问题,这也正是ADI加大投入以实现优异的数据处理和转换中间件、工具和能力的原因所在。
“我们正在投入大量资源打造一个由软件定义的ADI”,Kevin表示,ADI正在以领先的传感和电源等核心技术为基础,构建涵盖一个融合数字、软件、互联、安全以及不断扩展的AI处理能力的上层平台。在此基础上,再突破性地将模拟、数字和软件一同集成至纯软件的数字应用解决方案中,并广泛应用于不同的市场领域。
这非常符合嵌入式计算的发展方向——开放、可扩展、拥有强大的生态系统、多核、以及集成模拟和数字。“作为一家从传统模拟公司转型为模拟、数字、软件及AI的公司,ADI将CodeFusion Studio作为涵盖全部数字产品的通用软件开发范例。”Kevin说, 提供这些集成开发工具不仅能解决技术难题,还能加强生态系统建设,增加客户粘性。ADI通过提供全面的工具套件,可有效加强客户对其产品的信赖度、实现更具凝聚力的开发环境、并促进客户的长期使用意愿。
1.1新版本里的新亮点
CodeFusion Studio 1.0去年在北美嵌入式展上亮相,并获得了“Best in Show”大奖,1.1版本即将在纽伦堡Embedded World上展示。所以,要想知道这个问题的答案,让我们先看一看1.0版本里有什么?
CodeFusion Studio 1.0
如前文所述,CodeFusion Studio基于开源解决方案构建,不仅支持高精度混合信号、超低功耗系统芯片,处理边缘传感数据的微处理器,多核异构边缘应用处理器,以及Arm和RISC-V架构。还包含IDE、软件开发工具包(SDK)以及各类配置和生产力工具,通过提供所需的抽象层级来简化异构处理器的开发工作,提高效率,并能够与Zephyr等平台集成,从而为工程师赋能。
如果从层级进行划分,简单来说,CodeFusion Studio主要由三部分组成:包含驱动、操作系统、中间件在内的SDK,基于Visual Studio Code的跨平台继承开发环境,以及提高生产力的工具组件。值得一提的是,这些工具及多数关键部件均为开源,用户可在Apache许可的宽松授权下自由修改源码,并在其开发流程中全面使用。
此外,CodeFusion Studio还提供可视化的PIN和时钟配置、错误检查功能、ELF文件浏览器,通过交互的可视化方式,展示了固件中的各个组成部分,以解决开发过程中资源分配的真实痛点。
之所以要提供如此丰富的工具,Kevin解释说,针对不同经验水平的开发者,CodeFusion Studio需要提供差异化的支持,如果过于迎合某一方的需求,就不会取得全面成功。ADI清楚这是一个挑战,希望通过在工具中实现入门和高级功能的平衡,最大程度满足客户的要求。
如ELF文件资源管理器和一些高级调试工具,就主要针对经验丰富的工程师,ADI在可用性和用户体验方面投入了大量精力,以确保使用复杂中间件和RTOS (如Zephyr)的基本固件项目在几分钟内就能启动并运行,这样只需点击几下就能实现Hello World和Blinky。
在一个实际案例中,得益于CodeFusion Studio具备的高级调试解析功能,客户在使用多核设备时可以在同一个IDE中独立调试多核代码,轻松地从一个核的代码跳转到另一个核进行调试,大大提高了多架构调试的效率。
Kevin认为CodeFusion Studio在业内是独一无二的,最大的与众不同之处点来自两方面:
第一,SDK、IDE、生产力工具完全开源,开发者能够高效地掌控软件开发流水线上的核心部分,并通过社区中ADI的贡献加速技术的创新,而目前市场上还没有其他供应商能做到这一点。
第二,配置工具的可扩展性。用户配置的PIN或时钟选项将以JSON文件的形式保存,而不是直接生成对应的源码。这种灵活性非常重要,由于并未强加固定选项给用户,而是让用户根据自身的开发需求和偏好来产生对应的代码,对于有经验的工程师而言,这个功能是非常有共鸣的。
CodeFusion Studio 1.1
1.1版本中的一个重要的改进,是ADI提升了工具的灵活性和实用性。
Kevin说在过去的6个月内,ADI重新设计了插件架构,现在创建新的工作空间(work space)时,用户可以为系统芯片中的每一个核分别关联生成代码的各种插件。这使得用户能够根据需求来动态、可视化地配置他们的工程,最大化地按自身需求创建工程。不过,尽管ADI已经在1.1版本中集成了多个流行的代码生成插件,但仍然无法满足所有的需求。幸运的是,更新后的插件结构已经允许用户添加自己的实时操作系统、中间件、工具链等,以更好地满足用户未来的各种需求。
第二个重要的功能是系统规划器(System Planner)的推出,解决了复杂异构设备上项目创建与资源划分的诸多难题。考虑到很多固件工程师并不习惯在同一设备中处理多核问题,所以系统规划器采用获得许可的开源架构,支持在多核平台上灵活地创建项目,并通过图形界面直观地分配内存和外设资源。
该产品同时包含配置工具,能够感知内核上使用的实时操作系统或固件平台,为分配给内核的外设或内存块提供上下文感知配置设置。通过深入了解系统性能,并利用便捷的开源工具改善资源分配,开发者将能更有效地优化设计。
第三点则是对ADI Assure™可信边缘安全架构进行升级,发布公司首款数据溯源软件开发(Data Provenance Software Development)解决方案先行版,旨在为客户提供贯穿数据生命周期的数据可信度和可追溯性保障。
最后,来谈一下数据保护的主题。目前,ADI新推出的数据溯源解决方案先行版可为信号链数据构建信任框架,确保智能边缘端产生的数据在整个系统传输中的完整性、真实性和保真度。其中,保真度来源于附加的数据在传输过程中的历史信息,可信度的建立则基于强大的密码学证明,使得用户能够更便捷地评估其数据在复杂网络中的真实性和完整性,无论这些数据是用于简单的仪表板显示还是复杂的机器学习模型。
接下来会怎么做?
先谈一下CodeFusion Studio和ADI Assure今后的升级方向。按照Kevin给出的说法,CodeFusion Studio今后将每六个月定期发布一次,ADI会根据客户反馈不断对其进行改进并增加新功能,努力实现“提供最佳的多核设计和开发管道”的目标。
同时,随着安全形势的变化、新法规的出台、以及需要通过软件解决的安全领域新挑战的不断涌现,ADI Assure也将持续增加新功能,其中一个很好的例子就是前文谈到的数据溯源工具套件。根据规划,ADI会在今年四月展示由ADI托管的先行版本,并计划在今年年底向客户发布该工具套件背后的更多基础架构,这样客户就可以开始自己托管和管理该工具套件。
再来谈一下与开源社区的合作。作为具备开源属性的开发环境,通过软件和工具展示ADI深厚的技术专长,确保这些工具能够真正解决客户最复杂的难题,肯定是第一要务。但Kevin也指出,为进一步提高工具采用率,加强与开源社区的合作,使客户对关键软件基础架构具备更大的自主权,使他们能够直接对这些工具产生促进和影响,这对于实现产品的长期成功至关重要。
这种参与有助于确保软件得到长期维护和使用,有时甚至长达数十年。所以在社区互动方面,ADI接下来将致力于创建充满活力的相关开源生态系统,以便与客户密切合作。对开源资源的持续投资将促进更好的交流和创新,最终推动CodeFusion Studio和 ADI Assure的广泛应用。
结语
说服习惯于已有嵌入式开发环境的工程师更换平台并非易事。Kevin对此表示理解,但也强调说,“过渡难免要付出一些代价,因此ADI需要让这种改变尽可能简便,并且需要提供明显的优势,提供更高价值的软件。今后,ADI软件平台赢得客户的最佳机会,就是使客户尽可能轻松地完成迁移。”
