From 180d3f74e4738ee107e269cbb949481075dd789a Mon Sep 17 00:00:00 2001 From: wdenk Date: Sun, 4 Jan 2004 16:28:35 +0000 Subject: * 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) --- doc/README.dk1c20 | 112 +++++++++++++++++++++++++++++++++++++++++++----------- doc/README.nios | 12 +++--- 2 files changed, 94 insertions(+), 30 deletions(-) (limited to 'doc') 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. -- cgit v1.2.3