![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Десять лет не брал я в руки шашек ATmega, но тут Алекс KI6EEO попросил его просветить, и я решил заценить нынешнее разнообразие доступных программаторов для микроконтроллеров AVR. В предыдущем посте смотрите обзор отладочных плат AVR.

Самый простой и доступный программатор для микроконтроллеров AVR. Разработан Thomas Fischl на основе atmega8. При желании вы сами можете спаять его по схеме на сайте разработчика. Там же есть все исходные коды и драйвер для Windows. Но проще купить готовый программатор на Ebay за $5. Программатор поставляется с 10-контактным шлейфом.
Утилита avrdude умеет работать с этим программатором, если указать тип "usbasp". Вот пример распознавания чипа ATtiny13:
На программаторе есть джампер для выбора напряжения питания 5V / 3.3V, подаваемого на программируемую плату. Лучше всего этот джампер снять и не подавать никакого напряжения, во избежание конфликта.

Этот программатор был разработан другим любителем Dick Streefland, и позже активно продвигался фирмой AdaFruit. Продаётся на Aliexpress по цене около $3. Может поставляться как с 10-контактным шлейфом, так и с 6-контактным. На картинке показан 6-контактный шлейф. Имеется джампер для подачи 5V на программируемую плату, который лучше отключить.
Утилита avrdude понимает этот программатор как тип "usbtiny". Вот тот же пример с платой ATtiny13:

Это копия фирменного программатора Atmel AVRISP mkII, снятого с производства. Купить можно на Aliexpress за $16. Имеет 10-контактный шлейф, и отдельно переходник на 6-контактный разъём. Фирменный софт Atmel Studio 7 распознаёт этот программатор как родной mkII и обновляет firmware до последней версии 1.18. В этом преимущество программатора AVRISP: по мере появления новых моделей чипов AVR вы будете автоматически получать нужные обновления для программатора. Лично я для серьёзных разработок выбирал бы этот девайс.
Для avrdude надо указывать тип "avrisp2". Повторяем пример с платой ATtiny13:
Тут не совсем программатор, а скорее отладчик. Подключается он не к порту программирования ICSP, а к порту JTAG. Не все платы оборудованы портом JTAG. Прошить память микроконтроллера этим устройством тоже можно, но основная его суть в возможности пошаговой отладки микроконтроллера посредством интерактивного отладчика. обычно это нечасто нужно, но в тяжёлых случаях не обойтись.
Продаётся JTAG ICE на Aliexpress за $7. Поставляется со стандартным 10-контактным шлейфом.
С этим девайсом есть одна проблема, которую я пока не решил. Он приходит без прошивки, точнее прошит только bootloader. Требуется обновить прошивку, то есть загрузить туда firmware от родного Atmel JTAG ICE. Есть инструкция, по которой нужно на компьютер с устаревшим Windows установить устаревшую версию AVR Studio 4, и после некоторых магических действий вся получится. Попробую когда-нибудь потом. Но в целом не могу рекомендовать этот отладчик для начинающих.
USBasp

Самый простой и доступный программатор для микроконтроллеров AVR. Разработан Thomas Fischl на основе atmega8. При желании вы сами можете спаять его по схеме на сайте разработчика. Там же есть все исходные коды и драйвер для Windows. Но проще купить готовый программатор на Ebay за $5. Программатор поставляется с 10-контактным шлейфом.
Утилита avrdude умеет работать с этим программатором, если указать тип "usbasp". Вот пример распознавания чипа ATtiny13:
Утилита предлагает обновить версию прошивки самого программатора USBasp, но это необязательно, и без этого всё отлично работает.
$ avrdude -c usbasp -p ATtiny13
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9007 (probably t13)
avrdude: safemode: Fuses OK (E:FF, H:FF, L:6A)
avrdude done. Thank you.
На программаторе есть джампер для выбора напряжения питания 5V / 3.3V, подаваемого на программируемую плату. Лучше всего этот джампер снять и не подавать никакого напряжения, во избежание конфликта.
USBtiny

Этот программатор был разработан другим любителем Dick Streefland, и позже активно продвигался фирмой AdaFruit. Продаётся на Aliexpress по цене около $3. Может поставляться как с 10-контактным шлейфом, так и с 6-контактным. На картинке показан 6-контактный шлейф. Имеется джампер для подачи 5V на программируемую плату, который лучше отключить.
Утилита avrdude понимает этот программатор как тип "usbtiny". Вот тот же пример с платой ATtiny13:
$ avrdude -c usbtiny -p ATtiny13
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9007 (probably t13)
avrdude: safemode: Fuses OK (E:FF, H:FF, L:6A)
avrdude done. Thank you.
AVRISP mkII

Это копия фирменного программатора Atmel AVRISP mkII, снятого с производства. Купить можно на Aliexpress за $16. Имеет 10-контактный шлейф, и отдельно переходник на 6-контактный разъём. Фирменный софт Atmel Studio 7 распознаёт этот программатор как родной mkII и обновляет firmware до последней версии 1.18. В этом преимущество программатора AVRISP: по мере появления новых моделей чипов AVR вы будете автоматически получать нужные обновления для программатора. Лично я для серьёзных разработок выбирал бы этот девайс.
Для avrdude надо указывать тип "avrisp2". Повторяем пример с платой ATtiny13:
$ avrdude -c avrisp2 -p ATtiny13
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9007 (probably t13)
avrdude: safemode: Fuses OK (E:FF, H:FF, L:6A)
avrdude done. Thank you.
AVR JTAGICE

Тут не совсем программатор, а скорее отладчик. Подключается он не к порту программирования ICSP, а к порту JTAG. Не все платы оборудованы портом JTAG. Прошить память микроконтроллера этим устройством тоже можно, но основная его суть в возможности пошаговой отладки микроконтроллера посредством интерактивного отладчика. обычно это нечасто нужно, но в тяжёлых случаях не обойтись.
Продаётся JTAG ICE на Aliexpress за $7. Поставляется со стандартным 10-контактным шлейфом.
С этим девайсом есть одна проблема, которую я пока не решил. Он приходит без прошивки, точнее прошит только bootloader. Требуется обновить прошивку, то есть загрузить туда firmware от родного Atmel JTAG ICE. Есть инструкция, по которой нужно на компьютер с устаревшим Windows установить устаревшую версию AVR Studio 4, и после некоторых магических действий вся получится. Попробую когда-нибудь потом. Но в целом не могу рекомендовать этот отладчик для начинающих.
no subject
Date: 2019-01-24 04:34 (UTC)Вполне доволен
no subject
Date: 2019-01-25 21:56 (UTC)С ним есть только одно неудобство: поскольку он использует виртуальный COM-порт, каждый раз приходится выяснять имя девайса в системе, чтобы передать его avrdude как параметр.
Новые программаторы не используют COM-порт, и avrdude находит их автоматически, без лишнего параметра.
no subject
Date: 2019-01-25 19:59 (UTC)no subject
Date: 2019-01-25 22:04 (UTC)Для работы-то не жалко. Я смотрел на этот Atmel ICE, но непонятно из описания, поддерживает ли он старые интерфейсы ICSP и JTAG. И как у него с Линуксом?
no subject
Date: 2019-01-29 19:12 (UTC)• Programming and on-chip debugging of all Atmel AVR 32-bit
microcontrollers on both JTAG and aWire interfaces
• Programming and on-chip debugging of all Atmel AVR XMEGA®
family
devices on both JTAG and PDI 2-wire interfaces
• Programming (JTAG, SPI, UPDI) and debugging of all Atmel AVR 8-bit
microcontrollers with OCD support on either JTAG, debugWIRE or
UPDI interfaces
• Programming and debugging of all Atmel SAM ARM Cortex-M based
microcontrollers on both SWD and JTAG interfaces
• Programming (TPI) of all Atmel tinyAVR®
8-bit microcontrollers with
support for this interface
Согласно http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-ICE_UserGuide.pdf
Linux не очень:
https://www.avrfreaks.net/forum/atmel-ice-and-linux
no subject
Date: 2019-01-30 19:41 (UTC)no subject
Date: 2019-01-26 21:29 (UTC)уже лет 20 не занимаюсь таким.
последний раз игрался не с Atmel, а с шикарнейшим контроллером C8051F фирмы Cygnal.
еще в прошлой жизни, увы.
no subject
Date: 2019-01-30 19:30 (UTC)Atmel до сих пор выпускает их в большом количестве, называется серия AT89.
no subject
Date: 2019-01-30 19:35 (UTC)no subject
Date: 2019-01-30 19:57 (UTC)Критично было иметь внешнюю шину адрес/данные.
no subject
Date: 2019-01-30 20:40 (UTC)под каждую задачу свой инструмент
no subject
Date: 2019-01-30 01:36 (UTC)https://www.avrfreaks.net/forum/atmel-ice-avarice-eclipse-and-debugging-ubuntu
no subject
Date: 2019-01-30 19:46 (UTC)no subject
Date: 2019-09-14 19:36 (UTC)https://github.com/abcminiuser/lufa/tree/master/Projects/AVRISP-MKII
no subject
Date: 2019-09-14 19:59 (UTC)Но при нынешних ценах на USBtiny я бы не стал тратить время.
no subject
Date: 2019-09-14 20:16 (UTC)no subject
Date: 2019-09-14 20:39 (UTC)no subject
Date: 2019-09-16 18:28 (UTC)