

- Features¶
- Application Ideas¶
- Supported Devices¶
- Hardware Connection¶
- Example: Burn Bootloader to Arduino UNO¶
- Features¶
- Application Ideas¶
- Supported Devices¶
- Hardware Connection¶
- Example: Burn Bootloader to Arduino UNO¶
- Что касается FUSE битов и других контроллеров ATMEL
- Этот же программатор можно переделать в нормальный USB ASP
Features¶
- It can supports a wide range of ATMEL AVR microcontrollor.
- It can works with AVR Studio or WINAVR (GCC)
- It works with ATMEL AVR Studio 4.13, you can upgraded it’s firmware,in upgrade firmware Completed,it can work at a higher version of the AVR Studio and to be able to support more device,
- Completed,it can work at a higher version of the AVR Studio and to be able to support more device,Compact Size — 75mm x 57mm x 27mm
Application Ideas¶
- AVR programming
- AVR Burn Bootloader
Supported Devices¶
| AT90S1200 | AT90S2313 | AT90S2323 | AT90S2343 |
| AT90S4433 | AT90S8515 | AT90S8535 | ATmega128 |
| ATmega1280 | ATmega1281 | ATmega128RZAV | ATmega128RZBV |
| ATmega16 | ATmega161 | ATmega162 | ATmega163 |
| ATmega164P | ATmega164P Automotive | ATmega165 | ATmega168 |
| ATmega168 Automotive | ATmega168P | ATmega169 | ATmega16A |
| ATmega16U4 | ATmega2560 | ATmega2561 | ATmega256RZAV |
| ATmega256RZBV | ATmega32 | ATmega323 | ATmega324P |
| ATmega324P automotive | ATmega325 | ATmega3250 | ATmega3250P |
| ATmega325P | ATmega328P | ATmega329 | ATmega3290 |
| ATmega3290P | ATmega329P | ATmega32A | ATmega32U4 |
| ATmega48 | ATmega48 Automotive | ATmega48P | ATmega64 |
| ATmega640 | ATmega644 | ATmega644P | ATmega644P Automotive |
| ATmega645 | ATmega6450 | ATmega649 | ATmega6490 |
| ATmega8535 | ATmega88 | ATmega88 Automotive | ATmega88P |
| ATtiny12 | ATtiny13 | ATtiny13A | ATtiny15L |
| ATtiny2313 | ATtiny26 | ATtiny88 |
Hardware Connection¶

Example: Burn Bootloader to Arduino UNO¶
- 1.How to connect : See the picture above
- 2.Install AVRISP driver in the CD .
- 3.Download AVR STUDIO4.19 and install it.
The AVR STUDIO4.13 software in the CD.
4.Burn Bootloader to Arduino UNO
-
Step 1. Open AVR STUDIO4.19
Step 2. Connect to STK500
Step 3. Select Platform

Step 4. Select Device «ATmega328P» 
Step 5. Select Bootloader > Path:arduino-1.0hardwarearduinoootloadersoptibootoptiboot_atmega328.hex 


Features¶
- It can supports a wide range of ATMEL AVR microcontrollor.
- It can works with AVR Studio or WINAVR (GCC)
- It works with ATMEL AVR Studio 4.13, you can upgraded it’s firmware,in upgrade firmware Completed,it can work at a higher version of the AVR Studio and to be able to support more device,
- Completed,it can work at a higher version of the AVR Studio and to be able to support more device,Compact Size — 75mm x 57mm x 27mm
Application Ideas¶
- AVR programming
- AVR Burn Bootloader
Supported Devices¶
| AT90S1200 | AT90S2313 | AT90S2323 | AT90S2343 |
| AT90S4433 | AT90S8515 | AT90S8535 | ATmega128 |
| ATmega1280 | ATmega1281 | ATmega128RZAV | ATmega128RZBV |
| ATmega16 | ATmega161 | ATmega162 | ATmega163 |
| ATmega164P | ATmega164P Automotive | ATmega165 | ATmega168 |
| ATmega168 Automotive | ATmega168P | ATmega169 | ATmega16A |
| ATmega16U4 | ATmega2560 | ATmega2561 | ATmega256RZAV |
| ATmega256RZBV | ATmega32 | ATmega323 | ATmega324P |
| ATmega324P automotive | ATmega325 | ATmega3250 | ATmega3250P |
| ATmega325P | ATmega328P | ATmega329 | ATmega3290 |
| ATmega3290P | ATmega329P | ATmega32A | ATmega32U4 |
| ATmega48 | ATmega48 Automotive | ATmega48P | ATmega64 |
| ATmega640 | ATmega644 | ATmega644P | ATmega644P Automotive |
| ATmega645 | ATmega6450 | ATmega649 | ATmega6490 |
| ATmega8535 | ATmega88 | ATmega88 Automotive | ATmega88P |
| ATtiny12 | ATtiny13 | ATtiny13A | ATtiny15L |
| ATtiny2313 | ATtiny26 | ATtiny88 |
Hardware Connection¶

Example: Burn Bootloader to Arduino UNO¶
- 1.How to connect : See the picture above
- 2.Install AVRISP driver in the CD .
- 3.Download AVR STUDIO4.19 and install it.
The AVR STUDIO4.13 software in the CD.
4.Burn Bootloader to Arduino UNO
-
Step 1. Open AVR STUDIO4.19
Step 2. Connect to STK500
Step 3. Select Platform

Step 4. Select Device «ATmega328P» 
Step 5. Select Bootloader > Path:arduino-1.0hardwarearduinoootloadersoptibootoptiboot_atmega328.hex 
На aliexpress был куплен USB ISP программатор коих там — пруд-пруди.
Будем переделывать его в аналог атмеловского STK500, известный как AVRDOPER.

Стоит он в где-то 3-4$ (около 200 рублей на момент покупки), ищется на aliexpress / ebay по фразе USB ISP programmer . Если в хозяйстве нет программаторов для ATMEL — рекомендую брать там же USBASP программатор (только платка) по цене 2-3$ — она позволит не только программировать микропроцессоры ATMEGA, но и вот такие программаторы. Правда не из среды разработки, а только из AVRDUDE и подобных спец. программ.
Открываете у программатора колпачок, затем стягиваете алюминиевый корпус в сторону USB-разъема и все — получаете плату программатора. Смотрите внимательно — нам нужно, чтобы программатор был собран на ATMEGA88 (предположительно, версия платы > 3.0).
Если Вы там увидели простую ATMEGA8 — не страшно, люди ставили AVRDOPER и туда:
здесь, здесь и здесь. Ну либо сделать аналогично тому, что написано ниже, только для ATMEGA8.
Ну а если у Вас там — ATMEGA88 — продолжаем — переворачиваем плату, видим там два контакта для перемычки (с надписью UP). Закорачиваем их проводком:

После этого программатор перейдет в режим самопрограммирования. Программировать его можно любым другим программатором с аналогичным разъемом — например USBASP-ом.
Т.е. берем второй программатор, его втыкаем в компьютер, а хвостик с разъемом — в нашего подопытного.
Я программировал с помощью AVRDUDE + AVRDUDEPROG и китайского USBASP программатора. Выбираем в AVRDUDE USBASP и ATMEGA88. Считываем сигнатуру — если считалась — значит все сделали правильно и можно шить.
Если хотите сохранить текущую прошивку программатора, что я рекомендую (чтобы была возможность откатиться), то:
- считать текущие FUSE — биты и записать их значение
- считать прошивку в отдельный файл
- считать EEPROM в отдельный файл
Далее:
- полностью стереть микроконтроллер
- записать новые FUSE биты
для ATMEGA88 FUSE LOW BYTE = 0xDF и FUSE HIGH BYTE = 0xDD, если FUSE не инвертированные — это означает включеные SUT1, SPIEN и BODLEVEL1 - скачать и прошить прошивку AVRDOPER
- EEPROM не трогать
Ну вот и все, теперь надо отпаять нашу перемычку, чтобы программатор вошел в штатный режим работы и установить драйверы AVRDOPER.
Теперь, когда Вы подключите новый программатор в USB, он найдет два устройства. Одно из которых будет виртуальный COM-порт. Находите его в диспетчере устройств, смотрите какой у него номер. Если номер > 4, то советую принудительно переопределить там же на какой-либо от 1 до 4 (т.к. в средах разработки COM-порты с бОльшими номерами не показываются).
Все — теперь что из CodeVision , что из AtmelStudio можно настроить, что программатор у Вас — STK500 на соответствующем COM-порту — и все — можно шить прямо из среды разработки.
По скорости мне показалось, что AVRDOPER медленнее прямого USBASP, зато удобней из-за работы непосредственно из среды, где код пишешь.
Что касается FUSE битов и других контроллеров ATMEL
В принципе, FUSE биты можно посмотреть в makefile от AVRDOPER (в том числе и для ATMEGA8). По-умолчанию AVRDOPER собран для ATMEGA8 и кварцев от 12 MHz с соотвествующим makefile-ом, однако в моем архиве он изменен под ATMEGA88 (однако hex для ATMEGA8 там присутствует, да и makefile можно всегда исправить).
Для нашего случая я перекомпилил AVRDOPER для ATMEGA88.
Перекомпилить просто в любом линуксе (я использовал Ubuntu server):
- ставим компиллер GCC с поддержкой ATMEL
sudo apt-get install gcc-avr binutils-avr avr-libc - ставим утилиту make sudo apt-get install make
- копируем в некую директорию разархивированный AVRDOPER
- изменяем там makefile, выставляя там DEVICE, F_CPU и FUSE_L и FUSE_H
- make usbasp
- получаем в той же директории нужный нам hex-файл прошивки
Этот же программатор можно переделать в нормальный USB ASP
Вот переделанные исходники, их можно скомпилить хоть под ATMEGA8 хоть под ATMEGA88 и авторская статья.
Для ATMEGA88 FUSE LOW BYTE = 0xFF и FUSE HIGH BYTE = 0xDF и прошивка.