aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorwdenk <wdenk>2004-01-04 16:28:35 +0000
committerwdenk <wdenk>2004-01-04 16:28:35 +0000
commit180d3f74e4738ee107e269cbb949481075dd789a (patch)
treece40863d3e1b3ff07a5027d788ff1fdb5416d0d7 /doc
parentdd875c767e6fb0f4fecfb799b706d84562a7acee (diff)
* Fix problems caused by Robert Schwebel's cramfs patch
* Patch by Scott McNutt, 02 Jan 2004: Add support for the Nios Active Serial Memory Interface (ASMI) on Cyclone devices * Patch by Andrea Marson, 16 Dec 2003: Add support for the PPChameleon ME and HI modules * Patch by Yuli Barcohen, 22 Dec 2003: Add support for Motorola DUET ADS board (MPC87x/88x)
Diffstat (limited to 'doc')
-rw-r--r--doc/README.dk1c20112
-rw-r--r--doc/README.nios12
2 files changed, 94 insertions, 30 deletions
diff --git a/doc/README.dk1c20 b/doc/README.dk1c20
index b3a6b8bb0..bf3b6995e 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.
diff --git a/doc/README.nios b/doc/README.nios
index 8765df739..af21b3e42 100644
--- a/doc/README.nios
+++ b/doc/README.nios
@@ -1,7 +1,7 @@
U-Boot for Nios-32
- Last Update: November 30, 2003
+ Last Update: January 2, 2004
====================================================================
This file contains information regarding U-Boot and the Altera
@@ -31,7 +31,7 @@ For those interested in contributing ... see HELP WANTED below.
U-Boot has been successfully tested on the Nios Cyclone development
board using both the 'safe' and 'standard 32' configurations with
-Nios CPU revision 3.08 (CPU_ID = 0x3008). U-Boot can be used with
+Nios CPU revision 3.1 (CPU_ID = 0x3018). U-Boot can be used with
or without the GERMS monitor. The initial version of U-Boot for the
Cyclone development kit is about 60 Kbyte and will fit in a single
sector of on-board FLASH. Only the Nios 32-bit CPU is supported.
@@ -55,9 +55,6 @@ sources (when altera silicon is not involved). This isn't really
a problem as little, if any, of the Altera source contains
features that are not already available in U-Boot.
-The Nios port also does not use the long-winded peripheral
-structure definitions from the Nios SDK.
-
2. CONFIGURATION OPTIONS/SETTINGS
----------------------------------
@@ -103,6 +100,9 @@ CFG_NIOS_TMRIRQ -- the interrupt request (vector number) assigned to
CFG_NIOS_TMRMS -- the period of the timer in milliseconds.
+CFG_NIOS_ASMIBASE -- the base address of the ASMI peripheral.
+ (standard-32: na_asmi_base).
+
2.2 Differences in U-Boot Options/Settings
-------------------------------------------
Some 'standard' U-Boot options/settings are treated differently in
@@ -238,8 +238,6 @@ for those interested in contributing:
-CompactFlash. Port & test CF/FAT.
--ASMI support. Use ASMI for environment, etc.
-
-Bedbug. Develop bedbug for Nios ... or at least provide a disassemble
command.