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:08]
darron [Build]
tools:optiboot [2021/09/19 18:11]
darron [Install]
Line 5: Line 5:
 === Build === === Build ===
  
-Compile 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==
  
 +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/