環境初期化手順 - takgto/utokyo-chipathon2023 GitHub Wiki
授業で使用するPCとFPGAを初期化する手順です。
注意:PC、FPGAの環境が完全に綺麗さっぱりになってしまいます。保存しておきたいデータは予め移しておきましょう。
Windowsのクリーンアップを行います。
デスクトップとピクチャフォルダの余計なファイルを削除します。
ダウンロードフォルダにweightsフォルダだけ置きます。(yolov3-***.cfgとyolov3-***_best.weightsが入っています)
Googleアカウントにログインしていたらログアウトしてプロファイルを削除してください。
最後にごみ箱を空にします。
次にUbuntuのクリーンアップを行います。
ここからはUbuntuコンソールにコマンドを入力します。
UbuntuのVitis-AIディレクトリにあるmy_tf_calib4.npyをホームに移動します。

mv ~/Vitis-AI/yolov3-dlab/scripts_tf2/my_tf_calib4.npy ~
rm -rf Vitis-AIrm: remove write-protected regular file ~?と訊いてきた時は、yと入力してEnterを押してください。
その他Ubuntu側に余計なファイルがある場合は削除します。ディレクトリを削除したい場合はrm -r <ディレクトリ名>、ファイルを削除したい場合はrm <ファイル名>のコマンドを使ってください。
my_tf_calib4.npyは削除しないでください。誤って削除した場合はTAに声をかけてください。
Vitis-AIをクローンします。

git clone https://github.com/Xilinx/Vitis-AI -b 2.5 --depth 1Vitis-AIディレクトリに移動してyolov3-dlabとedge-evalとyolov3_edgeをクローンします。

cd Vitis-AI
# Vitis-AIディレクトリで実行する
git clone https://github.com/takgto/adas-edge-eval
git clone https://github.com/takgto/yolov3-dlab
git clone https://github.com/takgto/yolov3_edge.git退避していたmy_tf_calib4.npyを元に戻します。
以下のコマンドを入力します。

mv ~/my_tf_calib4.npy ~/Vitis-AI/yolov3-dlab/scripts_tf2/my_tf_calib4.npyPCに残っている今回の基板との接続で生成されたSSH鍵を削除します。
x-nics-kuroda/.ssh/known_hostsはWindows側とUbuntu側にあるので両方削除します。
Windows:
● C:\Users\x-nics-kuroda\.ssh\known_hostsを開き、192.168.1.100から始まる行を削除する。
または
● C:\Users\x-nics-kuroda\.ssh\known_hostsファイルを削除する。
Ubuntu:

ssh-keygen -R 192.168.1.100これでPCのクリーンアップは完了です。ありがとうございました。
基板にSerialケーブルとイーサケーブルを接続し、電源を入れます。 Serialコンソールに以下を入力してください。

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up~/Vitis-AI/examples/VART/yolov3のディレクトリを回収します。

scp -r [email protected]:~/Vitis-AI/examples/VART/yolov3 .もしscpがうまく動かない時は-Oのオプションをつけて試してください。
SSHで接続できない場合は以下のコマンドをUbuntuコンソールに入力してください。SSH鍵を削除します。

ssh-keygen -R 192.168.1.100また、Serialで~/Vitis-AI/examples/VARTのディレクトリの中身を確認します。

ls ~/Vitis-AI/examples/VARTyolov3XXXXという名前のディレクトリがあればそれも回収します。
次に、基板のクリーンアップを行います。 SDカードをフォーマットをします。この時、容量が77.5MB程度のことを確認します。
balenaEtcherを起動します。
balenaEtherのFlash from fileで、xilinx-kv260-dpu-v2022.1-v2.5.0.img.gzを選択します。
Select targetでMicroSDカードを選択します。
Flash!を選択します。
15分程かかります。
MicroSDを差してFPGAを起動してください。シリアルケーブルとイーサケーブルを接続します。
MobaXTermでSerialでFPGAに接続します。FPGAがしっかり起動すればOKです。
Serialコンソールに以下を入力してください。

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 upこれでifconfigしたときに、ipアドレスが192.168.1.100になっていればOKです。
SSHで接続できない場合は以下のコマンドをUbuntuコンソールに入力してください。SSH鍵を削除します。

ssh-keygen -R 192.168.1.100以下をUbuntuコンソールで実行してください。
最初のscp init260.sh [email protected]:/home/rootを実行するとAre you sure you want to continue connecting (yes/no/[fingerprint])?と訊かれるのでyesと入力してください。その後[email protected]'s password:と訊かれるのでrootを入力してください。
adas-edge-evalの初期化ファイルを転送します。Ubuntuコンソールに入力します。

cd ~/Vitis-AI/adas-edge-eval
scp init260.sh [email protected]:/home/root
sshpass -p "root" scp aliases [email protected]:/home/root
sshpass -p "root" scp -r video [email protected]:/home/root/Vitis-AI/examples/Vitis-AI-Library/samples/yolov3もしscpがうまく動かない時は-Oのオプションをつけて試してください。
Vitis-AI/examples/VARTにyolov3ディレクトリを作成します。Serialコンソールに入力します。

cd ~/Vitis-AI/examples/VART
mkdir yolov3yolov3_edgeのC++ソースコードを転送します。Ubuntuコンソールに入力します。

cd ~/Vitis-AI/yolov3_edge
sshpass -p "root" scp -r cpp/* [email protected]:/home/root/Vitis-AI/examples/VART/yolov3
sshpass -p "root" scp -r README.md [email protected]:/home/root/Vitis-AI/examples/VART/yolov3もしscpがうまく動かない時は-Oのオプションをつけて試してください。
授業中に./make.sh ~を行ったときに正常にmakeできないことがあります。(VARTのみ)その時はC++ソースコードがバイナリになっています。
その時は、上記のコマンドを使って/home/root/Vitis-AI/examples/VART/yolov3のファイルを更新してください。
次のコマンドをMobaXtermのSerialコンソールに入力します。

cd
./dpu_sw_optimize/zynqmp/zynqmp_dpu_optimize.sh次のコマンドをMobaXtermのSerialコンソールに入力します。

chmod +x ~/Vitis-AI/examples/Vitis-AI-Library/samples/yolov3/make.sh次のコマンドをMobaXtermのコンソールに入力してmake.shを開きます。

cd ~/Vitis-AI/examples/VART/yolov3/
vi make.shmake.shの中身が正常に見られたらOKです。
これで基板のクリーンアップ完了です。
まずはクリーンアップ後のPCに不要なデータがないことを確認します。
次に、Dockerを確認します。WindowsのDockerをダブルクリックします。立ち上がったらUbuntuコンソールに以下のコマンドを入力してDockerのConda環境が立ち上がることを確認します。

cd Vitis-AI
docker images
./docker_run.sh my_vitis-ai-cpu:latest
conda activate vitis-ai-tensorflow2Dockerのコンソールで、生成ファイルがないことを確認します。

ls /workspace/yolov3-dlab/keras_model
ls /workspace/yolov3-dlab/yolov3_quantized2README.mdだけあればOKです。
VitisとPetaLinuxをインストールしておきます。Vivado, Vitis install
以下のコマンドをインストールします。
sudo apt install cmake
sudo apt update
sudo apt install build-essential
sudo apt install libidn11
sudo apt-get install xvfb
sudo apt-get install unzip
sudo apt-get install zip
libidn11がunlocaleで入らない時。
sudo apt update
cd ~/Downloads
wget http://mirrors.kernel.org/ubuntu/pool/main/libi/libidn/libidn11_1.33-2.2ubuntu2_amd64.deb
sudo apt install ./libidn11_1.33-2.2ubuntu2_amd64.debxsct ファイルを修正します。
→/tools/Xilinx/Vitis/2022.1/bi/xsctの241行目付近 ifの行とelse項を(4行)#でコメントアウト。(条件なしでif条件の処理が走るように)