Difference between revisions of "AVR-Programmers"
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==[[ 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> | |
+ | 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]] | [[File:AVR_Target_Shield.PNG|420px]] | ||
<br>AVRdude names:<br> | <br>AVRdude names:<br> | ||
'''arduinoisp''' | '''arduinoisp''' | ||
Refer to the 2015 AVR workshop: <br> | Refer to the 2015 AVR workshop: <br> | ||
− | [http://www.microrusty.com/2015_Workshops/2015_PDF/2015-Aug-WorkshopP2.pdf '''AVR Programming Part 2 Target Boards'''] | + | [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 43: | Line 39: | ||
The status light changes from Green to Red in AVRdude Terminal mode<br> | The status light changes from Green to Red in AVRdude Terminal mode<br> | ||
Test Terminal Mode: '''avrdude -p m328p -c avrispmkii -t'''<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 - USB programmer for Atmel AVR controllers | 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.<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> | ||
Line 57: | Line 51: | ||
[[File:USBasp.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 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:Adafruit_USBtiny.PNG| 320px]] | ||
− | |||
AVRdude name: <br> | AVRdude name: <br> | ||
'''usbtiny '''<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] | ||
− | |||
− | |||
− | |||
---- | ---- | ||
==[[ AVRDUDE Class]]== | ==[[ AVRDUDE Class]]== |
Latest revision as of 02:54, 9 April 2020
Contents
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.
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
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.
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/
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.
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.
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