啥都吃的豆芽 · 2022年12月29日

AVH 技术干货 | 如何应对 IoT 领域 CI/CD 测试挑战?

本期小编将带大家回顾极狐 GitLab 大讲坛之“极狐 GitLab CI/CD 和 MLOps 在 IoT 开发中的实践”课程。

带领各位开发者朋友进一步了解 Arm 虚拟硬件 (Arm Virtual Hardware, AVH) 和极狐 GitLab 如何高效结合来完美应对 IoT 领域 CI/CD 测试所面临的挑战。

本次课程主要涵盖以下四部分内容:

  1. 简单介绍诸如单元测试等软件测试基本概念并通过 Demo 示例演示讲解如何使用极狐 GitLab 进行 CI/CD 测试。
  2. 分析说明现阶段 IoT 领域自动化 CI/CD 测试所面临的挑战,即 IoT 应用程序的开发测试对于硬件的依赖性较高、实体硬件运维成本高且难以扩展等问题。
  3. 深入阐述如何将 AVH 和极狐 GitLab 结合实现“云” CI/CD 测试有效解决了上述问题,使得 IoT 应用软件的开发测试得以摆脱对于实体硬件的依赖,并通一个 AI 语音唤醒 Demo 详尽直观地演示了整个 CI 自动化测试的配置方法以及工作流程。
  4. 介绍极狐 GitLab 如何在边缘计算助力 MLOps 的生命周期管理。

更多精彩内容欢迎观看课程回放:

https://www.bilibili.com/vide...

下文将重点带大家重温第 3 部分:使用 AVH 和极狐 GitLab 结合实现“云” CI/CD 测试。帮助大家更深入地了解 AVH 的虚拟外设接口中的 VSI 功能,这也是许多初次接触 AVH 的小伙伴所热切关注的问题之一。

AVH 提供了 VIO (Virtual Input/Output), VSI (Virtual Streaming Interface) 以及 VSocket (Virtual Socket Interface) 等多种类型的虚拟接口。如下图所示,由于 AVH 集成了虚拟外设接口,因而开发者可以首先通过模拟外设数据在 AVH 平台上完成相应的功能测试,然后进一步地在硬件实体可用后再完成相应的硬件和系统集成测试,也使得 IoT 软件的开发摆脱了对于实体硬件的依赖。

image.png

VSI 虚拟数据流接口是一种灵活的虚拟外围设备,它可以模拟很多不同类型的数据流,被广泛用于多种应用场景中,例如机器学习应用程序中常见的音频、视频和各种传感器等数据。本次课程中所展示的示例代码正是使用了虚拟外设 VSI 接口模拟了一系列的音频数据流,下图展示了 Arm Corstone-300 虚拟硬件系统和虚拟音频流 VSI 交互的示意图。

image.png

图:适用于 Linux 和 Windows 系统的 Arm Corstone-300 虚拟硬件

在实际应用测试中,您可以将想要测试的音频文件(例如:示例代码中的 Platform_FVP_Corstone_SSE-300_Ethos-U55 目录下的 test.wav 文件)通过 VSI 的 Python 接口脚本配置(例如: 示例代码中的 VSI/audio/python 目录下的 arm_vsi0.py (输入)和 arm_vsi1.py(输出)文件),并在调用虚拟硬件平台时通过 -V 参数指定虚拟外设的 Python 接口脚本的路径(例如: VHT_Corstone_SSE-300_Ethos-U55 -V "../VSI/audio/python" -f fvp_config.txt -a Objects/microspeech.axf --stat --simlimit 24 $*),即可使用 VSI 功能来模拟所测试应用的外设数据。

更多关于 AVH 虚拟接口 (Virtual Interfaces) 的信息,欢迎扫描下方二维码参考 AVH 帮助文档。

image.png
更多关于 AVH 虚拟接口及 VSI 功能实现的技术细节和示例代码可查看 AVH 虚拟接口帮助文档或扫描下方二维码深入了解。

image.png

作者:Arm社区
文章来源:Arm社区

推荐阅读

AVH动手实践 (三) | 在Arm虚拟硬件上部署PP-PicoDet模型
AVH 动手实践 (二) | 在 Arm 虚拟硬件上部署 PP-OCR 模型
AVH 动手实践 (一) | 在 Arm 虚拟硬件上部署 PaddlePaddle 模型

推荐阅读
关注数
2603
内容数
8
Arm虚拟硬件相关技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息