]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - doc/README.dk1c20
* Fix problems caused by Robert Schwebel's cramfs patch
[people/ms/u-boot.git] / doc / README.dk1c20
index b3a6b8bb0b71a7d77092402c9330a25e51d4df0b..bf3b6995e10251094b00021fea6d17a04cbc8521 100644 (file)
@@ -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.