The ATtiny85 datasheet, on page 152, seems pretty clear on this:

After this fuse has been programmed device can be programmed via high-voltage serial mode, only.

But elsewhere, on page 28, it says:

If the RSTDISBL fuse is programmed, this start-up time will be increased to 14CK + 4 ms to ensure programming mode can be entered.

Can an ATtiny be reprogrammed over ISP by entering programming mode within a short interval after powering it on? If not, why is the startup delay increased as described in the second quote?

  • \$\begingroup\$ And "programmed" means being set to 0 (bit 7)? \$\endgroup\$ – Peter Mortensen Mar 22 '16 at 1:54

I don't think there's any way to reprogram the AVR via ISP if the RSTDISBL fuse is programmed; perhaps the second sentence is itself referring to the high voltage serial mode? The only way I know of to low-voltage program the ATTiny with the reset pin used as an output is to use a bootloader - on startup the bootloader will check for a serial signal on its configured pins, and if it's there it will download the code via serial and then flash itself.

  • 1
    \$\begingroup\$ That seems plausible, though I'm a bit uncertain why high voltage programming would require that change. I think a bootloader on an ATTiny would be a bit of a stretch, unfortunately. \$\endgroup\$ – Nick Johnson Nov 24 '11 at 5:45
  • \$\begingroup\$ The chip does have self programming capability. And a tool which was less than a bootloader that only changed the fuse bit back to enable reset (when certain conditions are met) shouldn't be too complicated. \$\endgroup\$ – Chris Stratton Nov 24 '11 at 6:57
  • \$\begingroup\$ @ChrisStratton I don't think it is possible to change fuse settings using a bootloader (or any kind of firmware). The only way to disable RSTDISBL would be to use HVP. \$\endgroup\$ – ksk Nov 24 '11 at 9:10
  • 4
    \$\begingroup\$ @Nick: HVP requires additional time to detect high-voltage vs. normal voltage. I.e. voltage will look "normal" for some time as it is ramping up to the high voltage, and you don't want the device to try to run the program in that interim. \$\endgroup\$ – Mike DeSimone Nov 24 '11 at 15:15
  • \$\begingroup\$ @MikeDeSimone Ah, that makes sense - thanks! I really wish it were possible to disable the reset line in software so I could still use it for IO, but well, if wishes were horses... \$\endgroup\$ – Nick Johnson Nov 24 '11 at 21:38

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.