開發板采用核心板+底板結構,在我們的資料里提供了底板的原理圖工程以及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?的實際功能進行演示。