![[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-09-16 18:28 (UTC)