トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2025-3-20

TE0950

Versal AI Edgeで遊びたいなと思っても,あまり手軽なボードがない...と思っていた時に,
Trentzのボード TE950-03-EGBE21C の在庫がDigikeyにあるよ,と教えてもらって購入.

リファレンス

まずは動かしてみる

TE0950 Basic Linux Exampleから,
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から,
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が起動してきた.