Arm Corstone-320 FVP仿真平台介绍

描述

开发机器学习 (ML) 应用颇具挑战,尤其是涉及专用硬件时。好消息是,Arm Corstone-320 固定虚拟平台 (Fixed Virtual Platform, FVP) 简化了这个过程,无需物理硬件即可开发和测试 ML 应用。

Corstone-320 FVP 仿真平台为开发先进的 ML 应用提供了强大基础。访问以下链接,了解如何开始使用 Corstone-320 FVP,并利用该网站上提供的 Arm ML 嵌入式评估套件 (MLEK)。

什么是固定虚拟平台?

固定虚拟平台 (FVP) 是成熟的硬件仿真模型,无需物理硬件即可进行软件开发和测试。FVP 在开发初期尤其有价值,开发者无需等到硬件到位,可大幅提前启动软件开发工作。

FVP 能够准确呈现最终的硬件,确保在 FVP 上开发和测试的软件在部署到物理设备上后,能够按预期运行。由此大大加快了开发周期,降低了成本,并减轻了因依赖硬件而产生的风险。

Arm Corstone-320 介绍

Arm Corstone-320 是一个预先集成的系统 IP,其中结合了 Arm Ethos-U85 NPU 和 Arm Cortex-M85 处理器。Ethos-U85 NPU 是一款专用 ML 处理器,旨在加速嵌入式和物联网设备中的 ML 计算,是高效处理 ML 工作负载的理想选择。

开发者需要平台软件来充分发挥硬件的潜能。Arm 提供了大量可与 Corstone-320 配合使用的软件组件和工具,其中包括:

以 CMSIS Core 和 CMSIS-Driver 库的形式提供的基本设备驱动程序和硬件抽象层。

与 FreeRTOS 和 Zephyr 等热门实时操作系统 (RTOS) 的集成。

诸如 Mbed TLS 和 Trusted Firmware-M 之类的安全软件,提供强大的加密、安全存储和安全的固件更新。

面向专业开发者的工具,包括 Keil MDK。

用于在 Ethos-U85 NPU 上运行终端人工智能 (AI) 应用的驱动程序和库。

Arm 的免费开源软件让开发者可以在 Corstone-320 上构建和运行终端 AI 应用。

Arm ML 嵌入式评估套件概览及用例

开源项目 Arm ML 嵌入式评估套件提供了一套即用型 ML 应用,使用户能够开发和评估在 Ethos-U NPU 和 Cortex-M CPU 上运行的 ML 工作负载。该套件包括用于测量性能指标(推理周期数等)的用例和工具。

MLEK 提供端到端软件用例,展示了 Ethos-U NPU 和 Cortex-M CPU 的功能。以下列出了其中包含的 ML 应用:

图像分类:使用 Mobilenet V2 神经网络模型识别每个图像中存在的物体。

关键词检测 (KWS):使用 MicroNet 模型识别语音中的关键词。

自动语音识别 (ASR):使用 Wav2Letter 模型从语音中转录单词。

KWS 和 ASR:使用 MicroNet 和 Wav2Letter 模型,在检测到关键词后,利用 Cortex-M 和 Ethos-U 进行转录。

异常检测:使用 MicroNet 模型检测机器录音中的异常行为。

视觉唤醒词:使用 MicroNet 模型识别图像中是否有人。

降噪:使用 RNNoise 模型在保留语音的同时,去除音频中的噪声。

物体检测:使用 Yolo Fastest 模型检测图像中的人脸并在周围绘制边界框。

通用推理运行器:使用你自己的模型为 Ethos-U NPU 开发自定义用例。

开始使用 Corstone-320 FVP

第一步

安装 FVP

首先,安装面向 Arm Corstone-320 的 FVP。按照 Arm ML 嵌入式评估套件项目安装指南设置虚拟环境。

第二步

设置环境

接着,设置你的开发环境。克隆 Arm ML 嵌入式评估套件存储库并按照提供的设置说明进行操作。确保已安装所有必要的依赖项。另请参阅 Arm ML 嵌入式评估套件的完整文档。

第三步

探索示例应用

Arm ML 嵌入式评估套件项目提供了一系列 ML 应用示例。首先,通过探索这些示例来了解 Ethos-U NPU 和 Cortex-M CPU 的使用方法。运行提供的示例,以查看推理周期数和性能指标。

第四步

在 FVP 上部署和运行

选择或开发 ML 应用后,在 Corstone-320 FVP上进行部署和运行。首先,编译你的应用代码并确保其与 FVP 环境兼容。将编译后的二进制文件移动到虚拟环境并参考提供的指南。确保根据你的配置遵循相应的部署说明。

部署后,在 FVP 上开始运行应用。监控输出日志并使用调试工具来跟踪模型的性能和功能。利用收集到的性能指标进一步微调和优化你的 ML 应用。

修改现有的 Arm ML 嵌入式评估套件模型或集成你自己的自定义模型,以查看它们在 Corstone-320 FVP 上的表现。通过尝试不同的场景来优化性能。

增强开发工作流

为了进一步增进你的开发能力,请探索旨在简化工作流的 Arm 项目和工具。

使用 Arm Keil MDK v6 工具

Keil MDK v6 是 Arm 提供的全面软件开发解决方案,适用于基于 Cortex-M 的微控制器和基于 Ethos 的 NPU。它提供了无缝创建、构建和调试应用所需的一切基本组件。

Keil MDK v6 利用 CMSIS-Pack 提供设备和威廉希尔官方网站 板支持,并提供项目所需的软件组件。新的 Keil Studio IDE 由一组 VS Code 扩展组成,全面支持 CMSIS 工作流并提供集成调试器来实现高效的开发体验。

首先,安装 Keil Studio Pack。对 CMSIS-Pack 的支持有助于加快开发和部署速度。在 Visual Studio Code 中安装 Keil MDK v6 扩展时,会自动配置所有必要的工具,并自动安装 Corstone FVP,以提高便利性。

在 GitHub 上,基于 CMSIS Pack 的 ML 示例可帮助你探索 Arm Keil MDK v6 工具。这些 ML 示例使用了 Keil MDK v6 和 MLEK中的 CMSIS-Pack。

探索其他项目和工具

除了上述步骤之外,还有其他一些重要资源可以提升你在使用 Corstone-320 FVP 时的开发体验。

如果你想构建一个连接到云服务并内置安全功能的应用,那么 Arm Corstone FreeRTOS 参考集成是一个很好的起点。其中提供了一个包含 FreeRTOS 内核和库的完全集成的堆栈,以及与 Trusted Firmware-M 安全库集成的亚马逊云科技 (AWS) 设备管理服务。

这符合严格的 PSA Certified 安全要求,并提供与 AWS 托管应用的加密通信、安全的端侧存储和设备认证等功能。此外也可以通过 PSA 固件更新机制安全地更新设备固件。

另一个用于仿真的资源是 Arm 虚拟硬件 (Arm Virtual Hardware) 平台,你可以在云端模拟硬件,用于开发和测试目的。利用这个平台,你可以在将应用部署到实际硬件上之前,在虚拟环境中进行测试,从而加快开发周期。

结论

随着 Arm Corstone-320 硬件和软件的推出,开发者可以更轻松地开始构建引人注目、功能丰富的端点 AI 应用。Arm 提供了一系列全面且易于使用的项目和教程,帮助你充分利用 Arm IP。在上述示例中,Corstone-320 FVP 与 Arm ML 嵌入式评估套件相结合,为在嵌入式和物联网设备上开发和评估 ML 应用提供了一个强大的平台。通过本指南,即可利用预先集成的系统 IP 和 Arm 提供的各种工具来高效地创建和优化 ML 工作负载。

此外,Arm Developer Community 提供了丰富的教程、文档,并设有william hill官网 ,你可以在其中找到问题的答案并与其他开发者分享见解。这些资源将帮助您充分利用 Corstone-320 FVP 并增强 ML 应用开发能力。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分