MPMT board documentation ‐ ZYNQ - gtortone/mpmt-board GitHub Wiki

Hardware

Specifications

  • ARMv7 Processor single core
  • 512MB RAM
  • 8GB eMMC
  • 10Base-T/100Base-TX Ethernet

Jumpers

JT2

  • QSPI: enable QSPI boot
  • JTAG: enable JTAG boot

Boot configuration

Use local boot server (e.g. zimabt2k) in order to setup Zynq.

Initial setup

  • power off MPMT board
  • move JT2 jumper to 1-2 (JTAG)
  • power on MPMT board
  • launch on SAMA following commands:
ftdi 1
jtag 1
start_xvc
  • open Zynq UART console on SAMA (/dev/ttyS1)
minicom -D /dev/ttyS1

Copy U-Boot on RAM

  • move to support directory
cd /opt/support/zynq
  • launch xsdb

  • copy U-Boot to Zynq RAM:

connect -xvc-url <sama_ip_address>:2542

targets 2
rst
stop

source ps7_init.tcl
ps7_init
ps7_post_config

dow u-boot.elf
con
  • after xsdb commands U-Boot should start on Zynq UART console

  • using Zynq UART console flash and verify BOOT.BIN to Zynq QSPI

dhcp
run flash_bootbin
run verify_bootbin
  • reset Zynq with U-Boot reset command

  • after Zynq reboot break U-Boot autoboot and start Linux network boot

run bootnet
  • at this point Zynq should reboot and boot with a RAM Linux root filesystem

Linux deployment

  • using Zynq UART console login as root (pw: root)

  • create eMMC partitions

umount /dev/mmcblk0p1

sfdisk --delete /dev/mmcblk0
echo ",,83,*" | sfdisk /dev/mmcblk0
umount /dev/mmcblk0p1

mkfs.ext4 -F /dev/mmcblk0p1
mkdir /target ; mount /dev/mmcblk0p1 /target

Rootfs copy (option #1)

  • on Zynq
cd /target ; nc -l -p 1234 | tar xfp - --warning=no-timestamp
  • on ZimaBoard/PC
dd bs=16M if=zynq-mpmt-debian11.tar | nc <zynq_ip_addr> 1234

Rootfs copy (option #2)

  • mount reference Linux Debian image
mount -t nfs 192.168.1.1:/srv/nfs /mnt
losetup -o 512 /dev/loop0 /mnt/zynq-mpmt-debian11.img
mkdir /debian ; mount /dev/loop0 /debian
  • write Linux Debian on eMMC
cp -a /debian/* /target
  • umount filesystems
losetup -d /dev/loop0
umount /debian
umount /mnt
umount /target
  • reboot
reboot