Difference between revisions of "AVR-Programmers"

From media_wiki
Jump to: navigation, search
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
  
== [[ArduinoISP (Offical Board)]] ==
 
'''RETIRED'''
 
The Arduino ISP is a tiny AVR-ISP (in-system programmer) based on David Mellis' project FabISP(http://fab.cba.mit.edu/content/projects/fabisp/).
 
 
With this programmer you can upload sketches and burn the bootloader on any AVR based boards, including Arduinos.
 
  
[[File:Arduino_ISP.jpg|280px]]
 
 
 
----
 
  
 
==[[ ArduinoISP_Home_Made]]==
 
==[[ ArduinoISP_Home_Made]]==
 
+
'''Arduino as ISP'''<br>
Home Made Arduino Uno Shield ISP Programmer
+
Home Made Arduino Uno Shield ISP Programmer<br>
 
+
The programming process uses VCC, GND and four data pins.<br>
[[File:HM_AVR_TargetBd.jpg|320px]]
+
Three pins connect MISO, MOSI and SCK between the programming micro and the target micro,<br>
 
+
the fourth pin from the programming micro goes to the reset pin of the target.<br>
 +
Must download a sketch called ArduinoISP. <br>
 +
This sketch also supports three LEDs that give you a visual feedback about the programming process.<br>
 +
Heartbeat, Error and Programming.<br>
 +
[[File:AVR_Target_Shield.PNG|420px]]
 +
<br>AVRdude names:<br>
 +
'''arduinoisp'''
 +
Refer to the 2015 AVR workshop: <br>
 +
[http://www.microrusty.com/2015_Workshops/2015_PDF/2015-Aug-WorkshopP1.pdf '''AVR Programming Part 1 Target Boards''']<br>
 +
[http://www.microrusty.com/2015_Workshops/2015_PDF/2015-Aug-WorkshopP2.pdf '''AVR Programming Part 2 Target Boards''']<br>
  
 
----
 
----
 
 
==[[AVRISP mk II]]==
 
==[[AVRISP mk II]]==
  
Line 26: Line 25:
 
This product is no longer available for sale. For a replacement, see the Atmel-ICE: ATATMEL-ICE
 
This product is no longer available for sale. For a replacement, see the Atmel-ICE: ATATMEL-ICE
  
[[File:AVRISP_mk_II.PNG| 220px]]
+
[[File:AVRISP_mkII.PNG| 220px]]
  
 +
AVRdude names: <br>
 +
'''avrisp2    avrispmkii'''<br>
 +
The AVRISP mkII does not provide power on the VCC pin, but uses this pin to sense the voltage on the
 +
target board. Your target board circuit needs to be powered by external means to operate.
 +
When the AVRISP mkII is connected to both the PC and the target board the main status LED should be
 +
green indicating that target power has been detected. AVRISP mkII is now ready to be used with AVRdude
 +
programming command line software.
 +
[http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42093-AVR-ISP-mkII_UserGuide.pdf AVRISP mkII UserGuide]
 +
 +
Test the connection to programmer: '''avrdude -p m328p -c avrisp2 -v'''  or use this:  '''avrdude -p m328p -c avrispmkii -v'''<br>
 +
The status light changes from Green to Red in AVRdude Terminal mode<br>
 +
Test Terminal Mode: '''avrdude -p m328p -c avrispmkii -t'''<br>
 +
'''dump flash 0 1024'''  <br>
 +
'''dump eeprom 0 1024''' <br>
 +
'''q''' to exit terminal mode
  
 
----
 
----
 
 
== USBasp ==
 
== USBasp ==
  
Line 36: Line 49:
 
USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega88 or an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.<br>
 
USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega88 or an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.<br>
 
https://www.fischl.de/usbasp/<br>
 
https://www.fischl.de/usbasp/<br>
[[File:USBaspBd.PNG| 220px]]
+
[[File:USBasp.PNG| 220px]]
  
 +
AVRdude names: <br>
 +
'''usbasp  usbasp-clone '''<br>
 +
Test the connection to programmer: '''avrdude -p m328p -c usbasp -v''' or '''avrdude -p m328p -c usbasp-clone -v''' <br>
 +
The status light changes from Green to Red in AVRdude Terminal mode<br>
 +
Test Terminal Mode: '''avrdude -p m328p -c usbasp -t'''<br>
 +
'''dump flash 0 1024'''<br>
 +
'''dump eeprom 0 1024'''<br>
 +
'''q''' to exit terminal mode<br>
  
 
----
 
----
 +
==USBtiny (Adafruit)==
 +
  
==USBtiny (Adafruit)==
 
 
USBtiny is a software implementation of the USB low-speed protocol for the Atmel ATtiny microcontrollers. Of course, it will also work on the ATmega series. The software is written for an AVR clocked at 12 MHz. At this frequency, each bit on the USB bus takes 8 clock cycles, and with a lot of trickery, it is possible to decode and encode the USB waveforms by software. The USB driver needs approximately 1250 to 1350 bytes of flash space (excluding the optional identification strings), depending on the configuration and compiler version, and 46 bytes RAM (excluding stack space). The C interface consists of 3 to 5 functions, depending on the configuration.
 
USBtiny is a software implementation of the USB low-speed protocol for the Atmel ATtiny microcontrollers. Of course, it will also work on the ATmega series. The software is written for an AVR clocked at 12 MHz. At this frequency, each bit on the USB bus takes 8 clock cycles, and with a lot of trickery, it is possible to decode and encode the USB waveforms by software. The USB driver needs approximately 1250 to 1350 bytes of flash space (excluding the optional identification strings), depending on the configuration and compiler version, and 46 bytes RAM (excluding stack space). The C interface consists of 3 to 5 functions, depending on the configuration.
  
[[File:USBtiny-BD.PNG| 320px]]
+
[[File:Adafruit_USBtiny.PNG| 320px]]
 +
 
 +
AVRdude name: <br>
 +
'''usbtiny '''<br>
 +
 
 +
Test the connection to programmer: '''avrdude -p m328p -c usbtiny -v'''<br>
 +
The status light changes from Green to Red in AVRdude Terminal mode<br>
 +
Test Terminal Mode: '''avrdude -p m328p -c usbtiny -t'''<br>
 +
''' dump flash 0 1024''' <br>
 +
''' dump eeprom 0 1024'''<br>
 +
'''q''' to exit terminal mode<br>
 +
 
 +
----
 +
== [[ArduinoISP (Offical Board)]] ==
 +
'''RETIRED? '''
 +
The Arduino ISP is a tiny AVR-ISP (in-system programmer) based on David Mellis' project FabISP.
 +
With this programmer you can upload sketches and burn the bootloader on any AVR based boards, including Arduinos.
 +
 
 +
[[File:Arduino_ISP.jpg|280px]]
 +
 
 +
The Arduino ISP is able to provide the 5V power supply voltage to the board being programmed.<br>
 +
If you want to power the board through the ISP you have to close the SJVCC jumper on the board.
 +
 
 +
----
 +
'''Other Programmers:'''<br>
 +
atmelice    = ICE (ARM/AVR) in ISP mode
 +
buspirate    = The Bus Pirate
 +
pickit2      = PICkit2 Programmer
 +
stk500      = STK500
 +
xplainedmini = AVR XplainedMini in ISP mode<br>
 +
 
 +
'''Link for all supported AVRdude Programming devices:'''
 +
[http://microrusty.com/Documents/programmer_list.txt AVRdude Programmer Lists]
  
A couple different flavors for "Parts List":<br>
 
[[Parts List]]
 
  
[http://the-cains-group.net/2016_Workshops/Parts_Lists.txt Parts_Lists]
 
  
 
----
 
----
 
==[[ AVRDUDE Class]]==
 
==[[ AVRDUDE Class]]==

Latest revision as of 02:54, 9 April 2020


ArduinoISP_Home_Made

Arduino as ISP
Home Made Arduino Uno Shield ISP Programmer
The programming process uses VCC, GND and four data pins.
Three pins connect MISO, MOSI and SCK between the programming micro and the target micro,
the fourth pin from the programming micro goes to the reset pin of the target.
Must download a sketch called ArduinoISP.
This sketch also supports three LEDs that give you a visual feedback about the programming process.
Heartbeat, Error and Programming.
AVR Target Shield.PNG
AVRdude names:

arduinoisp

Refer to the 2015 AVR workshop:
AVR Programming Part 1 Target Boards
AVR Programming Part 2 Target Boards


AVRISP mk II

The AVRISP mk.II is Atmel's official programmer for the AVR line of chips.

This product is no longer available for sale. For a replacement, see the Atmel-ICE: ATATMEL-ICE

AVRISP mkII.PNG

AVRdude names:

avrisp2    avrispmkii
The AVRISP mkII does not provide power on the VCC pin, but uses this pin to sense the voltage on the target board. Your target board circuit needs to be powered by external means to operate. When the AVRISP mkII is connected to both the PC and the target board the main status LED should be green indicating that target power has been detected. AVRISP mkII is now ready to be used with AVRdude programming command line software.

AVRISP mkII UserGuide

Test the connection to programmer: avrdude -p m328p -c avrisp2 -v or use this: avrdude -p m328p -c avrispmkii -v
The status light changes from Green to Red in AVRdude Terminal mode
Test Terminal Mode: avrdude -p m328p -c avrispmkii -t
dump flash 0 1024
dump eeprom 0 1024
q to exit terminal mode


USBasp

USBasp - USB programmer for Atmel AVR controllers USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega88 or an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.
https://www.fischl.de/usbasp/
USBasp.PNG

AVRdude names:

usbasp   usbasp-clone 

Test the connection to programmer: avrdude -p m328p -c usbasp -v or avrdude -p m328p -c usbasp-clone -v
The status light changes from Green to Red in AVRdude Terminal mode
Test Terminal Mode: avrdude -p m328p -c usbasp -t
dump flash 0 1024
dump eeprom 0 1024
q to exit terminal mode


USBtiny (Adafruit)

USBtiny is a software implementation of the USB low-speed protocol for the Atmel ATtiny microcontrollers. Of course, it will also work on the ATmega series. The software is written for an AVR clocked at 12 MHz. At this frequency, each bit on the USB bus takes 8 clock cycles, and with a lot of trickery, it is possible to decode and encode the USB waveforms by software. The USB driver needs approximately 1250 to 1350 bytes of flash space (excluding the optional identification strings), depending on the configuration and compiler version, and 46 bytes RAM (excluding stack space). The C interface consists of 3 to 5 functions, depending on the configuration.

Adafruit USBtiny.PNG

AVRdude name:

usbtiny 

Test the connection to programmer: avrdude -p m328p -c usbtiny -v
The status light changes from Green to Red in AVRdude Terminal mode
Test Terminal Mode: avrdude -p m328p -c usbtiny -t
dump flash 0 1024
dump eeprom 0 1024
q to exit terminal mode


ArduinoISP (Offical Board)

RETIRED? The Arduino ISP is a tiny AVR-ISP (in-system programmer) based on David Mellis' project FabISP. With this programmer you can upload sketches and burn the bootloader on any AVR based boards, including Arduinos.

Arduino ISP.jpg

The Arduino ISP is able to provide the 5V power supply voltage to the board being programmed.
If you want to power the board through the ISP you have to close the SJVCC jumper on the board.


Other Programmers:

atmelice     = ICE (ARM/AVR) in ISP mode 
buspirate    = The Bus Pirate
pickit2      = PICkit2 Programmer
stk500       = STK500
xplainedmini = AVR XplainedMini in ISP mode
Link for all supported AVRdude Programming devices:
AVRdude Programmer Lists



AVRDUDE Class