vak: (Default)
[personal profile] vak
Десять лет не брал я в руки шашек ATmega, но тут Алекс KI6EEO попросил его просветить, и я решил заценить нынешнее разнообразие доступных программаторов для микроконтроллеров AVR. В предыдущем посте смотрите обзор отладочных плат AVR.

USBasp




Самый простой и доступный программатор для микроконтроллеров AVR. Разработан Thomas Fischl на основе atmega8. При желании вы сами можете спаять его по схеме на сайте разработчика. Там же есть все исходные коды и драйвер для Windows. Но проще купить готовый программатор на Ebay за $5. Программатор поставляется с 10-контактным шлейфом.

Утилита avrdude умеет работать с этим программатором, если указать тип "usbasp". Вот пример распознавания чипа ATtiny13:

$ 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.
Утилита предлагает обновить версию прошивки самого программатора USBasp, но это необязательно, и без этого всё отлично работает.

На программаторе есть джампер для выбора напряжения питания 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, и после некоторых магических действий вся получится. Попробую когда-нибудь потом. Но в целом не могу рекомендовать этот отладчик для начинающих.

Date: 2019-01-24 04:34 (UTC)
sjtonic: (Default)
From: [personal profile] sjtonic
Я пользовался вот таким: https://www.pololu.com/product/3172
Вполне доволен

Date: 2019-01-25 19:59 (UTC)
From: [personal profile] master_a
Сейчас появились новые AVR с другим интерфейсом - не JTAG и не SPI. Например ATTINY817. Я для старых пользовалСЯ родным ISP/JTAG, но новый протокол он не поддерживает. Можно использовать самоделки например на основе Ардуино, но я купил новый ATMEL ICE за $90. Поскольку для работы :)

Date: 2019-01-29 19:12 (UTC)
From: [personal profile] master_a
It supports:
• 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

Date: 2019-01-26 21:29 (UTC)
hozar: (Default)
From: [personal profile] hozar
были когда-то и мы рысаками...
уже лет 20 не занимаюсь таким.
последний раз игрался не с Atmel, а с шикарнейшим контроллером C8051F фирмы Cygnal.
еще в прошлой жизни, увы.

Date: 2019-01-30 19:35 (UTC)
hozar: (Default)
From: [personal profile] hozar
сигналовский был со встроеными цапами, ацп и шимами.

Date: 2019-01-30 20:40 (UTC)
hozar: (Default)
From: [personal profile] hozar
нет-нет, не спорю
под каждую задачу свой инструмент

Date: 2019-09-14 19:36 (UTC)
From: [personal profile] mcler
Из платы pro micro на atmega32u4 после небольших манипуляций скальпелем и паяльником получается аналог AVRISP mkII. Использую для XMEGA
https://github.com/abcminiuser/lufa/tree/master/Projects/AVRISP-MKII

Date: 2019-09-14 20:16 (UTC)
From: [personal profile] mcler
Разве USBTiny может делать PDI протокол для XMEGA?

Date: 2019-09-16 18:28 (UTC)
From: [personal profile] mcler
Еще SNAP и MPLAB PICkit 4 можно упомянуть.