• Visit https://www.embeddedcomputers.net/ for Hardware; Software and all other things related to FlashcatUSB

Unable to program ST Micro M24M02-DRMN6TP I2C EEPROM.

allaboutfast

New Member
The EEPROM is detected, and I can read the contents. The device is NOT write protected.
1655758325596.png
1655758345245.png

The "Erase all memory" command appears to execute, but only erases a very small amount of the memory (see the FFs in the above screen capture).

BUT Most importantly, I cannot program a file into the EEPROM:
1655758458584.png

I always get the "Error communicating with I2C device"!

Why will the device not program?

Thanks,
Darren
 
FYI, I just tried another EEPROM (same part number). Same results. I have no problem using my ASIX Forte programmer to read/erase/program the EEPROM. But the FlashCatUSB Pro will only read the EEPROM. Any ideas why?
 
I was also able to verify my Aardvark could successfully read/erase/program the EEPROM. I really want to be able to suggest the FlashCatUSB Pro to all my customers as a more "cost effective" programmer solution! Any help is greatly appreciated.
 
We will take a look this weekend. Please confirm that you are using an official socket or you manually wired the connection.
 
Thank you! I manually connected the FlashCat to a header on the board (1.8V, GND, SDA, SCL). I connected it the same as I did the Forte and Aardvark programmers and they work fine. The board is not installed in anything, and no power is supplied. Both the Aardvark and Forte can supply the minimal power (1.8V) needed to access/program the M24M02 eeprom (and they both connect to the PC with a standard USB port).

The card is designed as a PCIe add in card.

It's interesting that the FlashCat can detect the eeprom and read the full contents of the memory. I saved the data to a file and did a binary compare to the original file that I programmed into the eeprom with the Aardvark. The files were identical, so the FlashCat properly read the contents (at both 400Khz and 1Mhz speeds).

I appreciate you looking into this!
 
Hey guys, I just got back from a week of vacation. Have you had a chance to look into this programming issue? Or could you perhaps give me some guidance to try and help you debug the issue?

Thanks!
 
Awesome!!! I was going to try to power the 1.8V rail on my board with a bench supply and see if that helped with the programming. (I'm not sure how/where you got that EEPROM, they are very hard to come by with the current supply chain constraints...)
 
With a socket, I can confirm that we see the same issue here using the current firmware/software. As to your comment, we have a chip vault with over 5000 different flash and other memory devices, many are supplied to us by vendors or our memory partners.
 
That's quite impressive! I work for a semiconductor company, and several of our products require an external EEPROM to hold the necessary FW (which is loaded at power on). Many of our customers have complained that they cannot find ANY 2Mb EEPROMs in sufficient quantities for production. Here are the ones that we support in our reference designs:
1657384727443.png

It's just our customers can't find them in volume, and lead times are 52 weeks and greater...

But that's a different problem! I would like to be able to recommend your FlashCatUSB Pro to all my customers as a reliable, fast, cost-effective, in-system programming solution.

Regards,
Darren
 
So initial tests appear to be device dependent. I tested this EEPROM with Classic and XPORT and it has the same issue. After the first 32 bytes are written, the device returns a ERROR code on the status register. So this issue is not related to the FCUSB Pro. So our next step is to look through the datasheet and see if this device requires something different than other devices that are similar. In other words, it might be a protocol issue that needs to have some kind of specific flag for this device.
 
Have you turning down the transmit speed for the write process? In the past I had 3 months of frustration. I had all the white papers and nothing worked but I started varying the speed of the transmit on the push and started to have some progress with my EEPROM receiving the writes. After a bit more tweaking I found the sweet spot. My ERPROM is different from this one but might be a shot to try. It’s worth 50-50 try. Good luck!
 
Issue has been discovered. It has to do with the size of the pages (256, instead of the typical 32 bytes), as well as the delay after page write. Typically, you need to wait 5ms, but this device has a 10ms max time instead. Some changes to the software and firmware are being made to address this.
 
I2C Working on XPORT. Porting code to Classic, then to Pro.

Update: Classic working now too.
 
Last edited:
All 3 platforms working. This BETA can be downloaded here.
 

Attachments

  • FCUSB_641_BETA.zip
    831.4 KB · Views: 10
Success! The new "641_BETA" software worked as expected. I was able to completely read the EEPROM, erase the contents, and program it with new firmware. The "verify" was 100%.

I did notice that the "Tools" menu is completely grayed out. I had to use the icon buttons on the "I2C EEPROM" tab to do all the actions...

Many thanks for the great support!!! I'll be recommending your products to all my customers!
 
Back
Top