Forum Discussion

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

SPI Flash devices

I am looking for a SPI FLASH device to configure a Cyclone III device in AS mode. I know that other manufacturers make FLASH parts that are compatible with the Altera EPCSx series, but Altera does not officially support these other manufacturers.

Can anyone reccomend a specific SPI FLASH device from a different manufacturer that has been used successfully to configure a Cyclone III?

I am looking at the Numonyx M25P40, but there are a lot of other choices out there!

Thanks.

14 Replies

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

    The ID check is (if at all) performed by the programmer software, not the EPCS core.

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

    i'm trying to use the AT25FS010 ATMEL SPI FLASH so i insert the file

    nios2-flash-override.txt

    and within there is:

    [EPCS-1F6601]# EPCS1N (ATMEL SPI FLASH) S25FL064A0LMFI001

    sector_size = 4096

    sector_count = 32

    but the result is:

    [NiosII EDS]$ nios2-flash-programmer --epcs --base=0x00002000 "spi_flash.flash" --verbose

    Reading override file "c:/altera/90/nios2eds/bin/nios2-flash-override.txt"

    Using cable "USB-Blaster [USB-0]", device 1, instance 0x00

    Resetting and pausing target processor: OK

    Processor data bus width is 32 bits

    Looking for EPCS registers at address 0x00002000 (with 32bit alignment)

    Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A

    Not here: reserved fields are non-zero

    Looking for EPCS registers at address 0x00002100 (with 32bit alignment)

    Initial values: 92400237 4A40100C 483FFD26 90000135 92400237 4A40200C

    Not here: reserved fields are non-zero

    Looking for EPCS registers at address 0x00002200 (with 32bit alignment)

    Initial values: 03803904 73C00136 00000406 03803C44 7BBF9336 03803DC4

    Not here: reserved fields are non-zero

    Looking for EPCS registers at address 0x00002300 (with 32bit alignment)

    Initial values: 00000000 00000000 00000000 00000000 00000000 00000000

    Not here: SPI_SLAVE_SEL has 0 valid bits (should be between 1 and 16)

    Looking for EPCS registers at address 0x00002400 (with 32bit alignment)

    Initial values: 00000000 00000000 00000260 00000000 00000000 00000001

    Valid registers found

    EPCS signature is 0x1F

    EPCS identifier is 0x1F6601

    Using EPCS size information from section [EPCS-1F6601]

    Device size is 128KByte (1Mbit)

    Erase regions are:

    offset 0: 32 x 4K

    EPCS status is 0x00

    : Checksumming existing contents

    00000000 : Verifying existing contents

    00000000 : Needs erase then program

    00001000 : Verifying existing contents

    00001000 : Needs erase then program

    00002000 : Verifying existing contents

    00002000 : Needs erase then program

    00003000 : Verifying existing contents

    00003000 : Needs erase then program

    00004000 : Verifying existing contents

    00004000 : Needs erase then program

    00005000 : Verifying existing contents

    00005000 : Needs erase then program

    00006000 : Verifying existing contents

    00006000 : Needs erase then program

    00007000 : Verifying existing contents

    00007000 : Needs erase then program

    00008000 : Verifying existing contents

    00008000 : Needs erase then program

    00009000 : Verifying existing contents

    00009000 : Needs erase then program

    0000A000 : Verifying existing contents

    0000A000 : Needs erase then program

    0000B000 : Verifying existing contents

    0000B000 : Needs erase then program

    0000C000 : Verifying existing contents

    0000C000 : Needs erase then program

    0000D000 : Verifying existing contents

    0000D000 : Needs erase then program

    0000E000 : Verifying existing contents

    0000E000 : Needs erase then program

    00000000 : Reading existing contents

    00001000 : Reading existing contents

    00002000 : Reading existing contents

    00003000 : Reading existing contents

    00004000 : Reading existing contents

    00005000 : Reading existing contents

    00006000 : Reading existing contents

    00007000 : Reading existing contents

    00008000 : Reading existing contents

    00009000 : Reading existing contents

    0000A000 : Reading existing contents

    0000B000 : Reading existing contents

    0000C000 : Reading existing contents

    0000D000 : Reading existing contents

    0000E000 : Reading existing contents

    Checksummed/read 1kB in 0.0s

    00000000 ( 0%): Erasing

    Erase failed at offset 0

    Leaving target processor paused

    did i miss some steps?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Do you know, if the NIOS programmer is able to handle the 4K sector erase in constrast to 32k block erase? The latter should work at least, because the Atmel device is compatible to EPCS1 when using large blocks.

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

    the binary code looks different. The Atmel needs 2 Bytes and the first one is different.