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/09/12 05:20]
darron [Build]
tools:optiboot [2021/09/19 18:11]
darron [Install]
Line 5: Line 5:
 === Build === === Build ===
  
-Compile default firmware+==Compile all firmware==
  
 <code> <code>
Line 13: Line 13:
 </code> </code>
  
-List firmware+==Get firmware version== 
 + 
 +<code> 
 +git log -n 1 --pretty=format:%H%n 
 +0dd4cedfbd6669d47752707486d3625a911bdb12 
 +</code> 
 + 
 + 
 +==List all firmware==
  
 <code> <code>
Line 41: Line 49:
 </code> </code>
  
-Compile specific firmware+==Compile specific firmware== 
 + 
 +This firmware is for a Pro Mini with an 8 MHz XTAL 
 +and a generic UNO clone at 16 MHz. 
 <code> <code>
 make clean make clean
 +make atmega328 BAUD_RATE=115200
 make atmega328_pro8 BAUD_RATE=57600 make atmega328_pro8 BAUD_RATE=57600
 </code> </code>
  
-List firmware+==List firmware== 
 <code> <code>
 +2bb2b975f97f383909249e7157a7acb3  optiboot_atmega328.hex
 9d1fc10caca488882432a01f5c96e797  optiboot_atmega328_pro_8MHz.hex 9d1fc10caca488882432a01f5c96e797  optiboot_atmega328_pro_8MHz.hex
 </code> </code>
Line 54: Line 69:
  
 [[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/