README.dk1c20 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. Nios Development Kit
  2. Cyclone Editions
  3. Last Update: January 2, 2004
  4. ====================================================================
  5. This file contains information regarding U-Boot and the Altera
  6. Nios Development Kit, Cyclone Edition (DK-1C20). For general Nios
  7. information see doc/README.nios.
  8. For those interested in contributing ... see HELP WANTED section
  9. in doc/README.nios.
  10. Contents:
  11. 1. Files
  12. 2. Memory Organization
  13. 3. Examples
  14. 4. Programming U-Boot into FLASH with GERMS
  15. 5. Active Serial Memory Interface (ASMI) Support
  16. ====================================================================
  17. 1. Files
  18. =========
  19. board/altera/dk1c20/*
  20. include/configs/DK1C20.h
  21. 2. Memory Organization
  22. =======================
  23. -The heap is placed below the monitor (U-Boot code).
  24. -Global data is placed below the heap.
  25. -The stack is placed below global data (&grows down).
  26. 3. Examples
  27. ============
  28. The hello_world example works fine. The default load address
  29. is 0x0100_0000 (the start of SDRAM).
  30. 4. Programming U-Boot into FLASH with GERMS
  31. ============================================
  32. The current version of the DK-1C20 port with the default
  33. configuration settings occupies about 81 KBytes of flash.
  34. A minimal configuration occupies less than 60 KByte (asmi
  35. and network support disabled).
  36. To program U-Boot into the DK-1C20 flash using GERMS do the
  37. following:
  38. 1. From the command line, download U-Boot using the nios-run:
  39. $ nios-run -r u-boot.srec
  40. This takes about 45 seconds (GERMS is not very speedy here).
  41. After u-boot is downloaded it will be executed. You should
  42. see the following:
  43. U-Boot 1.0.0-pre (Oct 4 2003 - 07:39:24)
  44. CPU: Nios-32 Rev. 3.3 (0x3038)
  45. Reg file size: 256 LO_LIMIT/HI_LIMIT: 2/14
  46. Board: Altera Nios 1C20 Development Kit
  47. In: serial
  48. Out: serial
  49. Err: serial
  50. ==>
  51. 2. Quit nios-run and start your terminal application (e.g. start
  52. Hyperterminal or minicom).
  53. 3. Download the u-boot code to RAM. When using Hyperterminal, do the
  54. following:
  55. a. From the u-boot command prompt start a binary download to SRAM:
  56. ==> loadb 800000
  57. b. Download u-boot.bin using kermit.
  58. 4. From the U-Boot command prompt, erase flash 0x40000 to 0x5ffff:
  59. ==> erase 1:4-5
  60. 5. Copy the binary image from SRAM to flash:
  61. ==> cp.b 800000 40000 10000
  62. U-Boot will now automatically start when the board is powered on or
  63. reset using the Standard-32 configuration. To start U-Boot with the
  64. Safe-32 configuration, enter the following GERMS command:
  65. + g 40000
  66. 5. Active Serial Memory Interface (ASMI) Support
  67. ================================================
  68. ASMI is fully supported in U-Boot. Please note that ASMI is supported
  69. only on Cyclone devices. Do not expect ASMI to work with Stratix or
  70. APEX devices.
  71. ************* IMPORTANT *************
  72. ===================================================
  73. IN ORDER FOR THE NIOS ASMI TO OPERATE PROPERLY, THE
  74. CYCLONE DEVICE MUST BE CONFIGURED USING JTAG OR ASMI.
  75. There are two techniques you can use to bootstrap the ASMI. The
  76. first is to use the program_epcs utility that is part of Altera's SDK.
  77. But I've found program_epcs to be slow and cumbersome at best.
  78. An undocumented alternative is to use the Quartus device programing
  79. interface:
  80. 1. Select "Active Serial" mode.
  81. 2. Choose the xxx.pof file. For example, for the standard_32
  82. configuration use the "standard_32.pof" file.
  83. 3. Attach your ByteBlaster to J28. Make sure you have the
  84. cable attached properly -- the orientation of J28 is
  85. different than J24 (the JTAG header). On J28, pin 1 is on
  86. the bottom row, left-most pin.
  87. 4. Press and hold the "Power-On Reset" switch (SW10). You will
  88. see the green "Loading" and red "Error" LEDs (LED3 and LED4)
  89. in the on state.
  90. 5. While holding down the "Power-On Reset" switch, start the
  91. programming sequence. This only takes about 10 seconds.
  92. 6. After programming is complete, release the "Power-On Reset"
  93. switch. The Cyclone device should now load its configuration
  94. from the EPCS4 (U59). The green "User" LED (LED 1) should be
  95. blinking if the device was successfully loaded via ASMI.
  96. 7. Remove the ByteBlaster cable. The cable must be removed to
  97. allow the Nios ASMI access to the EPCS4 device.
  98. After you have successfully programmed a configuration into the
  99. EPCS4, the ASMI will be used to load the Cyclone configuration
  100. unless the "Force Safe" switch (SW9) is pressed.
  101. NOTE: To maximize the amount of space available for program use,
  102. you can enable configuration compression in Quartus. With compression
  103. enabled, the size of the standard_32 configuration data is
  104. approximately 192 KBytes.
  105. To use the U-Boot ASMI commands, try typing "help asmi" at the
  106. command prompt. The command "asmi info" will show the current
  107. status of the ASMI.