4
\$\begingroup\$

I want to build some simple application using ATmega32u2, and have it programmed strictly only via USB, by using the factory-builtin USB bootloader on µC, together with the "FLIP" program running on Windows computer.

I've read, that in ATmega32u2 there are so-called "fuse bits", which control some internal configuration. Also, on many forums I've seen calls for help from people who have accidentally reset/changed those bits (in various AVR chips), and now have problems programming their microcontroller.

Thus my question is: can fuse bits be set/destroyed via the FLIP program, over USB? If yes, then what should I "not touch", or what I must verify is set properly (and to what exact value?), to be safe against such problems?

Thanks.

\$\endgroup\$
2
\$\begingroup\$

Fuse bits can only be modified during conventional programming using a device like a Dragon, so you are quite safe. See Section 25 of the data sheet.

\$\endgroup\$
2
\$\begingroup\$

Method, when you programing your microcontroller via USB is called DFU — Device Firmware Upgrade. In this DFU mode you can modify only program memory, fuse bits and bootloader section is protected in this mode and thus cannot be rewritten.

Fuse bits are special bits, which controls very low-level behavior of microcontroller. For example frequency of internal oscilator, watchdog settings, protection of bootloader memory and so on.

To change this bits (and bootloader), you need serial programmer.

\$\endgroup\$
  • \$\begingroup\$ "To change this bits (and bootloader), you need serial programmer." Just a Programmer - can be serial (accessed via SPI pins, which is the most common method) or parallel, which uses other pins and is rare. \$\endgroup\$ – CrossRoads Aug 28 '18 at 18:12

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.