FC2カウンター FPGAの部屋 @ikwzmさんのUltraZed 向け Debian GNU/Linux の構築をやってみる4(U-Bootを作る)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

@ikwzmさんのUltraZed 向け Debian GNU/Linux の構築をやってみる4(U-Bootを作る)

@ikwzmさんのUltraZed 向け Debian GNU/Linux の構築をやってみる4(BL31を作る)”の続き。

前回は、ステージ2 ブートローダー(BL31 - ARM Trusted Firmware Boot Loader Stage 3-1)を作成した。今回は、U-Bootを作ってみよう。

2018/01/17 : 修正、make が失敗したのですが、ソースコードに files/u-boot-xlnx-v2017.3-ultrazed-eg-iocc-i2c-patch.diff が追加され、うまく行ったので、最初からうまく行ったように書き直しました。現在は、この手順通りにやればうまく行くと思います。

今回参照するのは、
UltraZed 向け Debian GNU/Linux の構築(U-Boot編)

まずはU-Boot のソースコードをダウンロードしよう。
cd target/UltraZed-EG-IOCC/build
git clone https://github.com/Xilinx/u-boot-xlnx.git u-boot-xlnx-v2017.3

UltraZed-EG_Linux_51_170117.png

xilinx-v2017.3 をチェックアウト
cd u-boot-xlnx-v2017.3
git checkout -b xilinx-v2017.3-ultrazed-eg-iocc refs/tags/xilinx-v2017.3

UltraZed-EG_Linux_52_170117.png

パッチを行って、UltraZed-EG-IOCC 用のファイルを追加
patch -p0 < ../../../../files/u-boot-xlnx-v2017.3-ultrazed-eg-iocc.diff
UltraZed-EG_Linux_53_170117.png

git add arch/arm/dts/zynqmp-uz3eg-iocc.dts
git add board/xilinx/zynqmp/zynqmp-uz3eg-iocc/psu_init_gpl.c
git add board/xilinx/zynqmp/zynqmp-uz3eg-iocc/psu_init_gpl.h
git add configs/xilinx_zynqmp_uz3eg_iocc_defconfig
git add include/configs/xilinx_zynqmp_uz3eg_iocc.h
git add --update
git commit -m "patch for UltraZed-EG-IOCC"

コミットでエラーが出てしまった。
UltraZed-EG_Linux_54_170117.png

どうやら、メールアドレスと名前をセットする必要があるらしい?
git config --global user.email "xxxx@yyyy.zzz"
git config --global user.name "marsee101"

メールアドレスはちゃんとしたメールアドレスを設定した。

メールアドレスと名前をセットしたところで、もう一度コミット。今度は成功。
git commit -m "patch for UltraZed-EG-IOCC"
git tag -a xilinx-v2017.3-ultrazed-eg-iocc-0 -m "release xilinx-v2017.3-ultrazed-eg-iocc release 0"

UltraZed-EG_Linux_55_170117.png

i2c のパッチを行う。
patch -p0 < ../../../../files/u-boot-xlnx-v2017.3-ultrazed-eg-iocc-i2c-patch.diff
git add --update
git commit -m "[fix] bug for I2C freeze when reboot"
git tag -a xilinx-v2017.3-ultrazed-eg-iocc-1 -m "release xilinx-v2017.3-ultrazed-eg-iocc release 1"

UltraZed-EG_Linux_63_170117.png 

make の準備
export ARCH=arm
export CROSS_COMPILE=aarch64-linux-gnu-
make xilinx_zynqmp_uz3eg_iocc_defconfig

UltraZed-EG_Linux_64_170117.png 

make
UltraZed-EG_Linux_69_170117.png

make は成功した。

u-boot.elf ができていた。
u-boot.elf を ~/ZynqMP-FPGA-Linux/target/UltraZed-EG-IOCC/build にコピーした。
cp u-boot.elf ~/ZynqMP-FPGA-Linux/target/UltraZed-EG-IOCC/build/u-boot.elf
UltraZed-EG_Linux_70_170117.png

~/ZynqMP-FPGA-Linux/target/UltraZed-EG-IOCC/build の内容を示す。
UltraZed-EG_Linux_71_170117.png
  1. 2018年01月17日 20:31 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/4045-55c52348
この記事にトラックバックする(FC2ブログユーザー)