123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- Xilinx ML300 platform
- =====================
- 0. Introduction
- ---------------
- The Xilinx ML300 board is based on the Virtex-II Pro FPGA with
- integrated IBM PowerPC 405 core. The board is normally booted from
- System ACE CF. U-Boot is then run out of main memory.
- An FPGA is a configurable and thus very flexible device. To
- accommodate for this flexibility this port of U-Boot includes the
- required means to regenerate the drivers and configuration files if
- you decide to change the hardware design. The required steps are
- described below.
- 1. Requirements
- ---------------
- To compile and run U-Boot on the Xilinx ML300 platform you need the
- following items.
- - A Xilinx ML300 platform (see http://www.xilinx.com/ml300)
- - EDK and ISE development tools (shipping with ML300)
- - Parallel4 cable (shipping with ML300)
- - The EDK reference design for ML300. You can get this as design #6 from
- http://www.xilinx.com/ise/embedded/edk_examples.htm
- - A BOOTP/TFTP server
- 2. Quick Start
- --------------
- To compile and run U-Boot on ML300 follow the steps below. Make sure
- to consult the documentation for U-Boot, EDK, and the EDK reference
- design for ML300 if you have any questions.
- 1. Implement the EDK reference design for ML300. You can use any of
- the project files, for example from a xygwin shell:
- $ xps -nw system_linux.xmp
- XPS% run init_bram
- 2. Configure and compile U-Boot. Change into the root directory of
- U-Boot and run:
- $ export CROSS_COMPILE=powerpc-eabi-
- $ make ml300_config
- $ make
- 3. Set up the ML300, connect the Parallel4 and the serial cable. Start
- a terminal on your host computer and set the communication
- parameters to 9600,8N1,no handshake.
- 4. Set up the BOOTP/TFTP server on your host machine. U-Boot is
- preconfigured to use a fixed HW MAC address of 00:0A:35:00:22:01.
- 5. Download the bitstream to the ML300.
- 6. Use XMD to download and run U-Boot on the ML300:
- $ xmd
- XMD% ppcconnect
- XMD% dow u-boot
- XMD% run
- You can now make an ACE file out of bitstream and U-Boot:
- $ xmd genace.tcl -jprog -board ml300 -hw \
- implementation/download.bit -elf u-boot -ace top.ace
- Put the ACE file onto the MicroDrive, for example into xilinx/myace,
- and reboot ML300.
- 3. Generating a Custom BSP for U-Boot
- -------------------------------------
- If you decide to change the EDK reference design for ML300 or if you
- build a new design from scratch either with the Base System Builder in
- XPS or all by hand you most likely will change the base addresses for
- the Uart and the Ethernet peripheral. If you do so you will have two
- options:
- 1. Edit boards/xilinx/ml300/xparameters.h to reflect the changes you
- made to your hardware.
- 2. Use the MLD technology provided by Xilinx Platform Studio to make
- the changes automatically. To do so go to the root directory of the
- EDK reference design for ML300. Copy the Linux project file and the
- Linux software configuration file:
- $ cp system_linux.xmp system_uboot.xmp
- $ cp system_linux.mss system_uboot.mss
- Edit system_uboot.xmp and and have it point to system_uboot.mss for
- the software configuration.
- Then, copy the sw_services directory in
- boards/xilinx/ml300/sw_services to the root directory of the EDK
- reference design for ML300.
- $ cp -R <uboot dir>/boards/xilinx/ml300/sw_services <edk dir>
- Modify system_uboot.mss. Look for the Linux library definition
- and change it to generate a BSP for U-Boot. An example, might look
- like this:
- BEGIN LIBRARY
- PARAMETER LIBRARY_NAME = uboot
- PARAMETER LIBRARY_VER = 1.00.a
- PARAMETER CONNECTED_PERIPHS = (opb_uart16550_0,opb_ethernet_0)
- PARAMETER TARGET_DIR = <uboot dir>
- END
- Now, you are ready to generate the Xilinx ML300 BSP for U-Boot:
- $ xps -nw system_uboot.xmp
- XPS% run libs
- If all goes well the new configuration has been copied into the
- right places within the U-Boot source tree. Recompile U-Boot and
- run it on the ML300.
- 4. ToDo
- -------
- - Add support for all other peripherals on ML300.
- - Read the MAC address out of the IIC EEPROM.
- - Store the bootargs in the IIC EEPROM.
- 5. References
- -------------
- ML300: http://www.xilinx.com/ml300
- EDK: http://www.xilinx.com/edk
- ISE: http://www.xilinx.com/ise
- Reference Design: http://www.xilinx.com/ise/embedded/edk_examples.htm
|