123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- Nios Development Kit
- Cyclone Editions
- Last Update: January 2, 2004
- ====================================================================
- This file contains information regarding U-Boot and the Altera
- Nios Development Kit, Cyclone Edition (DK-1C20). For general Nios
- information see doc/README.nios.
- For those interested in contributing ... see HELP WANTED section
- in doc/README.nios.
- Contents:
- 1. Files
- 2. Memory Organization
- 3. Examples
- 4. Programming U-Boot into FLASH with GERMS
- 5. Active Serial Memory Interface (ASMI) Support
- ====================================================================
- 1. Files
- =========
- board/altera/dk1c20/*
- include/configs/DK1C20.h
- 2. Memory Organization
- =======================
- -The heap is placed below the monitor (U-Boot code).
- -Global data is placed below the heap.
- -The stack is placed below global data (&grows down).
- 3. Examples
- ============
- The hello_world example works fine. The default load address
- is 0x0100_0000 (the start of SDRAM).
- 4. Programming U-Boot into FLASH with GERMS
- ============================================
- The current version of the DK-1C20 port with the default
- configuration settings occupies about 81 KBytes of flash.
- A minimal configuration occupies less than 60 KByte (asmi
- and network support disabled).
- To program U-Boot into the DK-1C20 flash using GERMS do the
- following:
- 1. From the command line, download U-Boot using the nios-run:
- $ nios-run -r u-boot.srec
- This takes about 45 seconds (GERMS is not very speedy here).
- After u-boot is downloaded it will be executed. You should
- see the following:
- U-Boot 1.0.0-pre (Oct 4 2003 - 07:39:24)
- CPU: Nios-32 Rev. 3.3 (0x3038)
- Reg file size: 256 LO_LIMIT/HI_LIMIT: 2/14
- Board: Altera Nios 1C20 Development Kit
- In: serial
- Out: serial
- Err: serial
- ==>
- 2. Quit nios-run and start your terminal application (e.g. start
- Hyperterminal or minicom).
- 3. Download the u-boot code to RAM. When using Hyperterminal, do the
- following:
- a. From the u-boot command prompt start a binary download to SRAM:
- ==> loadb 800000
- b. Download u-boot.bin using kermit.
- 4. From the U-Boot command prompt, erase flash 0x40000 to 0x5ffff:
- ==> erase 1:4-5
- 5. Copy the binary image from SRAM to flash:
- ==> cp.b 800000 40000 10000
- U-Boot will now automatically start when the board is powered on or
- reset using the Standard-32 configuration. To start U-Boot with the
- Safe-32 configuration, enter the following GERMS command:
- + g 40000
- 5. Active Serial Memory Interface (ASMI) Support
- ================================================
- ASMI is fully supported in U-Boot. Please note that ASMI is supported
- only on Cyclone devices. Do not expect ASMI to work with Stratix or
- APEX devices.
- ************* IMPORTANT *************
- ===================================================
- IN ORDER FOR THE NIOS ASMI TO OPERATE PROPERLY, THE
- CYCLONE DEVICE MUST BE CONFIGURED USING JTAG OR ASMI.
- There are two techniques you can use to bootstrap the ASMI. The
- first is to use the program_epcs utility that is part of Altera's SDK.
- But I've found program_epcs to be slow and cumbersome at best.
- An undocumented alternative is to use the Quartus device programing
- interface:
- 1. Select "Active Serial" mode.
- 2. Choose the xxx.pof file. For example, for the standard_32
- configuration use the "standard_32.pof" file.
- 3. Attach your ByteBlaster to J28. Make sure you have the
- cable attached properly -- the orientation of J28 is
- different than J24 (the JTAG header). On J28, pin 1 is on
- the bottom row, left-most pin.
- 4. Press and hold the "Power-On Reset" switch (SW10). You will
- see the green "Loading" and red "Error" LEDs (LED3 and LED4)
- in the on state.
- 5. While holding down the "Power-On Reset" switch, start the
- programming sequence. This only takes about 10 seconds.
- 6. After programming is complete, release the "Power-On Reset"
- switch. The Cyclone device should now load its configuration
- from the EPCS4 (U59). The green "User" LED (LED 1) should be
- blinking if the device was successfully loaded via ASMI.
- 7. Remove the ByteBlaster cable. The cable must be removed to
- allow the Nios ASMI access to the EPCS4 device.
- After you have successfully programmed a configuration into the
- EPCS4, the ASMI will be used to load the Cyclone configuration
- unless the "Force Safe" switch (SW9) is pressed.
- NOTE: To maximize the amount of space available for program use,
- you can enable configuration compression in Quartus. With compression
- enabled, the size of the standard_32 configuration data is
- approximately 192 KBytes.
- To use the U-Boot ASMI commands, try typing "help asmi" at the
- command prompt. The command "asmi info" will show the current
- status of the ASMI.
|