Difference between revisions of "Optiboot"
From Steak Wiki
Jump to navigationJump to search (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...") |
|||
Line 24: | Line 24: | ||
* use another Uno's crystal if you don't have one on hand. Solder wires and jump to dragon ziff socket. | * use another Uno's crystal if you don't have one on hand. Solder wires and jump to dragon ziff socket. | ||
+ | * efuse verifies as 0xFD, though some guides write 0x05. High bits are unused, so they are set to 1. Ends up as 0xFD if written with either 0xFD or 0x05. | ||
==References== | ==References== |
Revision as of 02:59, 13 July 2020
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.
- efuse verifies as 0xFD, though some guides write 0x05. High bits are unused, so they are set to 1. Ends up as 0xFD if written with either 0xFD or 0x05.
References
- https://forum.arduino.cc/index.php?topic=125622.0 - where is optiboot hex file in arduino download folder
- https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader - fuse and lock bit information (seems to be incorrect)
- http://www.martyncurrey.com/arduino-atmega-328p-fuse-settings/ - general info on atmega328p fuse settings.