I want to control a bare dot matrix display with an ATMega328p but I have no experience on doing this, what code do I need to create a “wiggle” AC signal to drive that LCD? Or do I have a driver IC between the ATMega and the LCD?
Were the very old AVR's actually FLASH anyway?, they were (as far as I know) the first to label them as 'FLASH', but it was always suggested that they were still EEPROM like everyone else, who then followed suit and relabelled their EEPROM devices as FLASH (as it was the new 'buzz word' of the time).Its not R/W cycles. The chips had a few cycles during initial development then after everything was working the circuit was put away. Bringing them out years later show several not working and needing reprogramming. Part of it might be that I live in the tropics and that room is not air conditioned every day.
One trick that I did not consider until now is over-programming the flash, something I used to do with EPROMs -program them more than once with the same code and no erasures in-between to make sure the floating gates were fully charged or not. However waiting several years between tests makes for a very long test. Don't know how many years I have left ;-)
It might be that the early AVR chips were not as robust as the current chips. I think that flash memory in general improved a lot in the first decade of this century as have the processes.
When I see that 20 year spec. in datasheets, I can only imagine that they verified it by accelerated aging or some other kind of simulation because it is still too early to have completed real-time life tests
The earliest AVR that I can remember was the AT90S1200 in which the Flash and EEPROM had very different endurance claims.
Thats what I saw in Freescale, Cypress, etcc. EEPROM ~ 10 x FLASH limits in R/W cycles.According to the AT90S1200 datasheet there program is stored in flash and the EEPROM is accessible for data storage. Whether the "Flash" program memory was really Flash or EEPROM may be indicated by the endurance figures, which are very different (100:1 in favor of EEPROM).