项目简介
本项目是基于Azure IoT Edge的模块,用于控制Intel® Cyclone® V SoC FPGA。其核心是通过Raw Binary Files (.rbf) 实现FPGA配置的云端部署,将配置文件发送到远程设备。支持Terasic De10 - Nano开发板,可借助Azure IoT Edge的容器化模块部署机制,实现大规模的FPGA配置部署。
项目的主要特性和功能
- 云端部署:利用Azure IoT Edge,能从云端将FPGA配置文件部署到远程设备,实现远程管理和更新。
- 设备支持:主要支持Terasic De10 - Nano开发板,理论上可移植到其他Cyclone V硬件。
- 容器化部署:采用Docker容器化技术,保证部署的一致性和可重复性。
- 多阶段构建:使用多阶段Dockerfile构建组件,提供强大的部署机制。
安装使用步骤
前提条件
确保目标设备安装了与IoT Edge兼容的内核/操作系统,且为Debian兼容系统。设备需通过以太网端口连接到互联网,并通过串口连接进行操作。
设备环境准备
- 确保设备系统更新并安装curl:
bash sudo apt update sudo apt upgrade sudo apt install curl
- 验证设备内核是否支持Moby:确保
Generally Necessary
和Network Drivers: - "overlay"
中的项目都已启用,若未启用,需参考内核源代码进行配置。 - 安装Moby:
bash curl -L https://aka.ms/moby-engine-armhf-latest -o moby_engine.deb && sudo dpkg -i./moby_engine.deb curl -L https://aka.ms/moby-cli-armhf-latest -o moby_cli.deb && sudo dpkg -i./moby_cli.deb sudo apt-get install -f
验证Moby是否安装成功:bash systemctl status docker
- 安装IoT Edge安全守护进程和运行时:
bash curl -L https://aka.ms/libiothsm-std-linux-armhf-latest -o libiothsm-std.deb && sudo dpkg -i./libiothsm-std.deb curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i./iotedge.deb sudo apt-get install -f sudo ln -s /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0 /lib/arm-linux-gnueabihf/libcrypto.so.1.0.2 sudo ln -s /usr/lib/arm-linux-gnueabihf/libssl.so.1.0.0 /lib/arm-linux-gnueabihf/libssl.so.1.0.2
按照步骤手动配置IoT Edge以连接到Azure IoT Hub,验证服务是否启动成功:bash sudo systemctl status iotedge
部署DE10Nano_RBF_Loader模块
- 右键点击
deployment.template.json
,选择Generate IoT Edge Deployment Manifest
,生成deployment.arm32v7.json
文件。 - 右键点击
deployment.arm32v7.json
,选择Create Deployment for Single Device
,并选择IoT Hub中代表DE10 - Nano的设备。 - 若要部署自定义的.rbf文件,编辑
DE10Nano_RBF_Loader/module.json
指向自己的Docker仓库,用自定义的.rbf文件覆盖fpga_config_file.rbf
,然后右键点击deployment.template.json
,选择Build and Push IoT Edge Solution
,再次进行部署操作。 - 确认FPGA是否已配置:
bash sudo iotedge logs DE10Nano_RBF_Loader
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】