atmel avrisp stk500 usb isp programmer

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. Считываем сигнатуру — если считалась — значит все сделали правильно и можно шить.

Если хотите сохранить текущую прошивку программатора, что я рекомендую (чтобы была возможность откатиться), то:

  1. считать текущие FUSE — биты и записать их значение
  2. считать прошивку в отдельный файл
  3. считать EEPROM в отдельный файл

Далее:

  1. полностью стереть микроконтроллер
  2. записать новые FUSE биты
    для ATMEGA88 FUSE LOW BYTE = 0xDF и FUSE HIGH BYTE = 0xDD, если FUSE не инвертированные — это означает включеные SUT1, SPIEN и BODLEVEL1
  3. скачать и прошить прошивку AVRDOPER
  4. 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):

  1. ставим компиллер GCC с поддержкой ATMEL
    sudo apt-get install gcc-avr binutils-avr avr-libc
  2. ставим утилиту make sudo apt-get install make
  3. копируем в некую директорию разархивированный AVRDOPER
  4. изменяем там makefile, выставляя там DEVICE, F_CPU и FUSE_L и FUSE_H
  5. make usbasp
  6. получаем в той же директории нужный нам hex-файл прошивки

Этот же программатор можно переделать в нормальный USB ASP

Вот переделанные исходники, их можно скомпилить хоть под ATMEGA8 хоть под ATMEGA88 и авторская статья.

Для ATMEGA88 FUSE LOW BYTE = 0xFF и FUSE HIGH BYTE = 0xDF и прошивка.

Оцените статью