So, I joined the camp of bitter folks who have experienced this - all out of a sudden the ATmega (mega8L, at 3.3V if that may affect anything), stopped responding. I'm not going to be sorry for too long, as cynical as it is I already bought a new one..
But I'm really curious, what could have caused this? And what kind of death is it, if it is possible to find out.
So here are some facts, superstitions first:
-- it was a generally crappy day - a day before a big fire at a transformer station took out electricity from a major part of the city, cell phone operators, internet providers, even hospitals were unoperational for a while; this happened day after that, so it could be some weirdness in the power lines. my soldering iron behaved strangely too;
-- i'm using a very simple lpt programmer, stk200-alike with avrdude. Sometimes it gives errors, but they have never been fatal before - at least it has never yet happened so that fuses got programmed instead of flash or vice versa;
-- the programmer (line transciever chip, hc245) is sharing the same power source as the atmega8;
-- I haven't been touching fuse memory at all, avrdude is explicitly set to only write to flash section of memory;
-- the programmer works fine, I checked it on another board, although that board has 5V supply;
-- regarding strageness in the soldering iron - no, I succesfully programmed the board at least once since I last touched it, no surges from the iron;
-- the oscillator is still operational;
-- I don't remember what must happen while RESET is pulled low, but I could not notice a change on any of the pins when the button is pressed;
-- pin impedances are in the range between 10-40MOhm, seem to be fine;
-- I cut all SPI wires that go to other devices, leaving only the ATmega connected;
-- the MISO line is silent when the programmer is trying to talk to the uC;
-- the code that ran in teh uC was using SPI in master mode, but it didn't seem to be a problem for a while;
-- I think that at first I only was getting subsequent programming errors, then I thought - what the hell and held the RESET button manually and ran avrdude. I'm not sure if these events are connected because it seemed to be already half-dead, but after this it became fully dead;
I'm hoping to determine the most probable cause of failure to avoid the same fate in the future. What would the more experienced freaks say about this?
Meanwhile, suggestions on how to unsolder a TQFP32 package without help of a special soldering tip are also welcome 8) So far I can only think of cutting its legs with fine-tipped cutters first (those I have).