Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tools:optiboot [2021/09/12 05:00]
darron [Build]
tools:optiboot [2021/09/19 18:11] (current)
darron [Install]
Line 5: Line 5:
 === Build === === Build ===
  
-Compile all firmware+==Compile all firmware==
  
 <code> <code>
Line 13: Line 13:
 </code> </code>
  
-List firmware+==Get firmware version==
  
 <code> <code>
-ls *.hex +git log -n 1 --pretty=format:%H%n 
-optiboot_atmega1280.hex          optiboot_diecimila.hex +0dd4cedfbd6669d47752707486d3625a911bdb12
-optiboot_atmega1284p.hex         optiboot_lilypad.hex +
-optiboot_atmega168.hex           optiboot_luminet.hex +
-optiboot_atmega168p_16MHz.hex    optiboot_pro_16MHz.hex +
-optiboot_atmega168p_UART__.hex   optiboot_pro_20mhz.hex +
-optiboot_atmega328.hex           optiboot_pro_8MHz.hex +
-optiboot_atmega328_pro_8MHz.hex  optiboot_sanguino.hex +
-optiboot_atmega32.hex            optiboot_wildfirev2.hex +
-optiboot_atmega88.hex            optiboot_xplained168pb.hex +
-optiboot_atmega8.hex             optiboot_xplained328pb.hex +
-optiboot_bobuino.hex             optiboot_xplained328p.hex+
 </code> </code>
  
  
 +==List all firmware==
 +
 +<code>
 +md5sum *.hex
 +ee4b2f496e0333f95f45bb7078601d29  optiboot_atmega1280.hex
 +57b44fc69816e6fdbf73732b5caa12f2  optiboot_atmega1284p.hex
 +62bc6f118b7e0720f229c4bdde634b0c  optiboot_atmega168.hex
 +6a7fbf0503d47ed5db9d5d2baff317e5  optiboot_atmega168p_16MHz.hex
 +6a7fbf0503d47ed5db9d5d2baff317e5  optiboot_atmega168p_UART__.hex
 +2bb2b975f97f383909249e7157a7acb3  optiboot_atmega328.hex
 +3278fecadddec6c2fa11f5050b031dbb  optiboot_atmega328_pro_8MHz.hex
 +ec29c6363477553e94cb8d3c95987d33  optiboot_atmega32.hex
 +916b4c7cda8374cfc9ea61c0e370a237  optiboot_atmega88.hex
 +d53d8ce273525c3af14305c67df624cf  optiboot_atmega8.hex
 +e7c69c45143d7b31f1e4d3cef761dc7e  optiboot_bobuino.hex
 +62bc6f118b7e0720f229c4bdde634b0c  optiboot_diecimila.hex
 +0695b84ddb0017e61c327e6c2fc35a7b  optiboot_lilypad.hex
 +e15b4d5149f94ba277969114984b2cf9  optiboot_luminet.hex
 +62bc6f118b7e0720f229c4bdde634b0c  optiboot_pro_16MHz.hex
 +1d520857938ce8ae40eaf2b1e6eda6be  optiboot_pro_20mhz.hex
 +0695b84ddb0017e61c327e6c2fc35a7b  optiboot_pro_8MHz.hex
 +0ffe624b21c48a839a256baa4fa8a93f  optiboot_sanguino.hex
 +cb6b8ac98dd6d55f3a453e87722257b6  optiboot_wildfirev2.hex
 +2183c788feec1b79ae41cbdbd3912799  optiboot_xplained168pb.hex
 +68c384e8def907edca0033d6670588e0  optiboot_xplained328pb.hex
 +68c384e8def907edca0033d6670588e0  optiboot_xplained328p.hex
 +</code>
 +
 +==Compile specific firmware==
 +
 +This firmware is for a Pro Mini with an 8 MHz XTAL
 +and a generic UNO clone at 16 MHz.
 +
 +<code>
 +make clean
 +make atmega328 BAUD_RATE=115200
 +make atmega328_pro8 BAUD_RATE=57600
 +</code>
 +
 +==List firmware==
 +
 +<code>
 +2bb2b975f97f383909249e7157a7acb3  optiboot_atmega328.hex
 +9d1fc10caca488882432a01f5c96e797  optiboot_atmega328_pro_8MHz.hex
 +</code>
 ===Download=== ===Download===
  
 [[https://wiki.kewl.org/downloads/BL/optiboot_atmega328.hex|optiboot_atmega328.hex]] [[https://wiki.kewl.org/downloads/BL/optiboot_atmega328.hex|optiboot_atmega328.hex]]
 +
 +[[https://wiki.kewl.org/downloads/BL/optiboot_atmega328_pro_8MHz.hex|optiboot_atmega328_pro_8MHz.hex]]
  
 === Install === === Install ===
  
-[[:interfaces:usbasp|USBasp]]+==Arduino Pro Mini with 8 MHz XTAL== 
 + 
 +__[[:interfaces:usbasp|USBasp]]__ 
  
 <code> <code>
-avrdude -c usbasp -p ATMEGA328P -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xDE:m -U lfuse:w:0xFF:+avrdude -V -B 5 -c usbasp -p ATMEGA328P -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xDE:m -U lfuse:w:0xFF:
-avrdude -c usbasp -p ATMEGA328P -D -u -U flash:w:optiboot_atmega328.hex +avrdude    -B 5 -c usbasp -p ATMEGA328P -D -u -U flash:w:optiboot_atmega328_pro_8MHz.hex:i 
-avrdude -c usbasp -p ATMEGA328P -u -U lock:w:0x0F:m+avrdude    -B 5 -c usbasp -p ATMEGA328P -D -u -U lock:w:0x2F:m
 </code> </code>
  
-Pololu USB AVR Programmer v2.1+==Arduino UNO== 
 + 
 +__[[:interfaces:pololu|Pololu USB AVR Programmer v2.1]]__ 
  
 <code> <code>
 avrdude -V -B 5 -P `pavr2cmd --prog-port` -c avrisp2 -p ATMEGA328P -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xDE:m -U lfuse:w:0xFF:m avrdude -V -B 5 -P `pavr2cmd --prog-port` -c avrisp2 -p ATMEGA328P -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xDE:m -U lfuse:w:0xFF:m
-avrdude    -B 5 -P `pavr2cmd --prog-port` -c avrisp2 -p ATMEGA328P -D -u -U flash:w:optiboot_atmega328.hex +avrdude    -B 5 -P `pavr2cmd --prog-port` -c avrisp2 -p ATMEGA328P -D -u -U flash:w:optiboot_atmega328.hex:i 
-avrdude -V -B 5 -P `pavr2cmd --prog-port` -c avrisp2 -p ATMEGA328P -u -U lock:w:0x0F:m+avrdude    -B 5 -P `pavr2cmd --prog-port` -c avrisp2 -p ATMEGA328P -D -u -U lock:w:0x2F:m
 </code> </code>
  
 +=== Test ===
 +
 +==Arduino Pro Mini with 8 MHz XTAL==
 +
 +<code>
 +$ avrdude -c arduino -b 57600 -D -p m328p -P /dev/ttyUSB0 
 +
 +avrdude: AVR device initialized and ready to accept instructions
 +
 +Reading | ################################################## | 100% 0.00s
 +
 +avrdude: Device signature = 0x1e950f (probably m328p)
 +
 +avrdude: safemode: Fuses OK (E:00, H:00, L:00)
 +
 +avrdude done.  Thank you.
 +</code>
 +
 +===Resources===
 +
 +https://www.engbedded.com/fusecalc/
 +
 +https://www.engbedded.com/conffuse/