How to Build
[
Front page
] [
New
|
Page list
|
Search
|
Recent changes
|
Help
|
Log in
]
Start:
[[zFIFO - an AXI DMA driver for Zynq and ZynqMP]]
* zFIFO を自分でビルドする: ソフトウェア編 [#b6b04f93]
MicroSD カードの第1パーティションを vfat、第2パーティショ...
コンパイルに使うツールチェインは Vitis 2019.2 に付属のも...
** カーネルをビルドする [#ie0ae711]
Linux カーネルは Xilinx のものを使うのが簡単です。ZYBO (...
$ git clone https://github.com/Xilinx/linux-xlnx.git
$ cd linux-xlnx
$ git checkout xilinx-v2019.2.01
$ export CROSS_COMPILE=arm-linux-gnueabihf-
$ make ARCH=arm xilinx_zynq_defconfig
$ make ARCH=arm menuconfig
特になにか設定は必要ありませんが、必要なUSBデバイス...
$ make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage -j4
Ultra96 (および v2) であれば:
$ git clone https://github.com/Xilinx/linux-xlnx.git
$ cd linux-xlnx
$ git checkout xilinx-v2019.2.01
としてカーネルソースをチェックアウトしたあと、Ultra96v2 ...
作業が終わったら (あるいは WILC3000 のドライバを使わない...
$ export CROSS_COMPILE=aarch64-linux-gnu-
$ make ARCH=arm64 xilinx_zynqmp_defconfig
$ make ARCH=arm64 menuconfig
特になにか設定しなくても最低限起動はします。
Ultra96v2 で、上記の WILC3000 の設定をした場合は、W...
そのほか、USB Ethernet などがあると便利です。
$ make ARCH=arm64 -j4
以上でビルドが終わりです。ZYBO (Zynq-7000) のカーネルは a...
** ドライバをビルドする [#p641db54]
自前で用意した Linux カーネルを使う場合には、ドライバもビ...
Subversion リポジトリが https://lut.eee.u-ryukyu.ac.jp/sv...
$ git clone https://github.com/debugordie/zFIFO.git
$ cd zfifo
$ make ARCH=arm64 KERNEL_SRC_DIR=/path/to/your/kernel-sr...
のようにしてドライバをビルドします。Zynq-7000 の場合は AR...
ビルドが成功すると、
- zfifo.ko: ドライバ本体
- libzfifo-test: DMA loopback 用のテストプログラム
が生成されます。バイナリ配布版のカーネル用のドライバ・テ...
** その他 boot に必要なもの [#p5cb4a96]
SDカードの第1パーティションにはカーネルの他、以下のような...
バージョンが同じであれば、基本的にバイナリ配布のものから...
- boot.bin: FSBL + u-boot
- uenv.txt: u-boot の設定ファイル
- devicetree.dtb: デバイスツリー
- pl.bit: PL (FPGA) のビットストリーム
PL のビットストリームは、ご自身のアプリケーションが実装さ...
デバイスツリーは、Vivado のデザインをもとにして Vitis な...
compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a";
のように書かれているためです。このサイトで配布されている...
&axi_dma_0 {
compatible = "zfifo";
};
と書いて、vdma ドライバが attach しないようにしています。
** Root filesystem を作る [#pefaf719]
Root filesystem は Ubuntu 18.04 で作成しています。Micro S...
$ sudo mkfs -t ext4 /dev/sdb2
$ sudo mount /dev/sdb2 /mnt
$ sudo debootstrap --foreign --arch arm64 bionic /mnt ht...
$ sudo cp /usr/bin/qemu-aarch64-static /mnt/usr/bin
$ sudo chroot /mnt
$ ./debootstrap/debootstrap --second-stage
$ passwd
$ su
のような手順で Root filesystem を作ることができます。ZYBO...
- debootstrap で --arch arm64 を --arch armhf に
- /usr/bin/qemu-aarch64-static を /usr/bin/qemu-arm-stati...
それぞれ読み替えてください。
このままだとアカウントが root しかありませんので、
$ adduser zynq
でアカウントを追加したのち (名前は zynq でなくてもかまい...
$ vi /etc/group
で、sudo グループに追加しておきましょう。chroot 環境を ex...
End:
[[zFIFO - an AXI DMA driver for Zynq and ZynqMP]]
* zFIFO を自分でビルドする: ソフトウェア編 [#b6b04f93]
MicroSD カードの第1パーティションを vfat、第2パーティショ...
コンパイルに使うツールチェインは Vitis 2019.2 に付属のも...
** カーネルをビルドする [#ie0ae711]
Linux カーネルは Xilinx のものを使うのが簡単です。ZYBO (...
$ git clone https://github.com/Xilinx/linux-xlnx.git
$ cd linux-xlnx
$ git checkout xilinx-v2019.2.01
$ export CROSS_COMPILE=arm-linux-gnueabihf-
$ make ARCH=arm xilinx_zynq_defconfig
$ make ARCH=arm menuconfig
特になにか設定は必要ありませんが、必要なUSBデバイス...
$ make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage -j4
Ultra96 (および v2) であれば:
$ git clone https://github.com/Xilinx/linux-xlnx.git
$ cd linux-xlnx
$ git checkout xilinx-v2019.2.01
としてカーネルソースをチェックアウトしたあと、Ultra96v2 ...
作業が終わったら (あるいは WILC3000 のドライバを使わない...
$ export CROSS_COMPILE=aarch64-linux-gnu-
$ make ARCH=arm64 xilinx_zynqmp_defconfig
$ make ARCH=arm64 menuconfig
特になにか設定しなくても最低限起動はします。
Ultra96v2 で、上記の WILC3000 の設定をした場合は、W...
そのほか、USB Ethernet などがあると便利です。
$ make ARCH=arm64 -j4
以上でビルドが終わりです。ZYBO (Zynq-7000) のカーネルは a...
** ドライバをビルドする [#p641db54]
自前で用意した Linux カーネルを使う場合には、ドライバもビ...
Subversion リポジトリが https://lut.eee.u-ryukyu.ac.jp/sv...
$ git clone https://github.com/debugordie/zFIFO.git
$ cd zfifo
$ make ARCH=arm64 KERNEL_SRC_DIR=/path/to/your/kernel-sr...
のようにしてドライバをビルドします。Zynq-7000 の場合は AR...
ビルドが成功すると、
- zfifo.ko: ドライバ本体
- libzfifo-test: DMA loopback 用のテストプログラム
が生成されます。バイナリ配布版のカーネル用のドライバ・テ...
** その他 boot に必要なもの [#p5cb4a96]
SDカードの第1パーティションにはカーネルの他、以下のような...
バージョンが同じであれば、基本的にバイナリ配布のものから...
- boot.bin: FSBL + u-boot
- uenv.txt: u-boot の設定ファイル
- devicetree.dtb: デバイスツリー
- pl.bit: PL (FPGA) のビットストリーム
PL のビットストリームは、ご自身のアプリケーションが実装さ...
デバイスツリーは、Vivado のデザインをもとにして Vitis な...
compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a";
のように書かれているためです。このサイトで配布されている...
&axi_dma_0 {
compatible = "zfifo";
};
と書いて、vdma ドライバが attach しないようにしています。
** Root filesystem を作る [#pefaf719]
Root filesystem は Ubuntu 18.04 で作成しています。Micro S...
$ sudo mkfs -t ext4 /dev/sdb2
$ sudo mount /dev/sdb2 /mnt
$ sudo debootstrap --foreign --arch arm64 bionic /mnt ht...
$ sudo cp /usr/bin/qemu-aarch64-static /mnt/usr/bin
$ sudo chroot /mnt
$ ./debootstrap/debootstrap --second-stage
$ passwd
$ su
のような手順で Root filesystem を作ることができます。ZYBO...
- debootstrap で --arch arm64 を --arch armhf に
- /usr/bin/qemu-aarch64-static を /usr/bin/qemu-arm-stati...
それぞれ読み替えてください。
このままだとアカウントが root しかありませんので、
$ adduser zynq
でアカウントを追加したのち (名前は zynq でなくてもかまい...
$ vi /etc/group
で、sudo グループに追加しておきましょう。chroot 環境を ex...
Page: