【KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新
一、KV260 视觉 AI 入门套件
Xilinx® Kria™ KV260 视觉 AI 入门套件由K26 系统级模块 (SOM)、载卡和散热解决方案组成。
u SOM 集成了核心数字硬件组件,包括 Zynq® UltraScale+ ™ MPSoC、运行时存储器、非易失性启动设备、集成电源解决方案和安全模块。
u 以视觉为中心的 KV 载卡提供各种应用外设选项,包括各种摄像头/传感器输入、视频显示输出、USB、SD 卡和以太网物理接口。
u 散热解决方案包括散热器、散热器盖和风扇。
Kria KV260 Vision AI 入门套件旨在为客户提供一个平台来评估其目标应用,并最终使用 K26 SOM 设计自己的载卡。主要目标应用包括智慧城市、AI/ML 计算、安全和未来零售。
KV260入门套件框图
KV260入门套件接口图
Kria™ KV260 视觉 AI 入门套件需要一个 12V、3A 电源适配器来为套件供电。
图、KV260 开发板外包装
图、KV260 开发板
二、KV260 视觉 AI 入门套件启动设备
Kria™ KV260 Vision AI 入门套件具有主启动设备和辅助启动设备,可将特定于平台的启动固件,与运行时的操作系统和应用程序隔离。这使你能够专注于开发和更新应用程序映像中的应用程序代码,而无需重新生成和烧录启动固件。
u 主引导设备是位于 SOM 上的 QSPI 内存,
u 辅助引导设备是载卡上的 SD 卡接口。
默认情况下,KV260 入门套件Carrier Card将 XCK26 引导模式设置为 QSPI32。SOM 使用 QSPI 内容启动到 U-Boot,然后 U-Boot 执行到辅助启动设备的切换。
注意:您必须刻录 SD 卡映像并在载具卡中填充 SD 卡,套件才能成功引导到 Linux。
下图概述了整体启动设备定义和固件内容。
图、KV260整体启动设备定义和固件内容
2.1****主引导设备
主引导设备是位于 SOM 上的 QSPI 设备。必要的元素以 Zynq® UltraScale+ ™ MPSoC 特定格式打包,并保存为
BOOT.bin 的文件。BIN 文件包含由以下元素组成的主板特定的启动固件:
FSBL :
第一阶段引导加载程序固件
PMU :平台管理单元固件
ATF :布防®可信固件
U-Boot :第二阶段引导加载程序
U-Boot 提供主引导设备和辅助引导设备之间的切换功能。它将搜索 SD 卡和 eMMC 辅助启动设备;如果两者都被检测到,它将提供一个菜单界面供您选择所需的 Linux 引导目标。
主引导设备提供以 A/B 配置排列的引导固件的冗余副本。A/B 配置提供动态的主映像和次映像操作以及相应的更新机制。引导时,系统会自动从定义的主映像引导,如果引导失败,系统将回退到先前已知良好的引导映像。
**2.2
**辅助引导设备
KV260入门套件上的辅助引导设备是SD卡。它包含操作系统映像和关联的应用程序文件。KV260 初学者工具包加速应用程序参考基于 Linux 操作系统构建。入门网页提供了一个预构建的参考映像,可以将其写入 microSD 卡以实现开箱即用的功能。如果要自定义操作系统,也可以使用 SOM 板支持包
(BSP)。
**2.3
**加速应用
Xilinx SOM 平台支持多种加速应用,这些应用可动态安装在
SOM 平台上。SOM 初学者 Linux 映像与应用程序无关,并提供一组实用程序,用于从 SOM Linux 包源中提取硬件加速应用程序示例。
加速应用是软件可控的、特定于应用的参考设计,供
AI 开发人员、嵌入式开发人员和系统架构师通过软件控制或更新 AI 模型来定制和增强功能。下表概述了可用于KV260入门套件的一些特色加速应用程序。请考虑将此列表作为起点,因为 SOM 入门网页包含最新的加速应用程序可用性。
表、KV260 Accelerated Applications
Name |
Description |
---|
Smart camera |
Configurable camera/sensor input options |
with hardware accelerated ML inference with face detection and other models |
|
that can be dynamically loaded. Inference information is outputted to a |
|
monitor or network via RTSP. |
|
AI box-ReID |
Multi-stream IP camera RTSP inputs with |
hardware accelerated ML inference models supporting face detection and |
|
re-identification (ReID) models. Outputs are displayed to monitor. |
|
Defect detection |
Hardware accelerated machine vision |
application as applied in defect detection. |
|
**2.4
**加速应用程序包选择
1、
如果您尚未验证互联网连接,请在通过 ping 测试或 DNS 查找(例如
nslookup)继续之前验证。
2、
sudo
xmutil getpkgs 列出了一系列适用于您的平台的软件包组。软件包组命名约定为:软件包组kit_name application_name。例如,KV260平台的智能相机应用程序具有以下软件包组名称packagegroup-kv260-smartcamera。您可以通过为所选应用程序包组执行 DNF 安装,将任意数量的匹配加速应用程序安装到您的平台。例如,要安装智能相机应用程序,请运行sudo dnf安装软件包组-kv260-智能相机。
3、
对于通过 DNF 安装在本地文件系统上安装的任何应用程序,平台现在可以动态加载和交换这些应用程序。要查看系统本地应用程序的列表,请执行 sudo xmutil listapps。您还可以通过手动浏览 /opt/xilinx
目录来查看哪些应用程序是本地的。
4、
默认情况下,kv260-dp 在引导时加载。从应用程序列表中,检查是否加载了活动应用程序(在
xmutil listapps 输出中活动 = 1)。如果存在已加载的应用程序,请通过运行 sudo xmutil unloadapp 命令卸载当前应用程序来卸载它,然后再继续下一步。
5、
从应用程序列表中,通过运行 sudo xmutil loadapp application_name 来启动新应用程序。将自动处理平台配置并启动应用程序。
6、
具有基于 Jupyter 的驾驶舱的应用程序将自动启动。您需要将 Web 浏览器指向关联的 IP 地址和端口。关联的 IP 地址和端口信息在启动时打印到 UART。要在初始启动后查询 Jupyter 实验室服务器 URL,请运行:sudo jupyter notebook list。
**2.5
**支持的外设
**2.5.1
**加速应用外设
下表概述了使用相应的加速应用程序进行测试的外部外设。建议使用列表中的外设,以确保实现最大的平台性能。
表格:加速应用外设
| **Accelerated
Application** |
Peripheral |
Part Number |
---|
Smart camera |
IAS camera sensor ISP interface (J7) |
OnSemi AR1335 sensor module. Avnet part |
number: CAVBA-000A |
|
|
Smart camera |
USB camera |
Logitech BRIO |
Smart camera |
Audio Codec I2S PMOD (J2) |
Digilent PMOD SKU 410-379 |
AI-Box-ReID |
IP camera |
Amcrest IP8M-2493EW |
**2.5.2 **使用 KV260 入门套件进行功能验证的外部外设
下表概述了使用 KV260 入门套件进行功能验证的外部外设。
表格:KV260 入门套件功能测试外设
| Peripheral | **Part
Number** |
|
---|
RPi |
|
camera interface (J9) |
Raspberry |
Pi camera module v2 |
|
IAS |
|
camera sensor ISP interface (J7) |
OnSemi |
AR1335 |
|
IAS |
|
camera sensor ISP interface (J7) |
OnSemi |
AR0144 |
|
IAS |
|
camera sensor direct interface (J8) |
OnSemi |
AR1335 |
|
| KV260 Starter Kit Functionally Tested Peripherals |
| Peripheral | Part Number |
| ---------------------------------------------------------- |
| IAS camera sensor ISP interface (J7) | OnSemi AR0144 |
| IAS camera sensor ISP interface (J7) | OnSemi AR1335 |
| IAS camera sensor direct interface (J8) | OnSemi AR1335 |
| RPi camera interface (J9) | Raspberry Pi camera module v2 |
三、Xilinx Tools
Integration 赛灵思工具集成
K26LTD SOM 和 KV260 入门套件与 Vitis™ 软件开发平台和 Vivado® 设计套件集成,可在平台上快速开发您的独特应用。
3.1 Vitis Platforms
对于 KV260 入门套件,可以使用以下 Vitis 基础平台。Vitis 基础平台可在 kv260-vitis GitHub 存储库(kv260-vitis GitHub
repository)中找到。KV260 基础平台在持续更新,因此在开始设计工作之前,务必参考存储库以获取最新的平台列表。
3.1.1 kv260_ispMipiRx_vcu_DP
l 使用 IAS ISP MIPI 接口进行视频采集,用于 AR1335 传感器模块配置
l 使用标准显示端口和/或HDMI™显示
l 通过 PMOD 音频编解码器进行音频传输和接收
(I2S)
l 视频编解码器单元 (VCU) 编码/解码和一个流编码缓冲区
l 支持 NV12 视频格式的 4k30 和 1080p30
3.1.2
kv260_vcuDecode_vmixDP
l 四个输入流的VCU解码
l 使用视频混合器 (VMIX) 到显示端口和/或 HDMI 进行 2x2 显示配置的显示
l 每个流的分辨率支持 1080p30
3.1.3
kv260_ispMipiRx_vmixDP
l 使用 IAS ISP MIPI 接口进行视频捕获,用于 AR0144 传感器模块配置
l 四个流的VCU解码
l 使用视频混合器 (VMIX) 到显示端口和/或 HDMI 进行 2x2 显示配置的显示
** 3.1.3 Vitis 基础平台命名方式**
Vitis 基础平台是在特定硬件目标及其支持的物理外设接口的上下文中构建的。命名方式如下,
starter-kit-name_interface1_interface2
例如,kv260_ispMipiRx_vcu_DP基础平台以KV260入门套件为目标,并在载卡上启用与ISP的MIPI接收接口和到DisplayPort的标准单个视频流。
有关 Vitis 工具和
Vitis 基础平台工作流程的更多信息,可参阅 Vitis 统一软件平台文档:应用加速开发 (UG1393)。 (UG1393).
3.2 Vivado Board Flow
K26LTD SOM 通过 Vivado 电路板流程功能在 Vivado 设计套件中启用。Vivado Board Flow 可实现一定程度的硬件抽象,可自动配置固定在 SOM 卡上的外设(例如 DDR4),定义相关的时序约束,并提供 SOM 连接器上可用的可定制物理 I/O。
Vivado SOM 板模型可通过 Vivado 安装过程以及 Vivado 板文件 GitHub 存储库获得。以下 KV260 相关 Vivado 板文件可用。
**KV260 **入门套件:
配置了带有视觉入门套件配套卡的 K26 SOM
SM-K26-XCL2GC
K26商业级生产SOM
SM-K26-XCL2GI
K26工业级生产SOM
Xilinx
SOM 电路板流程基础设施通过 Vivado 工具配套卡机制提供入门套件载卡感知。选择 SOM 和关联的载卡(如 KV260 入门套件)时,I/O 连接和外围设备 IP 配置的自动化用于创建硬件配置。
有关使用 Vivado 工具和 Vivado 电路板流程的更多信息,请参阅 Vitis 模型编辑器用户指南
(UG1483) (UG1483).
四、主板复位、固件更新和恢复
**4. 1
**上电复位
1、 SOM 复位信号(PS_POR_L)保持复位状态,直到载卡上置位CC_PS_PGOOD信号。
2、 载卡上的所有 PS 和 PL I/O 设备复位信号都保持复位状态,直到 PS 和 PL 电源域上电并稳定后 25 ms。
3、 您可以通过按下复位按钮(CC SW2)或通过软件命令复位,在KV260入门套件上执行硬复位。
下图显示了KV260入门套件支持的复位功能。
4.2 固件更新
固件更新按钮是位于 KV260 入门套件托运卡上的物理 SW1/FWUEN 按钮。该按钮用于支持两个功能:
在开机期间强制平台进入恢复模式应用程序。例如用以太网恢复工具恢复应用程序。
安全机制,用于防止在没有用户实际存在的情况下远程更新启动固件。
4.2.1 以太网恢复工具
以太网恢复工具是 Xilinx 提供的
KV260 入门套件 QSPI 映像中包含的小型应用。它提供了一个简单的基于以太网的接口和应用程序,用于更新启动固件。此应用程序和界面通过在开机序列期间按住固件更新按钮来启动。应用程序使用固定 IP 地址 192.168.0.111。下图显示了设置的概述。
以太网恢复工具设置
以太网恢复工具提供了一种机制,用于在 Linux 无法正常工作时更新主引导设备中的任一动态引导分区。如果 Linux 正常运行,建议使用 xmutil 引导固件更新实用程序更新引导固件。相关的更新内容是捕获为 BOOT 的 Xilinx XCK26 二进制启动映像BIN。KV260 初学者工具包出厂时的启动BIN 映像可在 Xilinx SOM 入门网页上找到。
通过Xilinx Vitis和PetaLinux工具生成自己的BOOT.BIN码。
使用以太网恢复工具时,按照下列步骤操作:
通过以太网将PC连接到KV260入门套件,如图1所示。
将 PC 设置为与恢复工具 (192.168.0.XYZ) 位于同一子网上的静态 IP 地址,但不要设置为 192.168.0.111。
打开设备电源时按住固件更新按钮。您还应该看到恢复应用程序中的
UART 打印输出。
在 PC 上使用网络浏览器(例如 Chrome 或 Firefox)导航到 URL http://192.168.0.111 以访问以太网恢复工具。
使用 Web 浏览器中的以太网恢复工具 GUI 使用 BOOT 更新 A 或 B 引导固件分区。来自 PC 上文件系统的 BIN 文件。以太网恢复工具界面如下图所示。
图、以太网恢复工具界面
参考资料:
1.Kria KV260 Vision AI Starter Kit User Guide
(UG1089)
https://docs.xilinx.com/r/en-US/ug1089-kv260-starter-kit/Summary
- Primary Boot Device • Kria KV260
Vision AI Starter Kit User Guide
https://docs.xilinx.com/r/en-US/ug1089-kv260-starter-kit/Primary-Boot-Device
3.Xilinx Tools Integration • Kria KV260 Vision
AI Starter Kit User Guide
https://docs.xilinx.com/r/en-US/ug1089-kv260-starter-kit/Xilinx-Tools-Integration