記事一覧

u-bootをWindows上でビルド

Zybo用にu-bootを作る場合,大抵はUbuntuを用意してそこでビルドすると思います.しかし,Windowsでもそれは可能なわけです.

ここでは,Xilinx SDKのコマンドを使用して,u-bootをビルドしようと思います.

はじめに


まず,u-bootのビルドに使うコンパイラはarm対応ならなんでも良いようです.だからUbuntuでやっている人が多くいるようです.

しかし,Xilinx SDKにもARMのクロスコンパイラが付属しています(arm-xilinx-linux-gnueabi-gcc.exe).今回はそれを利用するわけです.

必要なもの



  • u-boot-Digilent-Dev

  • Xilinx SDK

  • msys2

  • cmp.exe

  • strip.exe



手順



  • u-boot-Digilent-Devをgithubからcloneしてくる

  • msys2にSDKのパスを通す

  • cmpコマンドをインストール

  • stripコマンドをインストール

  • Xilinx SDKのarm-xilinx-linux-gnueabi-gcc.exeを複製し,gcc.exeとリネーム

  • make



まず,XilinxからU-bootのソースコードを落とします.

できたら,msysをインストールします.そしてこれにXilinx SDKのパスを通します.このパスは
 "C:\Xilinx\SDK\2016.2\.settings64-Software_Development_Kit__SDK_.bat"
に書いてあるものと,

 "C:\Xilinx\SDK\2016.2\gnuwin\bin"

です.これをmsys2の

 /etc/profile

にあるMSYS2_PATHに追加していきます.ただし,

 \ → /
 C:\ or C:/ → /c/

というように置き換えてから追加しなくてはなりません.でないとmsys2が認識してくれません.

また,msys2にはcmpとstripコマンドが足りないので,必要なら追加しておく必要があります.自分はmsys1のファイルからmsys-1.0.dllとともにコピーして対処しました.

Xilinx SDKにも少し手を加えます.次の場所を開きます.

 "C:\Xilinx\SDK\2016.2\gnu\arm\nt\bin"

ここにあるarm-xilinx-linux-gnueabi-gcc.exeを複製し,gcc.exeでおいて置きます(前の手順でstripがなければ,arm-xilinx-eabi-strip.exeをコピーしてstrip.exeにしておいても良いです).

ビルド


msys2を起動し,最初に落としたu-boot-Digilent-Devのディレクトリに入ります.lsをすると,MAKEFILEなどが見えると思います.
そこで次のコマンドを打ちます.

 make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_zybo_config
 make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi-

二行目を打ち込むと,コンパイルが開始されますので,気長に待ちましょう.

ビルドが終わると,次の画面になります.
BuildUbootUsingMsys2_BuildSuccess.png
これで,ubootというファイルがu-boot-Digilent-Devの下にあれば成功です.

Comments

Post a comment

Private comment