2
\$\begingroup\$

Is it possible to reprogram a device containing a microcontroller if I know the name of the microcontroller and have the necessary equipment to program a clean microcontroller of the same type?

To be more specific, I'm wondering if one could manipulate the software of a scientific calculator and what know-how you need to have for this.

\$\endgroup\$
  • \$\begingroup\$ Scientific calculator? like the TI-89? You can upload your own programs to them already. \$\endgroup\$ – Passerby Aug 3 '14 at 19:16
  • \$\begingroup\$ The answer to this depends a lot on the particular microcontroller. In the case of Texas calculators for example, I believe they use some old fart MCUs, from where you can probably read the whole binary. Somewhere around year 2000, new MCUs started to have read protection as a standard feature. \$\endgroup\$ – Lundin Aug 4 '14 at 11:19
3
\$\begingroup\$

It depends on the microcontroller of course, but in general from all commercial products you can expect that the microcontrollers are read-protected.

This means that

  • ... you cannot read the machine code (to prevent you from taking the code and changing a few bits, or using parts of the code in other products);
  • ... you cannot reprogramming the chip, unless you completely erase everything (see PIC Write-Protect Behavior).

So yes, it is theoretically possible to reprogram the chip, but you'll have to start from scratch.

And again, the answer may be different for different chips.

Also, it might be necessary to temporarily disconnect the chip from the circuit during programming as the surrounding circuitry might interfere with the programmer.

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ A lot of micro-controllers (the PICs I know) can be programmed to be read-protected, yet erase-allowed. Others add a real write/erase protect as you mention. \$\endgroup\$ – Wouter van Ooijen Aug 3 '14 at 19:41
  • \$\begingroup\$ You say 'you can expect it to be (read and) write protected', but a lot of uC's can't be write protected in the sense that you can always do a full erase and reprogram. Oh, you mention that later on, but for the first sentence says otherwise. \$\endgroup\$ – Wouter van Ooijen Aug 3 '14 at 19:46
  • \$\begingroup\$ @WoutervanOoijen ah yes, I see the mistake, thank you, I edited it out \$\endgroup\$ – user17592 Aug 3 '14 at 19:47
2
\$\begingroup\$

If it's mass market, the microcontroller may well be mask programmed to save fractions of a cent in parts cost, and a lot of money (relatively) in programming.

In which case you're out of luck unless you can replace the micro with a reprogrammable version.

It may depend on the age of the product, though they surely haven't stopped making mask programmed micros altogether, have they?

|improve this answer|||||
\$\endgroup\$
1
\$\begingroup\$

If you have the data sheet of the microcontroller, and a way to program the microcontroller (check for JTAG) you likely could. But you are also going to be constrained by the circuit that that micro is in and how much power it has available to it.

The know how? You will need to know a programming language to write your code in as well as know how all of the other devices attached to the micro are going to affect it.

If there is code in the existing micro where internal "pull-up" or "pull-down" resistors are enabled, and you do not enable them in your code, there is all types of issues you could have.

|improve this answer|||||
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.