123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- Tensilica 'xtfpga' Evaluation Boards
- ====================================
- Tensilica's 'xtfpga' evaluation boards are actually a set of different
- boards that share configurations. The following is a list of supported
- hardware by this board type:
- - XT-AV60 / LX60
- - XT-AV110 / LX110
- - XT-AV200 / LX200
- - ML605
- - KC705
- All boards provide the following common configurations:
- - An Xtensa or Diamond processor core.
- - An on-chip-debug (OCD) JTAG interface.
- - A 16550 compatible UART and serial port.
- - An OpenCores Wishbone 10/100-base-T ethernet interface.
- - A 32 char two line LCD display. (except for the LX200)
- LX60/LX110/LX200:
- - Virtex-4 (XC4VLX60 / XCV4LX200) / Virtext-5 (XC5VLX110)
- - 128MB / 64MB (LX60) memory
- - 16MB / 4MB (LX60) Linear Flash
- ML605
- - Virtex-6 (XC6VLX240T)
- - 512MB DDR3 memory
- - 16MB Linear BPI Flash
- KC705 (Xilinx)
- - Kintex-7 XC7K325T FPGA
- - 1GB DDR3 memory
- - 128MB Linear BPI Flash
- Setting up the Board
- --------------------
- The serial port defaults to 115200 baud, no parity and 1 stop bit.
- A terminal emulator must be set accordingly to see the U-Boot prompt.
- Board Configurations LX60/LX110/LX200/ML605/KC705
- -------------------------------------------------
- The LX60/LX110/LX200/ML605 contain an 8-way DIP switch that controls
- the boot mapping and selects from a range of default ethernet MAC
- addresses.
- Boot Mapping (DIP switch 8):
- DIP switch 8 maps the system ROM address space (in which the
- reset vector resides) to either SRAM (off, 0, down) or Flash
- (on, 1, up). This mapping is implemented in the FPGA bitstream
- and cannot be disabled by software, therefore DIP switch 8 is no
- available for application use. Note DIP switch 7 is reserved by
- Tensilica for future possible hardware use.
- Mapping to SRAM allows U-Boot to be debugged with an OCD/JTAG
- tool such as the Xtensa OCD Daemon connected via a suppored probe.
- See the tools documentation for supported probes and how to
- connect them. Be aware that the board has only 128 KB of SRAM,
- therefore U-Boot must fit within this space to debug an image
- intended for the Flash. This issues is discussed in a separate
- section toward the end.
- Mapping to flash allows U-Boot to start on reset, provided it
- has been programmed into the first two 64 KB sectors of the Flash.
- The Flash is always mapped at a device (memory mapped I/O) address
- (the address is board specific and is expressed as CFG_FLASH_BASE).
- The device address is used by U-Boot to program the flash, and may
- be used to specify an application to run or U-Boot image to boot.
- Default MAC Address (DIP switches 1-6):
- When the board is first powered on, or after the environment has
- been reinitialized, the ethernet MAC address receives a default
- value whose least significant 6 bits come from DIP switches 1-6.
- The default is 00:50:C2:13:6F:xx where xx ranges from 0..3F
- according to the DIP switches, where "on"==1 and "off"==0, and
- switch 1 is the least-significant bit.
- After initial startup, the MAC address is stored in the U-Boot
- environment variable 'ethaddr'. The user may change this to any
- other address with the "setenv" comamnd. After the environment
- has been saved to Flash by the "saveenv" command, this will be
- used and the DIP switches no longer consulted. DIP swithes 1-6
- may then be used for application purposes.
- The KC705 board contains 4-way DIP switch, way 1 is the boot mapping
- switch and ways 2-4 control the low three bits of the MAC address.
- Limitation of SDRAM Size for OCD Debugging on the LX60
- ------------------------------------------------------
- The XT-AV60 board has only 128 KB of SDRAM that can be mapped
- to the system ROM address space for debugging a ROM image under
- OCD/JTAG. This limits the useful size of U-Boot to 128 KB (0x20000)
- or the first 2 sectors of the flash.
- This can pose a problem if all the sources are compiled with -O0
- for debugging. The code size is then too large, in which case it
- would be necessary to temporarily alter the linker script to place
- the load addresses (LMA) in the RAM (VMA) so that OCD loads U-Boot
- directly there and does not unpack. In practice this is not really
- necessary as long as only a limited set of sources need to be
- debugged, because the image can still fit into the 128 KB SRAM.
- The recommended procedure for debugging is to first build U-Boot
- with the default optimization level (-Os), and then touch and
- rebuild incrementally with -O0 so that only the touched sources
- are recompiled with -O0. To build with -O0, pass it in the KCFLAGS
- variable to make.
- Because this problem is easy to fall into and difficult to debug
- if one doesn't expect it, the linker script provides a link-time
- check and fatal error message if the image size exceeds 128 KB.
|