[SOLVED] Error Programming ISSI Flash

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Error Programming ISSI Flash

    Hi,

    I'm experiencing problems programming an ISSI flash chip (Log appended below). I have tested a batch of PCBAs with a variety of flash sizes (32, 64 & 128Mb device). They all result in the same fail. Importantly the memory address of the fail changes every time between reties. The HW setup does successfully auto-detect, read from whole device and Erase Device. I can program small files (1 - 10 pages) but this doesn't reliable because the variable fail address implies a intermittent issue.
    I have attached the SPI signals to an oscilloscope and have failed to find any indication of the root cause.

    Also tried v6.44h & v6.44i.

    Programming target (4194304 bytes, 1 range) ...
    - Connecting ...
    - Connecting via USB to J-Link device 0
    - VTarget = 3.296V
    - Read SPI Flash Id = 0x9D 60 16
    - Found SPI Flash: ISSI IS25LP032D
    - Connected successfully
    - Executing init sequence ...
    - Executed successfully
    - ERROR: Programming failed @ address 0x000A8200 (program error)
    - ERROR: Failed to program target.
    - Disconnecting ...
  • Hello,

    Thank you for your inquiry.
    Such an issue is not known to us.
    We tried to reproduce the issue with a IS25LP064A which should be the same base chip just with a larger memory and everything was working as expected.

    - VTarget = 3.336V
    - Read SPI Flash Id = 0x9D 60 17
    - Found SPI Flash: ISSI IS25LP064A
    - Connected successfully
    Executing init sequence ...
    - Executed successfully
    Reading entire flash chip ...
    - 128 sectors, 1 range, 0x0 - 0x7FFFFF
    - Target memory read successfully. (8388608 bytes, 1 range) - Completed after 7.971 sec
    Generating test data ...
    - Test data generated successfully. (8388608 bytes, 1 range) - Completed after 0.312 sec
    Programming and verifying target (8388608 bytes, 1 range) ...
    - Reading affected sectors ...
    - Target memory read successfully. (8388608 bytes, 1 range)
    - Programming target (8388608 bytes, 1 range) ...
    - Target programmed successfully
    - Verifying target (8388608 bytes, 1 range) ...
    - All loaded bytes verified OK!
    - Target programmed and verified successfully. - Completed after 32.583 sec

    Does erasing and reading work with the Flash for you?

    The attachements did not make it through. Could you try again?
    Could you provide an example programming image with which the issue is reproducible on your setup?

    Best regards,
    Nino
    Please read the forum rules before posting: Forum Rules

    Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support contact us per e-mail.
    Alternatively our support system can be used as well: segger.com/ticket/
  • Hi Nino,

    Thanks for your reply.

    I'm using a test file (auto generated by the J-Flash SPI tool).
    I have tried 32, 64 and 128Mb flash modules and all have the same basic behaviour.
    I can auto connect (but a team mate cannot, he can only connect with manual settings)
    I can read from the whole device.
    I can trigger the device erase. Sometimes this completes in 0.1sec, sometimes it takes ~5, ~10 and ~20 secs depending on device size.

    The main symptom appears to happen on writing. Which always fails on a page boundary but never the same address (appears random). I can read out what was written.

    I am don't have permission from my IT Security to share the oscilloscope traces, yet. Still trying to access that.

    Ade
  • Hi Ade,


    Adrian Parsons wrote:

    I can trigger the device erase. Sometimes this completes in 0.1sec, sometimes it takes ~5, ~10 and ~20 secs depending on device size.
    This sounds already strange. The >5s times would be expected e.g. the 64Mb chip I used took ~15s.
    0.1s is definitely to short and indicates that something went wrong.

    I noticed that you registered with J-Links that are eligible for e-mail support. As this forum is not our official support channel could you open a support inquiry through our support system so you get in touch with my engineering colleagues which can help you further? This should also solve any issues with sending data back and forth as the platform would no longer be public domain.
    More information about how to open an inquiry can be found in my signature.
    To make sure no information gets lost between channels this thread will be closed now.

    Best regards,
    Nino
    Please read the forum rules before posting: Forum Rules

    Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support contact us per e-mail.
    Alternatively our support system can be used as well: segger.com/ticket/