Optiboot

From Steak Wiki
Revision as of 02:58, 13 July 2020 by Adminguy (talk | contribs) (Created page with "Guide for AVRDragon, atmega328p, and optiboot bootloader. ==gotchas:== * wrong atmega328 (need atmega328p-pu, not atmega328-pu) (though this can still be used) * need fuse...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Guide for AVRDragon, atmega328p, and optiboot bootloader.

gotchas:

  • wrong atmega328 (need atmega328p-pu, not atmega328-pu) (though this can still be used)
  • need fuse bits set separate from programming hex (pickit w/pics on the other hand handle this all in one)
  • need lock bits set
  • need 16MHz crystal when programming hex and lock bits (can use one from uno board)

quick guide:

set proper wiring on avr dragon (see image in pics) set fuse bits

avrdude -b 19200 -c dragon_isp -p m328p -v -e -U efuse:w:0xFD:m -U hfuse:w:0xDE:m -U lfuse:w:0xFF:m

add crystal (pins 9 and 10 on atmega328p, see datasheet) , load hex, and program lock fuse

avrdude -b 19200 -c dragon_isp -p m328p -v -e -U flash:w:hexfilename.hex -U lock:w:0x0F:m

hexfilename.hex - the optiboot loader is included in e.g.

arduino-1.8.5/hardware/arduino/avr/bootloaders/optiboot_atmega328.hex


tips/troubleshooting

  • use another Uno's crystal if you don't have one on hand. Solder wires and jump to dragon ziff socket.

References