I'm just starting to get into electronics as a hobby and I was wondering if someone here could help me understand the process of replacing damaged microcontrollers. With the right tools and practice, I could probably replace most components, even SMDs. However, from what I understand, I cannot simply replace a faulty microcontroller with a new microcontroller.
If my understanding is correct, microcontrollers need to be programmed for the device to work correctly. Specifically, code needs to be written to the device's memory (NOR Flash?). In order to do that not only do I somehow need to obtain the code/programme to write onto the new microcontroller, but it seems that different microcontrollers require different programming equipment and/or procedures. All this would pretty much make fixing devices with dead microcontrollers near impossible for a hobbyist. It seems to me that just about the only way to do this would be to find/buy a donor device with a working microcontroller, which is likely to be expensive.
I can only guess that most professional workshops specialise in fixing only specific devices. They either (1) have access to new microcontrollers and to dedicated programmers, which are necessary to dump the code from working microcontrollers and to write it onto new microcontrollers; or (2) have a stock of donor microcontrollers. I doubt that anyone other than the manufacturer and authorised repair centres have access to the source code for the microcontroller and, possibly, also to pre-programmed microcontrollers.
Q1. Is the above correct?
Q2. What other components may require programming and cannot be replaced by a generic component when fixing consumer electronics? From what I understand microprocessors do not need to be programmed after/before replacement, even though they use microcode. Perhaps NAND Flash?
I would appreciate as much detail as possible. Thanks very much for your time and help.