Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

boot NIOS from EPCS flash and use SDRAM to store instructions and data

Hi! In the qsys I have:

1. Clock Source

2. On-Chip Memory

3. Nios II Processor

4. System ID

5. JTAG UART

6. EPCS Serial Flash Controller

7. PIO

8. SDRAM Controller

I want to use SDRAM (MT48LC4M32B2) to store instructions and data for NIOS application. In the NIOS II Processor properties reset vector is set to base address of EPCS controller. Exceptions vector is set to base address to SDRAM. In the NIOS EDS for Eclipce I can debug my application, it works. But in the NIOS flash programmer error occur:

"Error: Error code: 4 for command: $SOPC_KIT_NIOS2/bin/nios2-flash-programmer "D:/Work/QuartusProjects/tests/test2/flash/test2_epcs_flash.flash" --base=0x2003800 --epcs --sidp=0x2004010 --id=0x0 --timestamp=1359654107 --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program"

What I did wrong? Thank you

29 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Could you access the EPCS from Nios? Try to write/read the EPCS with the alt_flash functions.

    You could verify if the firmware was flashed correct to EPCS. The firmware follows immediately after the fpga design in the EPCS.

    To get the start address in EPCS look at the firmware.flash. Its similar a srec file where the first S1, S2 or S3 record contains the start address.

    Reading from EPCS:

    nios2-flash-programmer --cable='USB-Blaster [USB-0]' --epcs --base=0x21000 --read-bytes <start_address_firmware>+<size_of_nios_firmware> --read epcs.out

    Jens
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I'll try to read/write the EPCS and write memory test of SDRAM. Thank you

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Test of SDRAM and Flash from NIOS application is ok! I write to all bytes 0xAA then read and verify it. Then I write 0x55 and verify it. In both devices it works good. But it still don't boot from flash after power on :-(

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I had a look at your design. Could you try to set the configuration device in the device and pin options? (see attachment) Which EPCS you are using?

    Do you need compressed bitstreams. (I'm using Stratix4 with compressed bitstream in a EPCS64 with no boot problems)