- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
i have a design where I am using a S29GL01GS memory. I have tried to program the NOR memory with two different methods:
1. Using a programmer
2. Through a microprocessor using hard coded via JTAG
With both methods I found an issue.
1)
The programmer does not give me much information about the issue but it erase succesfully, seems to write successfully too, but during the verification of the write action, an error occurs. The log is the following after loading the file to be programmed and try to program it after an erase:
013: File has been loaded, checksum: 16bits_0x3E91 £¬32bits_0x1B243E91 :
014: Chip pins contact is detected OK.
015: Chip ID verification OK.
016: Start writing chip......
017: Auto erasing...
018: Erase successful£¬Elapsed time£º267.9 seconds¡£
019: Start writing...
020: Write successful£¬Elapsed time£º62.29 seconds¡£
021: Auto verifying...
022: Chip verification error, start position: 0x37506E.
023: Verification failure£¬Elapsed time£º0.549 seconds¡£
024: Write error, operation terminated.
2)
When programming through the microprocessor, it seems to happen something similar, it is like the erase action is succesful, but when writing, it fails. The log is:
cmdwin::fl::device -d "S29GL01GP" -o "128Mx8x1" -a 0xe8000000 0xefffffff
cmdwin::fl::erase all
Beginning Operation ...
-------------------------
Performing target initialization ...
Downloading Flash Device Driver ...
Reading flash ID ...
Erasing entire flash ...
Erasing ...
Erase Command Succeeded
cmdwin::fl::image -f "/home/*****" -t "Auto Detect" -re on -r 0xe8000000 0xe801ffff -oe on -o 0xe8000000
cmdwin::fl::write
Beginning Operation ...
-------------------------
Using restricted address range 0xE8000000 to 0xE801FFFF
Programming file /home/******.bin
Auto-detection is successful.
File is of type Binary/Raw Format.
Downloading Flash Device Driver ...
Reading flash ID ...
Auto-detection is successful.
File is of type Binary/Raw Format.
Downloading 0x00010000 bytes to be programmed at 0xE8000000
Downloading 0x00010000 bytes to be programmed at 0xE8010000
Executing program ....
Error: Program failed. Flash driver reports the following error(s): Chip reported error during program. Please check that the sector you are programming is erased.
any idea of what the issue could be? It can be checked that the sector is erased:
Downloading Flash Device Driver ...
Reading flash ID ...
Erasing Sector 0xE8000000 to 0xE801FFFF
Erasing Sector 0xE8020000 to 0xE803FFFF
Erasing Sector 0xE8040000 to 0xE805FFFF
Erasing Sector 0xE8060000 to 0xE807FFFF
Erasing Sector 0xE8080000 to 0xE809FFFF
Erasing Sector 0xE80A0000 to 0xE80BFFFF
Erasing Sector 0xE80C0000 to 0xE80DFFFF
Erasing Sector 0xE80E0000 to 0xE80FFFFF
Erasing Sector 0xE8100000 to 0xE811FFFF
....
Thank you in advance
- Labels:
-
Parallel NOR
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Paula,
Thank you for contacting Cypress Community Forum, an Infineon Technologies Company. Are you using S29GL01GS or S29GL01GP?
Regards,
Bushra
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using S29GL01GS but the microprocessor TAP only have the option to select S29GL01GP, but I thought that both memories distributions are equals. Is that assumption wrong?
Anyways in the first programming method we define the exacly Part number and still having issues.
Thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Paula,
Please send comparison between programmed data and read data, to understand how verify was failed.
Thank you
Regards,
Bushra.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can not read data neither, I also get an error while verifying.
Sorry but I can not share that info.
Anyways, we could check with the programmer that the file read was 129MB while the memory size is 128 and the data written too.
When programming using the microprocessor it seems that we can do something else, but with a new error:
Erasing Sector 0xEFFA0000 to 0xEFFBFFFF
Erasing Sector 0xEFFC0000 to 0xEFFDFFFF
Erasing Sector 0xEFFE0000 to 0xEFFFFFFF
log: Clearing the status
log: Setting up Registers
log: Commanding target to run
Erasing ... log: Reading erase return status
Error: Erase failed. Flash driver reports the following error(s): Sector Protection Error log: Timestamp: Thu Nov 19 16:19:34 2020 Error: Erase failed. Flash driver reports the following error(s): Sector Protection Error
Can we disable that protection?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Paula,
Please refer to application note: “Migration from GL-N and GL-P to GL-S Flash”: https://www.cypress.com/file/199261/download
Review the migration application to see all the differences and check that all the specs are correctly used.
A potential issue could be related to the bus width configuration where the x8 configuration is supported by the S29GL01GP but not supported by the S29GL01GS.
Some other points;
- The CFI version which is different on these two devices.
- The unlock bypass command is not supported by the S29GL01GS.
If all of the above do not help then we definitely need to look at the LA traces/captures to identify what’s going wrong. We also need more details about the error description, polling data when error happens (It must polling data since status register is not supported by the GL-P).
Thank you
Regards,
Bushra
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Paula,
Is your issue resolved? If not then please send us the LA traces/captures to identify what is going wrong.
Thank you
Regards,
Bushra