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\$
2
  • \$\begingroup\$ Scientific calculator? like the TI-89? You can upload your own programs to them already. \$\endgroup\$
    – Passerby
    Commented Aug 3, 2014 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
    Commented Aug 4, 2014 at 11:19

3 Answers 3

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.

\$\endgroup\$
3
  • \$\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\$ Commented Aug 3, 2014 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\$ Commented Aug 3, 2014 at 19:46
  • \$\begingroup\$ @WoutervanOoijen ah yes, I see the mistake, thank you, I edited it out \$\endgroup\$
    – user17592
    Commented Aug 3, 2014 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?

\$\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.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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