Saturday, May 25th 2013, 4:25am UTC+2

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Date of registration: Jul 15th 2011

Posts: 3

1

Friday, August 12th 2011, 4:08pm

[SOLVED]Intermittent write/erase errors with external M29W320EB on ARM7

First post for me in this forum - guess I found it because of my problems. ;)

We are programming an external flash that is connected to an ASIC which contains an ARM7 core (Core Id = 0x3F0F0F0F), the ASIC contains a flash of size 2MB (Flash id = 0x1F90C3).

The data and address bus is available outside the ASIC as well and the board is possible to populate with another flash. We are using either the Spansion S29AL016J (2MB, Flash Id = 0x022249) or the Numonyx M29W320EB (4MB, Flash Id = 0x202257). The spansion memory has worked flawlessly but with the Numonyx there are intermittent error during write and erase.

Any ideas?

SEGGER - Alex

Super Moderator

Date of registration: Dec 18th 2007

Posts: 862

2

Monday, August 15th 2011, 9:16am

Hi,

Maybe there is a problem with the EBI/EMI (External Bus- / External Memory Interface) init of the device.
Some timing parameters that are too short which works in most cases but in some
produces the behavior you are seeing.


Best regards
Alex

Date of registration: Jul 15th 2011

Posts: 3

3

Tuesday, August 16th 2011, 11:44am

Thank you for your reply.

The problem might very well be related to timing.

We have tested to modify the EBI parameters for the Numonyx M29W320EB without any improvement. If we skip the two first sectors of the flash we will always succeed in erasing and programming. Which timings would you propose to change that will affect only the init stage? Could there be any flash specific (settings that are automatic with the identification of the external flash) that needs to be changed?

As this board has been manually modified with the Numonyx flash the problem might also be related to HW, we will try to patch another board with this flash to rule out that possibility.

SEGGER - Alex

Super Moderator

Date of registration: Dec 18th 2007

Posts: 862

4

Thursday, August 18th 2011, 8:58am

Hi,

I am not sure if I get your question correctly.
When creating a J-Flash project, it is user's responsibility to perform the correct EBI setup with correct timings.
It is a bit weird that if you are skipping the first 2 sectors everything always works correctly...

Maybe there is a problem with the nWP pin?
After having a look into the flash manual I found the following:

Quoted

The Write Protect function provides a hardware method of protecting the two outermost boot
blocks. When VPP/Write Protect is Low, VIL, the memory protects the two outermost boot
blocks; Program and Erase operations in these blocks are ignored while VPP/Write Protect
is Low, even when RP is at VID.


It is not totally clear to me which blocks they are referring to (the 2 first ones, the two last ones or the first + the last blocks),
but if they are referring to the first 2 blocks it could be an explanation for the problems you are seeing.


Best regards
Alex

Date of registration: Jul 15th 2011

Posts: 3

5

Monday, August 22nd 2011, 8:31am

The nWP was actually floating and adding a 100k pull-up helped. Programming has worked several times in a row now. :thumbsup:

Thanks for pointing out the somewhat cryptic information in the datasheet.

SEGGER - Alex

Super Moderator

Date of registration: Dec 18th 2007

Posts: 862

6

Monday, August 22nd 2011, 8:55am

Hi,

good to hear that everything is working now.
This thread may also help other users which are running into the same problem.


Best regards
Alex