Created Fri, 25 Sep 2015 17:27:30 +0000 by george4657
Fri, 25 Sep 2015 17:27:30 +0000
I have been working on a project for the past couple of months converting an AVR program to Pic32mx. Since this is a learning experience for both avr and pic I do several uploads a day to test changes. I am afraid I am getting near the limit for writing to chip. Datasheet shows minimum of 1000 but gives no typical value. Has anybody had experience with write failures and know when I may expect failure. I assume The upload program will show me when an error occurs. Does it show where in memory the error is so I can work around it or is the chip bricked.
All uploads have been done through usb on a chipkit max32 Thanks George
Fri, 25 Sep 2015 19:21:22 +0000
I have no idea what a typical number of writes would be. I have an Uno32 that I bought years ago (my first ever chipKIT board) and it's as healthy now as it was back then, and I have used it extensively.
I have never come across any upload failures due to exhausted flash cells. I think you would really have to go crazy to see it happen.
You're more likely to kill things by causing short circuits by having junk all over your desk ;)
It's probably impossible to "work around" bad flash cells, since you really don't have that much control over where things are placed in memory, and there's certain areas of memory that some things have to be in for the system to function. If it should ever happen and you don't want to invest in a new Max32 then you could always change the chip on the board. With a semi-decent reflow station (I use an Atten 858D+ from eBay) it's quite straight forward to take the old one off, and resoldering a new one in its place is simple enough with an ordinary soldering iron and plenty of flux.
Sat, 26 Sep 2015 02:16:33 +0000
The minimum as stated in the datasheet is ridiculously conservative. Several years ago, I took a factory tour at Microchip of their fab, and asked about that flash endurance parameter. They said that they test a huge number of chips off the line, at worse than worst case parameters (I think it's maximum voltage and maximum temperature, but they go above and beyond what the part is rated for), and out of all of those, find the one part that fails first, and then divide that number by like 100 or something to put in the datasheet. In real life (normal voltage, normal room temp) you can expect to get 1000x more erase cycles than listed in the datasheet. So I wouldn't worry at all about it. Also, you'll know if one bit goes bad because the verify after program will fail, so it's not like it will go 'unnoticed'.