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
Last revision Both sides next revision
tools:optiboot [2021/06/25 01:10]
127.0.0.1 external edit
tools:optiboot [2021/09/19 18:11]
darron [Install]
Line 4: Line 4:
  
 === Build === === Build ===
 +
 +==Compile all firmware==
  
 <code> <code>
-https://github.com/Optiboot/optiboot+git clone https://github.com/Optiboot/optiboot
 cd optiboot/optiboot/bootloaders/optiboot/ cd optiboot/optiboot/bootloaders/optiboot/
 ./makeall.arduino.sh ./makeall.arduino.sh
 </code> </code>
  
 +==Get firmware version==
 +
 +<code>
 +git log -n 1 --pretty=format:%H%n
 +0dd4cedfbd6669d47752707486d3625a911bdb12
 +</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 -U lock:w:0x2F:m
-avrdude -V -B 5 -P `pavr2cmd --prog-port` -c avrisp2 -p ATMEGA328P -u -U lock:w:0x0F: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/