Changes between Version 5 and Version 6 of Boards/Zynq - Zedboard


Ignore:
Timestamp:
02/09/17 01:41:45 (7 years ago)
Author:
Chris Johns
Comment:

Add uEnv.txt details.

Legend:

Unmodified
Added
Removed
Modified
  • Boards/Zynq - Zedboard

    v5 v6  
    1 = Zedboard =
     1= !ZedBoard and Microzed Board Support =
    22
    33[[TOC(Boards/Zynq - Zedboard , depth=4)]]
    44
    5 The page details how to run RTEMS on a Zedboard and Microzed board.
     5The page details how to run RTEMS on a [http://microzed.org/product/zedboard ZedBoard] and [http://microzed.org/product/microzed Microzed] board. The !ZedBoard and Microzed boards are supported by [http://www.denx.de/wiki/U-Boot U-Boot] and [http://www.denx.de/wiki/U-Boot U-Boot] can boot RTEMS. Please refer to the U-Boot documentation and the internet for documentation and example on using U-Boot. This page captures some examples on using U-Boot with these boards however is not all that can be done with U-Boot and running RTEMS.
    66
    77= Boot Mode =
    88
    9 RTEMS can be run on the Zedboard and the Microzed board a number of ways. You select the boot mode you need based on what you are wanting to do. For example, if you are developer writing an RTEMS application you may use JTAG, while production may boot from QSPI flash.
     9RTEMS can be run on the !ZedBoard and the Microzed boards from a number of sources. You select the boot mode you need based on what you are wanting to do. For example, if you are developer writing an RTEMS application you may use JTAG, while production may boot from QSPI flash. A developer may also boot from QSPI or SD card and download RTEMS over the network using the RTEMS debugger.
    1010
    1111== JTAG Debugging ==
     
    1717=== Lauterbach ===
    1818
    19 The Lauterbach debugger with trace support works with the Zedboard and Microzed. The Lauterbach support a range of real-time trace options.
     19The Lauterbach debugger with trace support works with the !ZedBoard and Microzed. The Lauterbach support a range of real-time trace options.
    2020
    2121=== Flyswatter2 ===
     
    6363= U-Boot =
    6464
    65 The [http://www.denx.de/wiki/U-Boot U-Boot] boot loader supports the Zed and Microzed boards.
     65The [http://www.denx.de/wiki/U-Boot U-Boot] boot loader supports the !ZedBoard and Microzed boards.
    6666
    6767I do not used the Xilinx version of U-Boot they provide on Github. I also do not use any binary builds available for download.
     
    7575|| FreeBSD || {{{ $ pkg install arm-none-eabi-binutils arm-none-eabi-gcc }}}
    7676
    77  ''Please add your host if not present.''
     77 ''Please add the set up your host if not listed.''
    7878
    7979Get the source code from the project's git repository:
     
    9595}}}
    9696
    97 I use `gmake` because `make` on FreeBSD is a BSD `make`. The `HOSTCC` is  added to the U-Boot build command line because the FreeBSD's default compiler which is `clang` and U-Boot default to `gcc`.
     97''Note'': `gmake` is used because `make` on FreeBSD is a BSD compatible `make` and U-Boot requires the GNU `make`. The `HOSTCC` define is  added to the U-Boot build command line because the FreeBSD's default compiler is `clang` and U-Boot defaults to `gcc`.
    9898
    99 The files created you need to use are:
     99The files built by U-Boot you need to use are:
    100100
    101101||= File =||= Description =||
    102102|| `spl/boot.bin` || U-Boot's FSBL ||
    103 || `arch/arm/dts/zynq-zed.dtb` || Zed board device tree blob ||
     103|| `arch/arm/dts/zynq-zed.dtb` || !ZedBoard device tree blob ||
    104104|| `arch/arm/dts/zynq-microzed.dtb` || Microzed board device tree blob ||
    105105|| `u-boot.img` || U-Boot executable loaded by the U-Boot FSBL ||
     
    107107== U-Boot Environment ==
    108108
    109 TDB
     109You need to create a suitable environment file that defines how U-Boot loads your RTEMS executable. U-Boot lets you [http://www.denx.de/wiki/view/DULG/UBootScripts script] commands. U-Boot has a large number of [http://www.denx.de/wiki/view/DULG/UBootCommandLineInterface commands] and you can script these to boot your RTEMS executable.
     110
     111You can use the U-Boot control to enter commands to figure what works.
     112
     113=== Network Booting RTEMS ===
     114
     115Create a U-Boot script file called `uEnv.txt` to boot RTEMS from the network using the DHCP and TFTP protocols.
     116
     117{{{
     118# cat sd/uEnv.txt     
     119bootfile=zed/rtems.img
     120loadaddr=0x02000000
     121uenvcmd=echo Booting RTEMS from net; set autoload no; dhcp; set serverip 10.10.5.1; tftpboot zed/rtems.img; bootm;
     122}}}
     123
     124'''Note:'''
     1251. The `bootfile` is the file name used by the TFTP protocol. The path is relative to the top level path the TFTP server is configured to serve file from. This path is available to the development host machines so the executable can be updated after a build.
     1261. The `loadaddr` must match the static address the RTEMS executable is built with.
     1271. The subnet is `10.10.5.0/24` and it has a DHCP server. The `dhcp;` command tells U-Boot to get an IP address using the DHCP protocol and optionally download an executable using the TFTP protocol. I do not define a boot file in the DHCP server so it can vary for each board on networking that is net booting.
     1281. The TFTP server IP address is manually set to `10.10.5.1`.
    110129
    111130== SD Card Set Up ==
     
    125144# cp arch/arm/dts/zynq-microzed.dtb /mnt/sd/system.dtb
    126145# cp u-boot.img /mnt/sd/u-boot.img
     146# cp uEnv.txt /mnt/sd/uEnv.txt
    127147}}}
    128148