从零部署kv260官方例程smartcam

xilinx KV260 是 Kria 系列的开发板,全名应该是 Kria KV260 视觉 AI 开发套件。这款开发板专为边缘视觉应用设计,特别是针对那些需要高性能计算能力的应用场景,如机器学习、计算机视觉等。KV260 开发板集成了 Xilinx 的 Zynq UltraScale+ MPSoC 器件,该器件结合了 ARM 多核处理器与 FPGA 可编程逻辑,能够在提供软件可编程能力的同时,也提供硬件优化的性能。

然而现在关于kv260开发的例子非常少,跟着官方的案例走又经常会遇到各种各样的问题,因此带大家从零开始部署kv260的官方例程smartcam。

第一步:硬件连接

我们试验的设备包含KV260开发板,官方摄像头,一个16G/32G内存卡及读卡器,以及一台显示器(可选),具体的连接情况如下图所示。

 第二步:操作系统烧录

KV260所采用的操作系统为xilinx公司裁切过后的ubuntu系统。目前xilinx公司提供了两个版本,分别为22和24版本,其中24版本没有例子,因此在这里我们烧录2022版本ubuntu镜像

下载后为.img.xz文件 ,解压后为.img文件。虽然烧录是选用解压前后的文件都可以,但在这里建议选用解压后的文件进行烧录,这样更快且更不容易出现验证错误的问题。

下面选择烧录软件,我选用的是balenaEtcher,选择对应操作系统的版本下载并安装即可

 打开后烧录文件选择解压后的镜像文件夹,烧录盘选择你的SD卡,点击烧录即可,它会自动格式化SD卡并进行烧录。

 少录完成后插入板子上电启动即可。

第三步:电脑通信与系统更新

xilinx提供的ubuntu22版系统是带图形化界面的,24版系统不带。使用22版系统时不建议使用其自带的图形化界面,因为在运行很多例程时都需要关闭图形化界面。建议如果你使用的是需要登录的校园网需要登录以外,选择使用串口或ssh进行通信。这里我使用的是ssh通信,这样不需要有线连接,具体方法如下。

我选用的是mobaXterm软件,在网上直接下载即可。安装后首先设置串口波特率为115200与板子连接。首次登录账号和密码都为ubuntu,登录后会要求更改密码,密码在8位或以上,账号不变

 连接后,使用

ping 8.8.8.8

测试网络连接,若连接无误则如下

然后ctrl+z退出即可。 

 接着使用ifconfig指令查看网络端口,并将端口号输入host区域OK即可。接下来就不再需要串口进行连接了。

第四步:系统更新

使用

sudo apt update
sudo apt upgrade

 进行系统更新,在这里可能需要一段时间,所有地方都选择默认即可,一路enter到底。

最后有如下falied没有关系,并且后面会多次遇到这个报错,都不用管即可。

第五步:配置docker 

 xilinx仍沿用docker进行开发,首先我们要安装docker。首先使用

sudo apt-get update

或许可用更新。使用

sudo snap install docker

安装docker镜像。

这里注意,从这里开始按照官方例程很可能会出错,尤其是在后续使用pull拉取例程时会出现short-name的情况,这主要是由于podman-docker版本的问题,随着更新,之前老的podman-docker已不可用,因此我们不再依赖podman-docker进行。

首先我们使用

apt-cache madison docker.io

查看可用的docker.io版本,并选择 20.10.21-0ubuntu1~22.04.3版本,这个版本是最适配例子的版本,别的版本有可能有问题。

sudo apt install docker.io=20.10.21-0ubuntu1~22.04.3

同样一路enter不管failed。这样docker就安装好了(注意这里跳过了官方例程的podman-docker),接下来我们将给docker权限 

sudo chown root:docker /var/run/docker.sock
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker

接下来我们可以试一下docker的官方例程

docker run hello-world

这时我们会发现docker没有办法pull下我们需要的例子。这主要是因为国内无法登录docker hub的问题。因此我们需要换源。这里参考例子1例子2

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
 "https://docker.m.daocloud.io", 
 "https://noohub.ru", 
 "https://huecker.io",
 "https://dockerhub.timeweb.cloud",
 "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
 "https://5tqw56kt.mirror.aliyuncs.com",
 "https://docker.1panel.live",
 "http://mirrors.ustc.edu.cn/",
 "http://mirror.azure.cn/",
 "https://hub.rat.dev/",
 "https://docker.ckyl.me/",
 "https://docker.chenby.cn",
 "https://docker.hpcloud.cloud",
 "https://docker.m.daocloud.io"
]
}

EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl status docker

​ 

这里把所有的源都加进去了,火力覆盖以免都不能用。之后使用

docker info

进行检查 

如果在最后出现上面内容,则说明换源成功。

注意,该方法适用于第一次换源。若重启板子之后再像换源,则要先停止在启动,进行如下操作,参考例子3

cd /etc/docker
sudo systemctl daemon-reload
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
sudo systemctl start docker.service
sudo systemctl start docker.socket

 即可。接下来我们再试一下hello-world例子,已经可以成功运行

接下来我们去官网上找一下xilinx的例子,注意访问官网需要挂vpn

可以看到官网给出了pull的方法,最新版本即为2022.1版本,因此我们可以直接将其拉下来

docker pull xilinx/smartcam:2022.1

 

这样软件部分就做好了。接下来我们可以按官方启动代码试一下

docker run \
--env="DISPLAY" \
-h "xlnx-docker" \
--env="XDG_SESSION_TYPE" \
--net=host \
--privileged \
--volume="$HOME/.Xauthority:/root/.Xauthority:rw" \
-v /tmp:/tmp \
-v /dev:/dev \
-v /sys:/sys \
-v /etc/vart.conf:/etc/vart.conf \
-v /lib/firmware/xilinx:/lib/firmware/xilinx \
-v /run:/run \
-it xilinx/smartcam:2022.1 bash
smartcam --mipi -W 1920 -H 1080 --target rtsp

可以看到其显示硬件没有驱动。使用exit退出,然后到了我们的最后一步。

第六步:配置硬件驱动

首先安装驱动包,中间一路y和enter即可,如果先安装docker后配置硬件,可能会问你是否重启docker,no即可。先配置硬件则不会有这个问题。

sudo snap install xlnx-config --classic --channel=2.x
sudo xlnx-config.sysinit

接着安装例程程序

sudo apt search xlnx-firmware-kv260
sudo apt install xlnx-firmware-kv260-smartcam

 下载完之后,可使用以下命令进行检查

sudo xmutil listapps 

 这将列出所有可执行程序

后面为0表示正在运行,为-1表示没有运行。下面我们要停掉所有程序,只运行smartcam

sudo xmutil unloadapp
sudo xmutil loadapp kv260-smartcam

再列出所有检查一下 

可以看到只有smartcam加载了。这时我们在打开docker走一遍流程

可以看到已经成功了。我们将给出的网址输入进浏览器,便可以看到视频

 

最后想要关闭设备,别忘了使用命令 

sudo shutdown -h now

该例子就是这样啦。 

猜你喜欢

转载自blog.csdn.net/qq_45606909/article/details/146000959
今日推荐