开发板采用核心板+底板结构,在我们的资料里提供了底板的原理图工程以及PCB工程,可以实现真正意义上的裁剪、定制属于自己的产品,满足更多应用场合。
迅为针对RK3576开发板整理出了相应的开发流程以及开发中需要用到的资料,并进行详细的说明。快速定位需要使用的文档,大大提升研发速度。
迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。
2.1.3 docker 环境安装
除了上诉两种安装方法之外,还有第三种 rknn_toolkit2 安装方法,这里用安装可能并不标准,Docker 是一个开源的应用容器引擎,它允许开发者将他们的应用及依赖打包到一个可移植的容器镜像中,瑞芯微提供了一个安装好 rknn_toolkit2 的 docker 环境,可以直接使用。具体下载链接为:
https://meta.zbox.filez.com/v/link/view/ef37a9687973439f94f5b06837f12527 提取码:rknn迅为已经提前将 rknn-toolkit2-2.3.0 的 docker 环境进行了下载,存放路径为“iTOP-3576 开发板\02_【iTOP-RK3576 开发板】开发资料\05_NPU 例程测试配套资料\04_docker”,如下图所示:
而在使用 docker 之前需要先在环境中安装 docker,具体安装步骤如下所示:
首先使用以下命令安装 docker 运行所需要的依赖,如下图所示:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
依赖安装完成之后依次输入下面三条命令,创建、获取并信任 Docker 的 GPG 公钥:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o
/etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
然后输入以下命令将 Docker 存储库添加到 Apt 软件包管理器的源列表中:
echo \ "deb [arch="$(dpkg
--print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg]
https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
最后更新软件源并安装 docker,如下图所示::
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
docker-compose-plugin
安装完成之后输入以下命令设置 docker 镜像加速站,具体步骤如下图所示:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.086181.xyz","https://docker.salty.eu.org"]
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
然后测试 helloworld,如下图所示:
sudo docker run hello-world
如果得到相同的打印,则证明 docker 安装成功了。然后将瑞芯微提供的 docker 镜像拷贝 到虚拟机 ubuntu 上,拷贝完成如下图所示:
然后输入以下命令加载该镜像,加载完成如下图所示:
sudo docker load -i rknn-toolkit2-v2.3.0-cp38-docker.tar.gz
接下来输入以下命令查看当前所有的 docker 镜像,其中第一个 ubuntu20 就是我们刚刚加 载完成的镜像,sudo docker images至此,关于 docker 的安装和配置就讲解完成了,然后使用以下命令运行 docker:
sudo docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/topeet/work/rknn-toolk
it2/rknn-toolkit2/examples/:/examples rknn-toolkit2:2.3.0-cp38 /bin/bash
关于该命令的详细解释如下所示:
(1)docker run 用于启动一个新的 Docker 容器实例。
(2)-t 这个参数为容器分配一个伪终端(tty)。
(3)-i 这个参数让容器的标准输入保持打开状态,允许您与容器进行交互。
(4)--privileged 这个参数赋予容器操作系统级别权限,以便能够访问主机的 USB 设备。
(5)-v /dev/bus/usb:/dev/bus/usb 这个参数将主机的 /dev/bus/usb 目录挂载到容器的 /dev/bus/usb 目录,这样容器就可以 访问主机上的 USB 设备,后续会使用 USB 连接开发板,从而使能 adb 进行连板推理。
(6)-v /home/topeet/work/rknn-toolkit2/rknn-toolkit2/examples/:/examples
将主机的 /home/topeet/work/rknn-toolkit2/rknn-toolkit2/examples/ 目录挂载到容器的/examples 目录,这允许容器访问主机上的 RKNN 工具包示例代码,根据大家具体的环境来即可。
(7)rknn-toolkit2:2.3.0-cp38 要运行的 Docker 镜像的名称和标签。
(8)/bin/bash这是在容器中要执行的命令,即启动 Bash shell。
然后输入 python3 进入 python 命令行,然后依次输入以下内容,能打印出 rknn_toolkit2 版本证明安装成功,
from rknn.api import RKNN
RKNN(verbose=True) 至此,使用 rknn_toolkit2 的 docker 环境就演示完成了,在后面的小节中会对 rknn_toolkit2 的实际功能进行演示。