summaryrefslogtreecommitdiff
path: root/doc/README.dk1c20
diff options
context:
space:
mode:
Diffstat (limited to 'doc/README.dk1c20')
-rw-r--r--doc/README.dk1c20112
1 files changed, 89 insertions, 23 deletions
diff --git a/doc/README.dk1c20 b/doc/README.dk1c20
index b3a6b8b..bf3b699 100644
--- a/doc/README.dk1c20
+++ b/doc/README.dk1c20
@@ -2,7 +2,7 @@
Nios Development Kit
Cyclone Editions
- Last Update: October 15, 2003
+ Last Update: January 2, 2004
====================================================================
This file contains information regarding U-Boot and the Altera
@@ -12,31 +12,41 @@ information see doc/README.nios.
For those interested in contributing ... see HELP WANTED section
in doc/README.nios.
+Contents:
-Files
-------
+ 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/dk1c20/*
include/configs/DK1C20.h
-Memory Organization
---------------------
+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).
+ -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).
-Misc
------
+3. Examples
+============
-The hello_world example works fine.
+The hello_world example works fine. The default load address
+is 0x0100_0000 (the start of SDRAM).
-Programming U-Boot into FLASH with GERMS
------------------------------------------
-The current version of the DK-1C20 port occupies less than
-60 KByte with network support disabled. So everything will fit
-into a single flash sector. With network support (e.g. bootp,
-tftpboot, ping, etc) the flash footprint is about 77K.
+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:
@@ -51,10 +61,10 @@ see the following:
U-Boot 1.0.0-pre (Oct 4 2003 - 07:39:24)
- CPU: Nios-32 Rev. 3.08 (0x3018)
+ 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
+ In: serial
Out: serial
Err: serial
==>
@@ -63,18 +73,18 @@ see the following:
2. Quit nios-run and start your terminal application (e.g. start
Hyperterminal or minicom).
-3. From the U-Boot command prompt, erase a sector of flash at 0x40000:
+3. From the U-Boot command prompt, erase flash 0x40000 to 0x 5ffff:
- ==> erase 40000 4ffff
+ ==> erase 1:4-5
4. Download the u-boot code to RAM. When using Hyperterminal, do the
following:
- --From the u-boot command prompt start a binary download to SRAM:
+ a. From the u-boot command prompt start a binary download to SRAM:
==> loadb 800000
- --Download u-boot.bin using kermit.
+ b. Download u-boot.bin using kermit.
5. Copy the binary image from SRAM to flash:
@@ -85,3 +95,59 @@ 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.