Jump to content

Zynq: Difference between revisions

From HW wiki
Pisa (talk | contribs)
No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page applies mostly to [http://microzed.org/product/microzed Microzed board] and to Microzed with our [https://cw.fel.cvut.cz/wiki/courses/b35apo/documentation/mz_apo/start MZ_APO extension board].


* Linux kenrel for Xilinx Zynq http://rtime.felk.cvut.cz/gitweb/zynq/linux.git
* Linux kenrel for Xilinx Zynq http://rtime.felk.cvut.cz/gitweb/zynq/linux.git
Line 7: Line 8:


* Toolchain for Debian or Ubuntu
* Toolchain for Debian or Ubuntu
* [https://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf Zynq-7000 Technical Reference Manual]


  echo "deb http://debian.pengutronix.de/debian/ sid main contrib non-free" >/etc/apt/sources.list.d/pengutronix.list
  echo "deb http://debian.pengutronix.de/debian/ sid main contrib non-free" >/etc/apt/sources.list.d/pengutronix.list
Line 30: Line 33:
Install Debian ARMhf distribution to the media on x86 host with use of chroot and qemu
Install Debian ARMhf distribution to the media on x86 host with use of chroot and qemu


Preparation of FPGA configuration files
Preparation of FPGA configuration files for direct FPGA configuration by Linux or U-boot requires to prepare <code>system.bif</code>:
 
all:
{
system.bit
}
 
then <code>bootgen</code> is used to prepare binary file


  bootgen -image system.bif -w -process_bitstream bin
  bootgen -image system.bif -w -process_bitstream bin
Line 37: Line 47:


  cat system.bit.bin > /dev/xdevcfg
  cat system.bit.bin > /dev/xdevcfg
=== Debian Linux Install ===
Debootstrap on x86 system
Install
apt-get install binfmt-support qemu qemu-user-static debootstrap
Create directory for target system
mkdir debian_armhf
debootstrap --arch=armhf --foreign --include=debian-keyring,mc,libc6-de,libstdc ++6,busybox,aptitude jessie debian-armhf/ ftp://ftp.cz.debian.org/debian/
Install static version of QEMU which is able to interpret target architecture userspace programs 
cp /usr/bin/qemu-arm-static debian_armhf/usr/bin
Finish the second stage of deboostrap
LC_ALL=C LANGUAGE=C LANG=C chroot debian_armhf /debootstrap/debootstrap --second-stage
LC_ALL=C LANGUAGE=C LANG=C chroot debian_armhf dpkg --configure -a
=== Booting VxWorks ===
In U-Boot:
dhcp
tftpboot 0x1000000 /zynq/vxWorks
setenv bootaddr 0x101100
setenv bootdev gem(0,0)
bootvx 0x1000000

Latest revision as of 10:02, 13 December 2017

This page applies mostly to Microzed board and to Microzed with our MZ_APO extension board.

  • Toolchain for Debian or Ubuntu
echo "deb http://debian.pengutronix.de/debian/ sid main contrib non-free" >/etc/apt/sources.list.d/pengutronix.list
aptitude update
aptitude install oselas.toolchain-2014.12.2-arm-cortexa8-linux-gnueabihf-gcc-4.9.2-glibc-2.20-binutils-2.24-kernel-3.16-sanitized

Build kernel

mkdir zynq
git clone git://rtime.felk.cvut.cz/zynq/linux-build.git
cd linux-build
git submodule update --init

Check that toolchain location matches CROSS_COMPILE variable in build/xlnx_4.0.8-rt6/linux/GNUmakefile. Then invoke

cd build/xlnx_4.0.8-rt6/linux/
make

U-boot arguments for MicroZed board

bootargs=root=/dev/mmcblk0p2 rw console=ttyPS1,115200 earlyprintk

Install Debian ARMhf distribution to the media on x86 host with use of chroot and qemu

Preparation of FPGA configuration files for direct FPGA configuration by Linux or U-boot requires to prepare system.bif:

all:
{
system.bit
}

then bootgen is used to prepare binary file

bootgen -image system.bif -w -process_bitstream bin

Runtime FPGA reconfiguration

cat system.bit.bin > /dev/xdevcfg

Debian Linux Install

Debootstrap on x86 system

Install

apt-get install binfmt-support qemu qemu-user-static debootstrap

Create directory for target system

mkdir debian_armhf
debootstrap --arch=armhf --foreign --include=debian-keyring,mc,libc6-de,libstdc ++6,busybox,aptitude jessie debian-armhf/ ftp://ftp.cz.debian.org/debian/

Install static version of QEMU which is able to interpret target architecture userspace programs

cp /usr/bin/qemu-arm-static debian_armhf/usr/bin

Finish the second stage of deboostrap

LC_ALL=C LANGUAGE=C LANG=C chroot debian_armhf /debootstrap/debootstrap --second-stage
LC_ALL=C LANGUAGE=C LANG=C chroot debian_armhf dpkg --configure -a

Booting VxWorks

In U-Boot:

dhcp
tftpboot 0x1000000 /zynq/vxWorks
setenv bootaddr 0x101100
setenv bootdev gem(0,0)
bootvx 0x1000000