РадиоКот >Статьи >
STK500: Что же он умеет и как с ним работать.
Данная статья поможет при работе с фирменным STK500 и его клонами, а также раскроет тем кто еще не работал с данным программатором его функции.
STK500 это отладочный модуль с интегрированным программатором, предназначенный для разработки и отладки устройств на МК AVR. STK500 имеет ряд преимуществ выгодно отличающих его от других программаторов:
- возможность высоковольтного (HV) программирования;
- внутрисхемное программирование (ISP);
- возможность установки частоты ISP и HV интерфейса;
- возможность регулировки питающего VTG и опорного AREF напряжения;
- возможность регулировки ISP уровней;
- возможность обновления прошивки основного управляющего контроллера, благодаря чему программатор поддерживает все новинки от Атмел.
Недостатками STK500 на мой взгляд являются:
- COM интерфейс, отсутствующий на современных РС;
- большие габариты;
- отсутствие панелей с нулевым усилием сводит на нет программирование микросхем непосредственно в программаторе т.к. что бы достать микросхему из панели необходимо приложить немалое усилие, а в случае применения отвертки и пр. инструмента велика опасность повредить джампера и пр.
- наличие дополнительного источника питания, что еще больше усложняет применение программатора в "полевых" условиях и захламляет без того насыщенное рабочее место.
Для работы с программатором необходимо установить программу AVR Studio, являющуюся бесплатным средством разработки и отладки от ATMEL.
После установки запустите программу AVR Studio (рис. 1).
Для ручной установки необходимо нажать кнопку
(рис. 2) установить при необходимости порт на котором находится программатор и нажать кнопку "Connect:".
Для автоматического определения программатора необходимо нажать кнопку
.
Вкладка Main изображена на рис. 3.
Прежде всего, необходимо выбрать кристалл в выпадающем списке "Device and Signature Bytes" и установить вид программирования в выпадающем списке "Programming Mode and Target Settings":
ISP mode - внутрисхемное программирование по SPI
HP/HVSP mode - программирование при повышенном напряжении
Если было выбрано внутрисхемное программирование ISP то представляется возможность установить частоту интерфейса SPI при программировании для этого необходимо нажать кнопку "Settings" после чего появится окно рис. 4.
Желаемая частота выбирается в выпадающем списке "ISP Freq:", после чего необходимо нажать кнопку "Write".
Кнопка "Erase Device" вкладки Main стирает выбранный кристалл.
Кнопка "Read Signature" чтение байтов сигнатуры кристалла.
Вкладка Program изображена на рис. 5:
Группа Device
"Erase device before programming" - стирание кристалла перед программированием
"Verify device after programming" - верификация(проверка данных) после программирования
Группа Flash
Кнопка
выбор HEX файла прошивки
Кнопка "Program" - программирование выбранного HEX файла данных Flash
Кнопка "Verify" - верификация(сравнение с HEX файлом) данных flash
Кнопка "Read" - чтение данных flash
Группа EEPROM
Кнопка
выбор HEX файла данных EEPROM
Кнопка "Program" - программирование выбранного HEX файла данных EEPROM
Кнопка "Verify" - верификация(сравнение с HEX файлом) данных EEPROM
Кнопка "Read" - чтение данных EEPROM
Группа ELF Production File Format
Кнопка
выбор ELF файла
Кнопка "Program" - программирование выбранного ELF файла
Кнопка "Save" - сохранение ELF файла
Вкладка Fuses изображена на рис. 6:
"Auto read" - автоматическое чтение Fuse байтов
"Smart warnings" - предупреждения при ошибке
"Verify after programming" - верификация после программирования
Кнопка "Program" - программирование Fuse байтов
Кнопка "Verify" - верификация Fuse байтов
Кнопка "Read" - чтение Fuse байтов
Вкладка функционально идентична вкладке Fuses.
Вкладка калибровки внутреннего генератора.
Вкладка HW Settings изображена на рис. 7:
Функции группы Voltages позволяют устанавливать напряжение питания МК VTG и опорное напряжение AREF.
Группа Clock Generator позволяет установить частоту на выводе SWCLK разъема HV программирования. Определяет частоту при программировании повышенном напряжением. Скроллингом устанавливается необходимая частота после чего нажимаем кнопку "Write".
Кнопка "Read" предназначена для чтения текущей частоты.
Группа Firmware Upgrade
Кнопка "Upgrade" - автоматическое обновление.
Информация о версии программатора.
Данная вкладка предназначена автоматического программирования установленных параметров предыдущих вкладок. Удобно если необходимо прошить несколько процессоров подряд с одинаковыми параметрами. Задаем все что нужно в соответствующих вкладках, устанавливаем галочки и нажи-маем Start.
Главное окно программы изображено на рис. 9:
Для отображения окна программирования необходимо нажать кнопку
, окно программирования изображено на рис. 10.
Выбираем программатор STK-500/AVRISP и COM порт на котором установлен программатор рис. 10 нажимаем кнопку "ISP Options..." рис. 11
Нажимаем кнопку "Browse..." и указываем путь к файлу "Stk500.exe", по умолчанию программа AVR Studio устанавливается на диск C, тогда файл находится по адресу
C:Program FilesAtmelAVR ToolsSTK500Stk500.exe
Главное окно программы представлено на рис. 12:
В меню "Settings" выбираем вкладку "Programmer" (рис. 13)
В выпадающем списке "AVR Chip Programmer Type" выбираем "Atmel STK500/AVRISP", в выпадающем списке "Communication Port" выбираем порт на который установлен программатор (рис. 13)
Данный программатор обеспечивает автоматическое обновление прошивки.
Версия прошивки должна соответствовать установленной на РС версии AVR Studio.
Для входа в режим программирования необходимо при включении питания удерживать кнопку Program, после включения программатора через несколько секунд кнопку можно отпустить.
Обновление прошивки можно осуществлять следующими средствами:
1. утилитой AVR Prog находящейся во вкладке Tools Рис.14
В появившемся окне необходимо выполнить установки в соответствии с рис. 15:
Файл прошивки STK500.ebn находится в директории в которую установлена AVR Studio в папке STK500, по умолчанию C:Program FilesAtmelAVR ToolsSTK500
2. Утилитой Upgrade, находящейся в директории в которую установлена AVR Studio в папке STK500, по умолчанию C:Program FilesAtmelAVR ToolsSTK500.
При запуске утилиты Upgrade она автоматически ищет программатор в диапазоне портов COM1-COM6 и если программатор при включении вошел в режим программирования утилита уведомит о том, что готова к обновлению рис. 16
Для запуска процесса обновления необходимо нажать кнопку "Start Upgrade", после чего запустится процесс обновления. О завершении обнов-ления утилита известит соответствующим уведомлением.
Если по каким либо причинам обновление прошивки было прервано, необходимо повторить процедуру обновления.
Если по каким либо причинам обновление прошивки утилитой Upgrade невозможно воспользуйтесь утилитой AVR Prog п.1.
Таблица 1. Обозначение и функции выводов, используемых при программировании в параллельном режиме
Таблица 2. Функции сигналов XA0 и XA1.
ATmega8515, ATmega8535, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega165,
ATmega165P, ATmega1650,ATmega169, ATmega169P, ATmega1690, ATmega32, ATmega324P, ATmega325, ATmega325P, ATmega3250, AT-mega3250P, ATmega329,ATmega329P, ATmega3290, ATmega3290P,
ATmega323, ATmega64, ATmega640, ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490,
ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, AT90CAN32, AT90CAN64, AT90CAN128,
ATmega2560, ATmega2561, AT90USB162, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
AT90S2333, AT90S4433, ATmega48(P), ATmega8, ATmega88(P), ATmega168(P), ATmega328(P)
SCI-тактовый вход, SDO(PB2)-DATA0, SII(PB1)-DATA1, SDI(PB0)-DATA2
ATtiny11, ATtiny12, ATtiny13, ATtiny22, ATtiny25, ATtiny45, ATtiny85, ATtiny15
SCI-тактовый вход, SDO(PA4)-DATA0, SII(PA5)-DATA1, SDI(PA6)-DATA2
ATtiny24, ATtiny44, ATtiny84
XA1 подключается на PB2, BS2 не подключается
BS1 подключается на PB3, PAGEL не подключается
ATtiny26, ATtiny261, ATtiny461, ATtiny861
XA1 подключается на PB2, BS2 не подключается
BS1 подключается на PB3, PAGEL не подключается
ATtiny2313
Кстати, если программатора у вас нет, а собирать лень, то вот тут можно прикупить вполне уже собранный.
Все вопросы как обычно в форум.
Как вам эта статья?
|
Заработало ли это устройство у вас?
|
|
|