4. Zynq VivadoなしのUbuntuでGCCだけでU-Bootを作る

ここからはUbuntuになります。
前に話した通りvagrantがオススメです。

今回何をするかというと、U-Bootというブートローダーを作ります。
そもそも今はBOOT.BINの作成をしていて、前回まででbitstreamは出来ました、あとはUbuntu上でU-Bootというブートローダーを作り、XilinxのSDKでFSBLと一緒にBOOT.BINにしちゃうってのをやります。

Ubuntu起動

[shell]

vagrant up
vagrant ssh

[/shell]

で、sshで入りました。VirtualBoxのGUIでやってる人は「端末」を起動すればOKです。</pre>
<h2>必要な物を入れる</h2>
<pre>
ARMで動くプログラムをARMじゃないパソコンで作らないといけません。つまりクロスコンパイルです。gccのarmのクロスコンパイル環境を作ります。

[shell]
sudo apt-get -f install
sudo apt-get install fakeroot build-essential kexec-tools
sudo apt-get install kernel-wedge gcc-arm-linux-gnueabi
sudo apt-get install uboot-mkimage libncurses5
sudo apt-get install libncurses5-dev libelf-dev
sudo apt-get install asciidoc binutils-dev git
sudo apt-get build-dep linux
sudo sudo apt-get install bc
[/shell]

これで環境は整いました。ホームディレクトリに今回の作業ディレクトリを作り、Xilinxの出しているU-bootのプログラムをcloneしてきます

[shell]

cd ~
mkdir digilent
cd digilent
sudo git clone -b master-next https://github.com/DigilentInc/u-boot-Digilent-Dev.git

[/shell]

あとはcloneしてきたディレクトリに入りmakeするだけで終わりです。

[shell]

cd u-boot-Digilent-Dev
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zynq_zybo_config
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

[/shell]

これでu-bootという拡張子のないファイルが作成されるはずです。

Screen Shot 2015-01-11 at 01.49.04

できたu-bootをvivadoのプロジェクトフォルダに入れてしまい.elfという拡張子を付けてしまいましょう。
zybo_base_system/sd_imageにいれます。

lb73

これで完了。
このu-bootは基本的には回路に関係ないので、今後もこのファイルを使いまわせます。今回だけですね、消さずに残しておきましょう。

次は 5. SDKでFSBLを作る

コメントを残す