トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2025-3-20の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!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が起動してきた.