- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!TE0950
Versal AI Edgeで遊びたいなと思っても,あまり手軽なボードがない...と思っていた時に,
Trentzのボード TE950-03-EGBE21C の在庫がDigikeyにあるよ,と教えてもらって購入.
:: リファレンス
* [TE0950 Test Board|https://wiki.trenz-electronic.de/display/PD/TE0950+Test+Board]
* [TE0950 Basic Linux Example|https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Development_Boards/TE0950/Reference_Design/2023.2/test_board]
:: まずは動かしてみる
[TE0950 Basic Linux Example|https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Development_Boards/TE0950/Reference_Design/2023.2/test_board]から,
TE0950-test_board-vivado_2023.2-build_4_20240531092954.zip をダウンロード.
展開すると,test_board/prebuilt の下にビルド済みファイルがある.
file_location.txt に従って,
FAT32でフォーマットされているmicroSDカードにTE950-03-EGBE21C用のファイルをコピー.
cp boot_images/23_1lse_8gb/u-boot/* /media/miyo/9016-4EF8
cp -r os/petalinux/8GB/* /media/miyo/9016-4EF8
cp -r hardware/23_1lse_8gb/* /media/miyo/9016-4EF8
で,ボードの外側に近い方のマイクロUSB端子を使ってホストPCと接続して電源投入.
無事にLinuxが起動してきた.
root@Trenz:~# uname -a
Linux Trenz 6.1.30-xilinx-v2023.2 #1 SMP Fri Sep 22 10:41:01 UTC 2023 aarch64 GNU/Linux
EthernetポートにLANケーブルをつなぐとDHCPでIPを取得.
ユーザ名 root / パスワード root で,sshでログインできた.
:: 自分でビルドしてみる
環境は
* Vivado 2023.2.1 - /tools/Xilinx/Vivado/2023.2
** Vivado 2023.2.1の場合は有償ライセンスが必要
** 合成以降を Vivado 2024.2.2 で置換することでライセンスなしでも構築可能
* Petalinux 2023.2 - $HOME/petalinux/2023.2
というもの.
まずは,[TE0950 Basic Linux Example|https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Development_Boards/TE0950/Reference_Design/2023.2/test_board]から,
TE0950-test_board_noprebuilt-vivado_2023.2-build_4_20240531092954.zip をダウンロード
展開すると,test_boardができる.
test_board/_readme.txtにWebページ以上に細かく手順が書いてあるので読む.
私の場合,まず準備として,
chmod 755 _create_linux_setup.sh
としてスクリプトに実行権限を付与し,console/base_sh/design_basic_settings.sh を開いて
export ALTERNATIVE_PETALINUX_XSETTINGS=~/petalinux/2023.2/settings.sh
と変更しておく.
で,
./_create_linux_setup.sh
実行
------------------------TE Reference Design-------------------------
--------------------------------------------------------------------
-- (d) Go to Documentation (Web Documentation)
-- (x) Exit Batch (nothing is done!)
-- (0) Module selection guide, project creation...
-- (1) Create minimum setup of CMD-Files and exit Batch
-- (2) Create maximum setup of CMD-Files and exit Batch
-- (3) (internal only) Dev
-- (g) Install Board Files from Xilinx Board Store (beta)
-- (a) Start design with unsupported Vivado Version (beta)
----
Select (ex.:'0' for module selection guide):
とかメニューがでてくるので,
0
を選択.環境チェックが走ったあと,
------------------
Select Module will be done in 2 steps:
-----
Step 1: (select column filter):
-Change module list size (for small monitors only), press: 'full' or 'small'
-Display current module list, press: 'L' or 'l'
-Restore whole module list, press: 'R' or 'r'
-Reduce List by ID, press: 'ID' or 'id' or insert ID columns value directly(filter step is bypassed and id number is used)
-Reduce List by Article Number, press: 'AN' or 'an'
-Reduce List by SoC/FPGA, press: 'FPGA' or 'fpga'
-Reduce List by PCB REV, press: 'PCB' or 'pcb'
-Reduce List by DDR, press: 'DDR' or 'ddr'
-Reduce List by Flash, press: 'FLASH' or 'flash'
-Reduce List by EMMC, press: 'EMMC' or 'emmc'
-Reduce List by Others, press: 'OTHERS' or 'others'
-Reduce List by Notes, press: 'NOTES' or 'notes'
-Exit without selection, press: 'Q' or 'q'
-----------------------
Please Enter Option:
と,続いて選択肢のテーブルが表示される.まず,
id
と入力すると,
Last Input:<id>
Note: Input will be compared with list elements, wildcard * possible. Ex.*1*
Go back to top menu with 'q' or 'Q'
Step 2: Insert ID:
とでてくるので,利用するボードにあわせて,
4
を選択.
You like to start with this device? y/N
と問われるので,
y
と入力.
What would you like to do?
- Create and open delivery binary folder, press 0
- Create vivado project, press 1
- Both, press 2
とかでてくる.
1
を入力.Vivadoが走ってプロジェクトの作成がはじまる.
しばらくすると,VivadoがGUIモードで起動してくるので,Generate Device Image をクリックして,FWを作る.
プロジェクトファイルは vivado/test_board.xpr にできている.
無事にFWができたら,File→Export→Export Hardware...でxsaファイルを作る.
Include device imageにチェックをいれるのを忘れないように.
デフォルトのまますすめると, vivado/vsys_wrapper.xsa ができる.
なお,ビルドにはVivadoの有償ライセンスが必要になる.
有償ライセンスがない場合,たとえば,2024.2では,TE0950に搭載されているXCVE2302向けのビルドができるので,
Vivadoを一旦終了した後で,Vivado 2024.2でvivado/test_board.xprを開いて,
プロジェクトのアップグレードとIPコアのアップデートをおこなうと無事にビルドができる.
次はPetalinuxでu-bootやLinuxなど一式をビルドする.test_board/petalinux を作って作業することに.
(ここでは,Vivado 2024.2を使ってxsaを作った場合でも2023.2を使った)
まずは,test_board/ の下にいる状態で,
mkdir -p petalinux
cd petalinux
として作業ディレクトリを作成.
プロジェクトを
petalinux-create --type project --template versal --name vsys
cd vsys
で作成して,作成したプロジェクトのディレクトリに移動.
次に,作成したxsaファイルを読み込む.
petalinux-config --get-hw-description ../../vivado/vsys_wrapper.xsa
とりあえず,configは,そのまま抜ける.
あらかじめ作ってある設定ファイルがあるので,雑に上書きしてみる.
pushd ../../os/petalinux/
tar cvf - project-spec | tar xvf - -C ../../petalinux/vsys/
popd
このままだと,xsaファイルへの参照がおかしいので,再度読み込んでおく.
petalinux-config --get-hw-description ../../vivado/vsys_wrapper.xsa
準備がととのったで,ビルド.
petalinux-build
ビルドがおわったらパッケージを作成して,必要なファイルを集める.
petalinux-package --boot --plm --psmfw --u-boot --dtb --force
mkdir -p SD; cp images/linux/{BOOT.BIN,boot.scr,Image,rootfs.cpio.gz.u-boot} SD/
SD以下のファイルをmicroSDカードに書き込む.
作成したmicroSDカードでブートすると,無事にLinuxが起動してきた.