前四期测评计划:
一、开箱报告,KV260通过网线共享PC网络
二、Zynq超强辅助-PYNQ配置,并使用XVC(Xilinx Virtual Cable)调试FPGA逻辑
三、硬件加速之—使用PL加速矩阵乘法运算(Vitis HLS)
四、硬件加速之—使用PL加速FFT运算(Vivado)
本人属于第二批次中奖者,最初以为没戏了,后来接到小助手电话,说我被选中了,还有点小惊喜,非常感谢电子发烧友和安富利提供的这次机会。
这次测评的套件不仅包括KV260主板(官网价值$249),还包含两套官方配件:Kria KV260 电源与适配器(官网价值$25),Kria KV260 基本配件包(官网价值$59)。这样的配置,可以说是诚意满满,必须给个大大的赞~
官网地址:https://china.xilinx.com/products/som/kria/kv260-vision-starter-kit.html
开箱完毕,套件齐全,诚不欺我:
从业电子十余年,每当拿到威廉希尔官方网站
板,总期望能够高效地测试和验证威廉希尔官方网站
板的各项功能,实际情况往往并不如“迅速”二字所愿。目前工业上主流的控制方案是单独的ARM加FPGA,或者DSP加FPGA。这些方案都需要软件、逻辑、硬件,甚至系统工程师的协同调试。大家必须按照预先拟定的计划和接口规范,分(互)工(相)合(推)作(诿)。这无疑增加了测试过程的复杂度和低效性,也是工业应用中一个普遍存在的痛点。
于是Zynq来了,它开始走进各个行业,下图取自国外网友拆解特斯拉的4D毫米波雷达。
我从事Zynq芯片的开发已有几年时间,曾经使用过zcu104和zcu106两种开发板。Zynq系列芯片是AMD(Xilinx)公司推出的一种集成了ARM处理器和FPGA可编程逻辑的系统级芯片(SoC)架构。与其竞争对手Intel(Altera)公司的类似产品相比,Zynq系列芯片的特点是提供了完善的软件和工具包支持。无论你是想使用rtl代码或原理图来设计硬件,还是想使用C/C++来实现算法,或者只想开发一些应用程序,都可以找到合适的工具。例如,vivado是一款专业的硬件设计工具;vitis hls是一款高级综合工具,可以将C/C++代码转换为硬件逻辑;vitis是一款集成开发环境,可以调用加速包来优化应用程序;petalinux是一款Linux系统构建工具,可以快速生成定制化的Linux系统;Ubuntu Desktop 22.04 LTS是一款预先配置好的Linux操作系统,可以直接烧录到开发板上使用。如果你想快速体验Zynq芯片的功能和优势,那么KV260视觉AI入门套件是一个不错的选择。它是一款面向视觉AI应用的开发平台,支持多种摄像头接口、显示输出、网络连接等功能。它还提供了多种预置的加速应用和培训资源,无需复杂的硬件设计知识就能轻松开发高级视觉应用。
官方声称:开箱即用,即刻启动应用开发,在 1 小时内启动并运行!
今天,我们就跟随官方的步伐,试试一小时内启动并运行。
从官网链接:https://china.xilinx.com/products/som/kria/kv260-vision-starter-kit.html,可以进入到“使用 Ubuntu 启动设计”
在这里,你可以找到所有需要的文件,就像在PC上安装应用软件一样,你只需按照内容提示完成每一步操作即可。
下载内容包括:
- Kria Ubuntu Desktop 22.04 LTS 映像
- Balena Etcher
"LTS" 表示这个版本会在发布后得到长时间的支持和维护,这对于那些希望稳定性和可靠性的用户而言,特别是企业用户,是一个重要的特性。
烧录过程特别简单,就不再贴中间过程了,烧录后将SD卡插入KV260,进入登录页面。
我个人的习惯是不进入桌面系统的,因为图形界面比较耗资源。首先通过串口进行基本配置,开发过程也基本没有串口什么事了,都是通过网口使用SSH连接KV260。
(无论是图形桌面还是远程终端登录ubuntu系统,都要求立即修改密码,而且需要满足复杂度规则,密码容易被遗忘,请找个地方记下来)
通过以下命令可以关闭图形桌面:
sudo xmutil desktop_disable
如果想再次开启图形桌面,运行以下命令:
sudo xmutil desktop_enable
KV260通过PC共享局域网
如果你在公司使用KV260做开发,可能会面临如何让KV260连接到公司的局域网的问题,出于安全原因,大多数公司都会进行IP过滤。这时候有一个很好的方案,让KV260连接到你的笔记本电脑,而你的笔记本电脑可以连接公司内网,电脑和KV260互传文件也不会占用公司带宽。
具体配置过程如下:
通过终端配置KV260的网络,运行以下命令,然后在vim中编辑配置文件。
`>> sudo vim /etc/netplan/50-cloud-init.yaml`
network:
renderer: NetworkManager
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.0.3/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses: [192.168.0.1]
>> sudo netplan apply //使配置生效
>> ip route //查看网关设置
解释:
dhcp4: no
禁用IPv4的动态主机配置协议(DHCP),即禁止自动获取IP地址
addresses
指定了接口的IPv4地址和子网掩码,eth0接口的IP地址被设置为192.168.0.3(自定义KV260的地址),子网掩码为/24,相当于255.255.255.0。
routes
这个部分用于设置路由规则。
via: 192.168.0.1
默认路由网关,KV260与PC相连,他们应当各有一个地址,这里填写PC端的地址:192.168.0.1(自定义的PC端的地址)。
nameservers
这是指定DNS服务器的部分。
addresses: [192.168.0.1]
指定了DNS服务器的IP地址,请填写PC端的地址:192.168.0.1。
注意,以上内容需要保持缩进一致,才能保证ubuntu正确识别网络设置。
在PC中设置网络共享
共享网络配置完毕,我们可以ping www.baidu.com看看是否能够连接外网:
总的来说:
官方宣称的一小时内启动并运行可以实现,由于之前就熟悉zynq平台,所以这个过程还是比较顺利。当然,如果你是新手,又刚好遇到点bug,那就不必非要纠结1小时内启动并运行,慢慢按照官方更加详细的文档资料来操作,问题总能解决。
下期内容:
使用python开发zynq,可以快速验证你的算法。化繁为简,一根网线调试一切。XVC(Xilinx Virtual Cable) 是一种基于 TCP/IP 的通信协议,它可以模拟 JTAG 线缆的功能,无需使用物理线缆就可以访问和调试 Zynq。