Схемы подключения различных чипов к программатору можно посмотреть в этой таблице (щёлкните мышкой по нужному чипу и во всплывающем окне откроется его схема подключения).
Ниже описано как настроить ПО для работы с программатором.
Настройка ICProg
Всё, на этом настройка ICProg завершена. Теперь остаётся только выбрать наш девайс в меню Settings->Device->(далее выбираем из списков то, что нам надо) и правильно его подключить. Подключение многих девайсов можно найти на этой странице (найдите свой девайс в таблице внизу и щёлкните по нему мышкой — откроется всплывающее окно со схемой подключения).
Настройка PonyProg2000
В принципе — всё, но, во избежании ненужных эксцессов (типа затирания фьюзов, калибровочных констант и тому подобного), рекомендую также зайти в меню Command -> Program Options… и снять в открывшемся окне все галочки, кроме Write Program memory (FLASH) и Write Data memory (EEPROM) (по идее галочку напротив EEPROM тоже можно выключить, если вы в своих программах эту память не используете).
Для программирования фьюзов есть специальный пункт меню — Command -> Security and Configuration Bits… При нажатии на этот пункт меню открывается специальное окно, в котором можно читать фьюзы, редактировать их и заливать обратно в контроллер.
Выбрать нужную микросхему (сначала тип микросхем, а потом конкретную микруху) можно в выпадающих меню в правой верхней части или в меню
Настройка PicPgm
radiohlam.ru
В настоящее время появилось много интересных и не сложных в изготовлении любительских устройств на различных микроконтроллерах, например ATmega, ATtiny, PIC и многие другие. Возникает вопрос — чем и в чем прошивать эти девайсы? В этой статье разберёмся как применить программу PonyProg2000 для внутрисхемного программирования. Программа PonyProg2000 работает с двумя портами — LPT или СОМ порт, т.к. на работу с USB PonyProg2000 изначально не была рассчитанна. Запускаем поисковичек, ищем в просторах сети программу, скачиваем и пользуемся, воплощая свои идеи на микроконтроллерах AVR.
После скачивания программы и установки на компьютере, запускаем ее, и в двух появляющихся окнах жмем кнопочку
При первом запуске сделайте калибровку — выбираем Установки -> выбираем Калибровка —> нажимаем Yes и в появившемся диалоговом окне с сообщением «Калибровка завершена» жмём кнопочку OK.
Калибровка делается один раз и при следующих запусках программы ее уже проводить больше не нужно. Далее заходим в меню Установки -> выбираем настройка оборудования… или кнопка на панели Выбираем порт к которому подключён программатор.
Для LPT-программатора выбрать Параллельный или Последовательный
— для программатора подключаемого к СОМ. После выбора нужного порта, нажимаем кнопочку проверка, для выявления подключенного устройства, в результате появиться сообщение — Тест OK! Если программатор не подключён, то сообщение будет таким:Программа PonyProg2000 определяет наличие подключенного устройства только по соответствующим перемычкам на разъеме и проверка на тест не сообщает об исправности самого программатора — только о его наличии.
Программатор подключен, тест дал положительный результат, тогда идём дальше и выбираем из списка тип микросхемы, которую нужно запрограммировать, например ATmega8: Перед записью можно прочитать микроконтроллер , чтобы убедиться в том, что всё исправно и PonyProg2000 определяет девайс. Если процесс чтения запустился, то должен появиться индикатор процесса чтения:Сообщение об ошибке Устройство отсутствует или неисправно(-24 )
означает, что ponyProg не может прочитать микросхему ( проверить питание МК и вообще его исправность ) или это неисправность самого программатора ( нужно также проверить верно ли выбран порт и его настройка ).Если необходимо записать FLASH или EEPROM, то выбираем соответствующее — Open Program File(FLASH) или Open Data File(EEPROM).
Запустить процесс программирования микроконтроллера, можно нажав кнопочку тулбара . Если нужно записать только FLASH или EEPROM, то кнопочки тулбара соответственно . Должен появиться индикатор процесса записи и появиться сообщение о том, что программирование завершено.Биты конфигурации можно устанавливать и сбрасывать, выбрав окно Биты конфигурации и защиты, в меню команды -> Security and Configuration Bits
Здесь ВАЖНО помнить, что после некоторых изменениях битов конфигурации, будет НЕ ВОЗМОЖНО! повторное программирование этого микроконтроллера ( проверено на собственном опыте ) с PonyProg до тех пор, пока не будут поданы внешние тактирующие импульсы на вывод XTAL или биты не будут сброшены в первоначальное состояние с помощью другого программатора, например программатор серииChipProg ( 2, +, 48 и т.д. ).
Поэтому прежде чем нажать на кнопку записать — проверяйте все внимательно!
Основные кнопки — Записать и Считать.
Некоторые используемые кнопки тулбара в PonyProg2000
Источник: http://mkontrol.ucoz.com/publ/6-1-0-1
bigbenmobileblog.blogspot.com
Программатор PonyProg является свободно распространяемой GNU-программой с открытым исходным кодом и предназначен для программирования flash-микросхем с последовательным доступом.
PonyProg написан итальянцем Клаудио Ланконелли (Claudio Lanconelli) и существует в Windows (9x/ME/NT/2000/XP) и Linux версиях. Имеет поддержку русского языка. Может использовать параллельный порт (LPT) или стандартный последовательный порт (COM).
Поддерживаемые PonyProg микроконтроллеры семейства AVR.
AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4434, AT90S8515, AT90S8535, AT90S2323, AT90S2343, AT90S2333, AT90S4433, AT90S4434, AT90S8535, AT90S8534
ATmega103, ATmega161, ATmega163, ATmega323, ATmega128, ATmega8, ATmega16, ATmega64, ATmega32, ATmega162, ATmega169, ATmega8515, ATmega8535, ATmega44, ATmega88, ATmega168, ATmega164, ATmega324, ATmega644, ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561
ATtiny12, ATtiny15, ATtiny26, ATtiny2313, ATtiny13, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
AT90can32, AT90can64, AT90can128
PonyProg поддерживает ряд популярных программаторов, в том числе STK200/300, JDM/Ludipipo, EasyI2C и DT-006 AVR от Dontronics.
С помощью PonyProg можно загружать данные в микроконтроллеры Atmel AVR и MicroCHIP PicMicro, а также программировать микросхемы памяти с последовательным доступом (I2C Bus, Microwire, SPI eeprom).
Полный список программируемых микросхем можно прочитать на сайте PonyProg.
Помимо всего вышеперечисленного, PonyProg предоставляет возможность редактирования текста программы на уровне изменения значения байтов.
Загрузка программы с помощью PonyProg
PonyProg2000. Инструкция по использованию
Чтобы загрузить уже готовую программу с помощью PonyProg в микроконтроллер AVR, можно воспользоваться упрощенным вариантом программатора STK200. Это устройство состоит из 25-контактного разъема для параллельного (LPT) порта, 4-х резисторов (150 Ом) и соединительного кабеля, длина которого не должна превышать 1,5 метра.
Рассмотрим последовательность действий по загрузке программы в микроконтроллер на примере ATmega8.
При первом запуске PonyProg попросит произвести калибрацию и указать тип используемого программатора с помощью двух предупреждающих сообщений.
Сделаем так, как он просит. Зайдем в меню «Setup» и выберем пункт «Calibration».
При появлении предупреждения убедимся, что, кроме PonyProg, у нас не запущено никаких приложений, загружающих процессор и жесткий диск.
После чего нажмем «Yes» и подождем несколько секунд.
После выполнения процесса калибрации появится сообщение об успешном завершении.
Если что-то пошло не так, калибрацию стоит провести заново.
Теперь выберем в меню «Setup» пункт «Interface Setup…».
В появившемся окне выберем параллельный порт и способ работы с этим портом (в Windows2000/XP мы должны выбрать «AVR ISP I/O» и использовать стандартный LPT-порт).
Внимание! Не указывайте порт, к которому подключен модем: это может вывести его из строя.
Указать тип микроконтроллера можно, воспользовавшись меню «Device» — «AVR micro».
Когда все приготовления выполнены, загрузим в PonyProg файл с откомпилированной программой.
Подсоединим шлейф программатора STK200 к программируемому микроконтроллеру, убедимся, что все подключено правильно, и подадим питание.
Если из ATmega8 не повалил едкий дым и его корпус не начал заметно нагреваться, можно загружать подготовленную программу во FLASH-память микроконтроллера. В меню «Command» выберем пункт «Write Program (FLASH)» и дождемся успешного завершения загрузки.
Программатор PonyProg позволяет также загружать данные в EEPROM-память, считывать данные из памяти микроконтроллера, стирать память и программировать FUSE-биты.
easymcu.ucoz.ru
— Мама, я зайду к другу — надо контроллер прошить.
— Сынок, ты что, порвал ему контроллер?
Анекдот в тему
В интернете есть немало различных программаторов для МК, отличающихся между собой интерфейсом и возможностью читать большее или меньшее количество разных микросхем памяти. В данной статье будет рассмотрен популярный программатор Пони Прог (PonyProg), который имеет возможность подключения как по СОМ (1,2,3,4) так и по LTP (1,2,3) портам.
Пони Прог может быть использован как для программирования микросхем собственных проектов, так и для раскодировки автомагнитол, мобильных телефонов.
Программатор работает с микросхемами: 2402, 2404, 2408, 2416, 2432, 2464, 2465, 24128, 24256, 24512, 24XX, 24325, 24645, SDE2526, SDA2546, SDA2586,©SDA3546, SDA3586, SDE2506, AT90S1200, AT90S2313, AT90S4414, AT90S8515e, AT89S8252, AT89S53, 93C06, 93C46, 93C56, 93C66, 93C76, 93C86, 93C13 (as a 93C06) и 93C14 (as a 93C46), PIC 16C84/16F84, 25010, 25020, 25040, 25080, 25160, 25320, 25640, 25642, 25128, 25256, 95640.
Полный список микросхем AVR, поддерживаемых устройством, показан на рисунке.
Для некоторых типов корпусов может потребоваться переходник-адаптер.
А это вариант схемы программатора, который подключается к параллельному порту компьютера. Обязательно наличие стабилизированного источника питания 5В:
Вообще различных модификаций программатора Pony Prog есть очень много, а самую облегченную по компонентам версию смотрите на схеме ниже:
el-shema.ru
Устанавливаем PonyProg на компьютер
Набрав в Интернет-браузере адрес http://www.lancos.com/ppwin95.html , увидим на экране картину, подобную показанной на рис. 14, со списком версий программы PonyProg. Возможно, к моменту публикации данной статьи список станет еще длиннее. В самой нижней его части — последняя англоязычная версия программы (2.07с).
Рис.14
Что же «скачать»? Прежде всего, «щелкнув» по надписи «v2.07c BETA», оригинальный англоязычный вариант. (Так же скачать можно с нашего сервера, щелкнув по ссылке внизу статьи) В полученном файле-архиве ponyprogV207c.zip находится программа-установщик setup.exe. После запуска она автоматически установит PonyProg на компьютере. От пользователя потребуется лишь отвечать согласием на все выводимые на экран запросы.
Те, кто предпочитает работать с русскоязычной программой, должны скачать архив PonyProg2000ru.zip и находящийся в нем файл PONYPROG2000ru.exe установить в папку C:\Program Files\PonyProg2000 (она была создана программой-установщиком на предыдущем этапе.
Это даст возможность по выбору запускать английский или русский варианты программы. Однако без установки первой вторая не работает. Учтите также, что русифицированный вариант относится к версии 2.05 и не содержит новшеств, появившихся в более поздних версиях, в том числе расширенного списка программируемых микросхем.
Все сказанное в этом разделе относится к вариантам программы PonyProg — приложения Windows. Однако те, кто предпочитает операционную систему LINUX, найдут на той же Интернет-странице и предназначенные для нее варианты.
Запуск и настройка PonyProg
В результате установки PonyProg одноименный раздел появится в меню «Пуск/Программы» компьютера. В нем есть строка PonyProg2000 со значком в виде лошадиной головы. Можно запускать программу прямо отсюда или предварительно (для удобства) создать его ярлык на »Рабочей столе». Ярлыки английского и русского вариантов программы по умолчанию получат одно и то же имя PonyProg2000. Чтобы не путаться, лучше переименовать ярлык русского варианта, например, в PonyProgRus.
Первое, что будет выведено на экран после запуска PonyProg — главное окно с перечнем пунктов главного меню и кнопками управления в верхней части, а в нем — окно меньшего размера с краткой информацией о программе и ее авторе.
Закройте его, нажав кнопку «ОК». Тут же одно за другим появятся два предупреждения (рис. 15), которым мы последуем чуть позже, а пока просто закроем их, нажимая «ОК». Учтите, что в русском тексте предупреждений меню «Установки» ошибочно названо «Настройки». Аналогичная ошибка имеется и в английском варианте. Меню «Setup» названо «Options».
Если адаптер программирования до сих пор не подключен к компьютеру, сейчас самое время это сделать. Выберем в главном меню пункт «Установки», а в нем — «Настройка оборудования». На экране появится окно «Настройка платы программатора», показанное на рис. 16, укажем в нем тип порта (последовательный или параллельный), к которому подключен адаптер, и его имя (например, СОМ1). При нажатии кнопки со стрелкой вниз в соответствующем окошке «выпадет» список адаптеров, с которыми способна работать программа. Для последовательного порта список состоит всего из трех строк:
Как уже было сказано, SI Prog — оригинальный набор адаптеров, разработанных автором программы PonyProg специально для нее. О них можно прочитать в [6]. Схема адаптера JDM приведена на рис. 3 первой статьи. Пометки API и I/O определяют способ общения программы с портами компьютера. В первом случае она использует стандартные функции Windows API (интерфейса прикладных программ Windows), во втором — обращается к портам «напрямую». Второй метод более эффективен, но, к сожалению, не все версии Windows его допускают. Поэтому во избежание неприятностей выбирайте API. На адаптеры, подключаемые к параллельному порту компьютера, программу настраивают аналогичным образом.
Сделав выбор, нажмите кнопку «Проверка». Компьютер сообщит, удалось ли ему обнаружить адаптер, подключенный к указанному порту (К сожалению, эта проверка работает только с оригинальными адаптерами набора Sl-Prog.). Если нет, первым делом проверьте, включен ли внешний источник питания адаптера (если он предусмотрен), убедитесь, что все разъемы сочленены надежно и правильно, а перемычки, специально предусмотренные в адаптерах для их распознавания компьютером (о них было рассказано в предыдущих разделах), находятся на своих местах. Причиной неработоспособности адаптера может быть и неправильный выбор метода общения с ним компьютера, о чем было сказано выше.
Панель «Выбор полярности сигналов управления» (в нижней части рис. 16) дает возможность настроить программу на работу с адаптерами, отсутствующими в списке, или с некоторыми «нестандартными» микросхемами. Ставя «галочки» в соответствующих клетках этой панели, задают программную инверсию всех или некоторых сигналов, учитывая таким образом особенности адаптера или микросхемы.
Закончив настройку, нажмите кнопку «ОК».
Далее выполним пункт «Калибровка» меню «Установки». Программа «измерит» скорость работы компьютера и вычислит значения переменных, определяющих в дальнейшем длительность импульсов и пауз между ними, формируемых в процессе программирования. Учтите, что как при калибровке, так и при собственно программировании все другие (кроме PonyProg) программы должны быть закрыты. Иначе неизбежны ошибки.
Описанные операции необходимы лишь при первом запуске PonyProg. Программа запомнит сделанные установки и при последующих запусках выполнит их автоматически. Повторить настройку придется лишь при смене адаптера или при подключении его к другому порту. Одно важное замечание. PonyProg не знает, рассчитан ли выбранный адаптер на работу с нужной микросхемой. Вся ответственность за правильный выбор лежит на пользователе.
Последний этап настройки — выбор типа программируемой микросхемы. Чтобы выполнить его, нужно выбрать в главном меню пункт «Устройство» и на экране появится список семейств микросхем, которые можно запрограммировать с помощью PonyProg. Выбрав одно из них, получим список входящих в него микросхем (рис. 17, показано окно версии 2.07с). Если микросхема была выбрана ранее, она помечена «галочкой».Чтобы сделать или изменить выбор, достаточно щелкнуть по названию нужной микросхемы. Списки исчезнут с экрана, а выбранное название появится в специальном окне в верхнем правом углу окна PonyProg. Еще в одном окне слева от упомянутого указано название семейства микросхем. Эти окна дают возможность выбирать семейство и микросхему в нем, не открывая меню «Устройство». Достаточно нажать в соответствующем окне кнопку со стрелкой вниз, чтобы «выпал» список, из которого можно сделать выбор.
Название выбранной микросхемы выведено и в нижней строке главного окна (строке состояния). Рядом указаны информационная емкость программируемой памяти этой микросхемы (суммарная емкость FLASH и EEPROM) в байтах и контрольная сумма (CRC) ее содержимого, точнее говоря, его копии в программном буфере PonyProg.
Интересно, что в списке микроконтроллеров семейства AVR имеется строка AVR Auto. Выбрав ее, мы даем программе возможность автоматически распознать вставленную в панель адаптера микросхему этого семейства. Дело в том, что все они снабжены специальным внутренним ПЗУ, в котором хранится «сигнатура» — три байта, однозначно определяющих тип микросхемы. Значения сигнатур указаны в справочных данных (datasheet-ax) микросхем.
Однако программатор сможет прочитать сигнатуру лишь в том случае, если в микросхеме не включена защита кода, делающая все содержимое ее памяти недоступным для внешнего мира. Подобной защитой охотно пользуются производители микроконтроллерных устройств, стремясь защитить свою продукцию от пиратского копирования. Вдобавок ко всему они еще и стирают название микросхемы с ее корпуса.
Напомним еще раз, PonyProg не следит за правильностью выбора адаптера и программируемой микросхемы. При их несовместимости в лучшем случае программирование не будет выполнено вообще или выполнено с ошибками. В худшем — микросхема может быть повреждена.
Загрузка исходных данных
Коды, которые предстоит загрузить в микроконтроллер, обычно представлены одним или несколькими текстовыми файлами разработанного фирмой Intel и ставшего фактически стандартным НЕХ-формата. Лучше всего «скачать» нужные файлы из Интернета или получить их в электронном виде каким-либо другим образом. Это гарантирует отсутствие многих ошибок, допускаемых при «ручном» вводе данных.
Иногда исходные данные представлены файлами формата BIN («сырой» двоичный — raw binary). Это точная копия содержимого памяти микроконтроллера без каких-либо служебных и вспомогательных данных. На других понятных PonyProg форматах останавливаться не будем, так как встречаются они довольно редко. Упомянем лишь формат Е2Р, разработанный специально для PonyProg, но непонятный, к сожалению, другим программам. В файлах этого формата кроме данных для FLASH и EEPROM записан тип микроконтроллера и введенный пользователем текстовый комментарий, в котором могут содержаться любые полезные ему сведения.
Итак, выберем пункт «Файл» главного меню, а в нем — один из пунктов «Открыть файл с данными…», «Открыть файл программы (FLASH)…» или «Открыть файл данных (EEPROM)…». Первым пунктом пользуются, если загружаемый файл содержит информацию для всех областей памяти программируемой микросхемы. Таковы файлы формата Е2Р, а также НЕХ-файлы для микроконтроллеров семейства PICmicro. Второй и третий пункты загружают в соответствующие области памяти микроконтроллера данные из разных файлов. Учтите, что имена НЕХ-файлов для загрузки EEPROM микроконтроллеров семейства AVR обычно имеют расширение .еер.
При выборе одного из упомянутых пунктов на экране откроется окно, подобное изображенному на рис. 18.
Рис.18
В списке будут содержаться лишь те файлы, имена которых имеют расширение, указанное в окне «Тип файлов». Нажав в нем кнопку со стрелкой вниз, можно перейти к файлам с другими расширениями или (выбрав «*») получить список всех файлов, имеющихся в папке. Файл будет загружен после двойного щелчка по его имени в списке либо после одинарного щелчка (его имя появится в окне «Имя файла» и нажатия на кнопку «Открыть». Можно также ввести нужное имя непосредственно в окно «Имя файла» с клавиатуры.
В результате на экране появится окно, озаглавленное именем загруженного файла. Строго говоря, оно находилось там и раньше, но называлось (в зависимости от версии PonyProg) «No Name» или «default» и было пустым. Теперь здесь кодовая таблица, отображающая загруженные данные (рис. 19).
Она состоит из строк, начинающихся с отделенного скобкой адреса первого байта строки. Затем следуют шестнадцатиричные значения 16-ти байтов с последовательно возрастающими адресами (для удобства они разделены тире на две группы по восемь) и далее — символьное представление тех же байтов.
Обратите внимание на нижнюю часть таблицы (рис. 20).
Последние строки, выделенные цветом, отображают содержимое буфера памяти данных (EEPROM). Команда «Открыть файл программы (FLASH)…» оставляет его незаполненным. Информация здесь появится только после выполнения команды «Открыть файл данных (EEPROM)…» (рис. 21). Обратите внимание, что изменилось и имя в заголовке окна. Оно соответствует последнему загруженному в буфер файлу.
Необходимо учитывать, что адреса ячеек буфера EEPROM не соответствуют действительным адресам ячеек этой области памяти микроконтроллера. В PonyProg они просто продолжают адресацию буфера памяти программ (FLASH). В рассматриваемом случае байты по адресам 400Н— 43FH отображают содержимое ячеек EEPROM микроконтроллера AT90S1200 с адресами 0—3FH.
Правая часть окна буфера программатора, как уже сказано, отображает его содержимое в символьном виде. Это полезно, если в программных кодах имеются какие-либо текстовые сообщения. Чаще всего — предназначенные для вывода на индикатор микроконтроллерного прибора. Но иногда автор программы «маскирует» внутри нее какие-либо дополнительные сведения, например название программы, номер ее версии, а то и собственные фамилию и имя, и даже номер телефона и адрес. Просматривая шестнадцатиричный код, все это трудно заметить, зато в символьном виде такая информация сразу бросается в глаза.
Байты со значениями 0—7FH всегда отображаются символами одинаково — в соответствии с кодовой таблицей ASCII (American Standard Code for Information Interchange). К сожалению этого не скажешь о байтах со значениями 80Н—0FFH. Здесь имеется множество вариантов, зависящих как от особенностей настройки операционной системы компьютера, так и от режима отображения таких байтов, выбранного автором программы при ее разработке.
Даже разные версии PonyProg ведут себя неодинаково. «Русифицированная» v. 2.05а при выводе на экран заменяет все символы второй половины кодовой таблицы (в том числе русские буквы) точками.
Нерусифицированная v. 2.07с выводит их правильно, в полном соответствии с «кодовой страницей 1251», как показано на рис. 22.
Изображено окно буфера программатора с загруженным в него специально подготовленным файлом, содержащим последовательность байтов 0—0FFH
А у меня нет файла с программой микроконтроллера…
Такая ситуация возникает у тех, кто собирает устройство на микроконтроллере, если программу для него не удалось найти в Интернете или получить в электронном виде из какого-либо другого источника. Есть только «твердая копия» кодов программы, напечатанная в журнале. И ее вполне достаточно.
Есть много способов «набрать» нужный для программирования НЕХ-файл по опубликованной таблице кодов. Это можно сделать, например, с помощью программы CheckHex, находящейся на FTP-сервере журнала «Радио» по адресу
В «шестнадцатиричной» части окна у ячейки с нулевым адресом появится мигающий курсор. Если теперь нажать левую нопку мыши или клавишу Enter, будет открыто окно редактирования содержимого ячейки, показанное на рис. 23.
В нем отображено текущее значение кода, находящегося в выбранной ячейке памяти, в шестнадцатиричном, десятичном и символьном виде. В одном из этих форматов введите новое значение. В каком именно — безразлично. Учтите, при изменении содержимого одного из «окошек» значения в двух других останутся прежними. Тем не менее по завершении редактирования в ячейку будет записано именно вновь введенное значение. Если случайно или преднамеренно в разных форматах введены коды, двоичное представление которых не совпадает, приоритет будет отдан шестнадцатиричному, а если его не изменяли — десятичному значению.
Ввод кодов в разных форматах имеет некоторые особенности. Например, если шестнадцатиричное окно содержит три и более цифры, учтены будут лишь две старших (левых). Аналогично ведет себя и символьное окно, но в нем имеет значение только один, самый левый символ. А при вводе в десятичное окно числа, находящегося вне интервала 0—255, будут учтены только три старших разряда, причем в ячейку буфера будет записан остаток от деления представленного ими значения на 256.
После нажатия на кнопку ОК новое значение кода будет занесено в буфер, а курсор установлен на ячейку, с адресом на единицу больше отредактированной. Повторяя описанные выше действия, можно записать все нужные коды. Делать это последовательно в порядке возрастания адресов ячеек вовсе не обязательно. При необходимости можно перевести курсор на любую нужную ячейку с помощью мыши или нажимая клавиши управления курсором.
Для ввода длинной строки символов, можно установить курсор на ее начало в правой, символьной части окна буфера. После щелчка мышью появится окно, изображенное на рис. 24, в которое и вводят нужный текст. Учтите, «старое» содержимое буфера при таком вводе автоматически не уничтожается, а лишь сдвигается в сторону больших адресов. Поэтому прежде, чем нажимать клавишу OK, не забудьте стереть лишнее.
Несколько слов о том, как в публикуемых таблицах «прошивки» микроконтроллера найти нужные для ввода коды. Несколько лет назад подобные таблицы чаще всего представляли собой шестнадцатиричный «дамп» памяти. Они очень похожи на то, что находится в окне буфера РопуРгод, и по этой причине удобны для ручного ввода. Позже в связи с распространением программаторов, читающих исходные данные из НЕХ-файлов, перешли на публикацию текста этих файлов.
Строки в формате HEX содержат те же (с небольшими дополнениями, облегчающими компьютерный анализ) данные, что и строки дампа. Соответствие между ними и буфером иллюстрирует рис. 25.
Выделенные полужирным шрифтом нули в восьмой и девятой позиции строки НЕХ-файла — признак, что она содержит данные. Строки с другими символами в этих позициях — служебные, на них при ручном вводе, как правило, можно не обращать внимания. В строке не обязательно 16 байтов данных, может быть и больше, и меньше. Но адрес (на рис. 25 подчеркнут) всегда относится к первому из них. Два последних символа НЕХ-строки — контрольную сумму — в буфер не заносят.
Одна из особенностей программы РопуРгод заключена в том, что адреса, указанные в НЕХ-файле, совпадают с адресами ячеек буфера только для программной (FLASH) памяти микроконтроллера. Буфер EEPROM продолжает буфер FLASH-памяти, поэтому адреса его ячеек больше действительных на значение информационной емкости последней.
Например, для микроконтроллера AT90S2313 и других с объемом памяти программ 2 Кбайт буфер EEPROM начинается ячейкой с адресом 800Н, которая содержит, однако, код, предназначенный для ячейки EEPROM с нулевым адресом.
Ручной ввод данных, предназначенных для записи в EEPROM микроконтроллеров серии PICmicro, усложняет то, что в отличие от микроконтроллеров многих других серий ассемблер, транслируя программу, помещает эти данные в тот же файл, что и коды программы. Он присваивает им условные адреса, начиная С4200Н, причем байты данных чередуются с байтами (как правило нулевыми), не несущими никакой информации. Поэтому вводить данные в буфер EEPROM программатора следует так, как показано на рис. 26.
Набор кодов вручную занимает довольно много времени. Торопиться здесь не стоит, лучше лишний раз убедиться в правильности выполняемых действий. Если не удалось завершить работу за один сеанс, сохраните промежуточный результат, выбрав в меню «Файл» один из пунктов «Сохранить…». В зависимости от выбранного пункта будет сохранен весь буфер либо только FLASH, либо только EEPROM. Предварительно будет задан вопрос, какое имя присвоить файлу. Учтите, при некоторых неправильных действиях, может появиться сообщение об ошибке записи. В подобном случае попробуйте сохранить данные FLASH и EEPROM в разных файлах или в другом формате.
Если не предполагается пользоваться другими (кроме PonyProg) программами управления программированием, можно сохранить информацию в формате *.е2р. Кроме содержимого всех областей памяти в такой файл будет записан тип микроконтроллера и текстовый комментарий, который вводят, выбрав в меню «Правка» пункт «Правка комментария». Набранный текст выводится в верхней правой части окна РопуРгод, как показано на рис. 27.
Записав промежуточный результат, PonyProg можно закрыть. Чтобы продолжить работу в удобное время, достаточно, запустив PonyProg, загрузить в буфер сохраненный файл (файлы).
Не забудьте о конфигурации !
Среди областей внутренней памяти микроконтроллера есть одна, о содержимом которой, описывая конструкцию на микроконтроллере, часто забывают рассказать. Это так называемые биты конфигурации, известные также под названиями Locks («замки») и Fuses («плавкие вставки»). Записывая в эту область нули и единицы, задают режимы работы узлов микроконтроллера, в том числе тактового генератора и сторожевого таймера, изменяют функциональное назначение некоторых выводов микросхемы.
Важное значение имеет и возможность, задав соответствующую конфигурацию, запретить доступ с помощью программатора к внутренней памяти микроконтроллера. Однако пользоваться этой возможностью следует с большой осторожностью и только при полной уверенности, что защищаемая программа загружена без ошибок и работоспособна. После включения защиты найти ошибки в содержимом памяти программ и внести какие-либо изменения уже не удастся.
Число и назначение битов конфигурации у разных микроконтроллеров неодинаково. Точную информацию о них лучше всего получать из описаний (datasheets) соответствующих приборов. Например, у микроконтроллеров серий АТ90, AT89S с помощью программатора последовательного типа можно лишь включить защиту памяти. У приборов серий ATtiny, ATmega, PICmicro возможности изменения конфигурации значительно шире.
Окно управления конфигурацией открывается в PonyProg при выборе пункта меню «Команды» — «Security and Configuration Bits…». Почему-то его название не переведено на русский язык даже в «русифицированной» программе. Вид окна зависит от типа микроконтроллера. Показанное на рис. 28 относится к PIC16F628.
Если загруженный в буфер программатора файл содержал данные о конфигурации, в окошках рядом с названиями битов будут расставлены «галочки».
При необходимости их можно убрать или поставить самостоятельно, щелкая мышью по окошкам. Назначение битов в рассматриваемом случае следующее:
СР1, СРО, CPD — защита кода, если значения всех этих битов равны 1 («галочек» нет), она отключена. Чтобы предотвратить случайное включение, биты СР1 и СРО дублированы. Лишь занеся в оба «дубля» одинаковые значения, можно задать один из возможных режимов защиты.
LVP — низковольтное программирование разрешено (1) или не разрешено (0). В первом случае для перевода микросхемы в режим программирования напряжение +12 В не требуется. Изменять без надобности состояние этого бита не следует. Если программатор читает содержимое памяти микроконтроллера — бит установлен правильно. В противном случае поможет только замена программатора.
BODEN — внутренний детектор понижения напряжения питания включен (1) или выключен (0). Включать детектор следует только при уверенности, что в загружаемой в микроконтроллер программе предусмотрено его использование.
MCLRE — вывод 4 микросхемы служит входом сигнала установки микроконтроллера в исходное состояние MCLR (1) или обычным цифровым входом RA5 (0).
/PWRTEN — таймер задержки пуска микроконтроллера после подачи напряжения питания выключен (1) или включен (0). Обычно его включают, чтобы дать время на «раскачку» тактовому генератору с кварцевым резонатором.
WDTEN — сторожевой таймер (WDT) включен (1) или выключен (0). Ошибочное включение этого таймера нередко бывает причиной того, что запрограммированный микроконтроллер, начав работать правильно, каждые несколько секунд возвращается в исходное состояние. В подобной ситуации попробуйте выключить WDT.
F0SC2—FOSCO — тип тактового генератора и режим работы выводов 15 и 16 микроконтроллера:
111 — частота внутреннего тактового генератора задана резистором (у PIC16F628) или RC цепью (у PIC16F628A), подключенными к выводу 16, генерируемый сигнал выведен для контроля или другого использования на вывод 15.
110 — аналогично 111, но генератор внешнего выхода не имеет, вывод 15 служит входом/выходом RA6.
101 — внутренний генератор работает без внешних элементов, генерируемый им сигнал выведен на вывод 15, вывод 16 служит входом/выходом RA7.
100 — аналогично 101, но генератор внешнего выхода не имеет, вывод 15 служит входом/выходом RA6.
011 — внутренний генератор не действует. Внешний тактовый сигнал подают на вывод 16, вывод 15 служит входом/выходом RA6.
010 — между выводами 15, 16 подключен высокочастотный (HS) кварцевый резонатор.
001 — между выводами 15, 16 подключен обычный (XT) кварцевый резонатор.
000 — между выводами 15, 16 подключен маломощный (LP) кварцевый резонатор.
Если в описании конструкции на микроконтроллере не указан тип тактового генератора, его удается определить и выбрать нужные значения битов FOSC2— FOSC0, проверив по схеме, какие элементы и цепи подключены к выводам 15 и 16.
К сожалению в документации на микроконтроллеры серии PICmicro нет четких критериев, по которым следует относить резонаторы к группам HS, XT или LP. Чаще всего подходит вариант XT. Но если генератор не возбуждается или работает неустойчиво, а подборка подключенных между его выводами и общим проводом конденсаторов не помогает, попробуйте и другие варианты конфигурации. Возможно параметры использованного при повторении конструкции кварца значительно отличаются от примененного ее автором.
Значения некоторых разрядов слова конфигурации иногда бывают индивидуальными для каждого экземпляра микроконтроллера определенного типа. Например, в PIC12F629 и PIC12F675 двумя старшими разрядами этого слова при заводской регулировке изготовленной микросхемы устанавливают номинальное значение образцового напряжения для ее аналоговых узлов. В подобных случаях необходимо, нажав на соответствующую кнопку в окне «Configuration and Security Bits», прочитать слово конфигурации новой, еще не подвергавшейся стиранию и программированию микросхемы и позаботиться о том, чтобы значения этих разрядов после программирования остались прежними.
Многие современные микроконтроллеры оснащены внутренним тактовым генератором, не требующим для своей работы никаких внешних элементов.
Частоту этого генератора подстраивают программно, изменяя код в специальном регистре микроконтроллера. Значение кода, соответствующее номинальной частоте генератора (обычно из ряда 1, 2, 4 или 8 МГц), найденное для данного экземпляра микроконтроллера при заводской настройке, записывают в его память.
У микроконтроллеров фирмы Atmel это специальная область памяти, не стираемая при очистке FLASH-памяти и EEPROM. В некоторых случаях записанное здесь значение переносится в регистр калибровки генератора автоматически при включении питания. В других необходимо «вручную» (предусмотренной для этого командой программатора) прочитать значение калибровочного кода и занести его в определенную ячейку FLASH-памяти или EEPROM.
В PonyProg для работы с калибровочным кодом предусмотрено два пункта меню «Команды». Первый из них («Считать калибровочный байт ген.») позволяет получить значение этого кода из специальной памяти микроконтроллера и сохранить его в буфере по адресу, указанному с помощью второго пункта («Настройка калибровки генератора», рис. 29). Если поставить «галочку» у надписи «Относительно памяти данных», код будет занесен не во FLASH, а в EEPROM.
Хочу предупредить, работа этих пунктов меню производит впечатление не вполне отлаженной. Надеюсь, в новых версиях PonyProg недочеты будут устранены.
Микроконтроллеры PICmicro, оснащенные внутренним подстраиваемым генератором, обычно хранят «заводское» значение калибровочного кода уже записанным во FLASH-память, как правило, в ее самую старшую ячейку. При неосторожном стирании памяти это значение будет потеряно навсегда. По-этому прежде, чем подавать команду стирания, код необходимо перенести в соответствующую ячейку буфера программатора, в котором уже находятся подготовленные к программированию данные. Но и после этого следует соблюдать осторожность. Код может быть уничтожен, например, при повторной загрузке буфера из файла. На всякий случай запишите его на бумаге или прямо на корпусе микросхемы.
Хотелось бы обратиться к авторам конструкций на микроконтроллерах. Описывая их, не забывайте рассказывать об особенностях программирования конфигурации, а если необходимо, и установки частоты внутреннего генератора.
Осторожно, утилиты!
В упомянутом в подзаголовке меню среди пунктов, несомненно, полезных при подготовке к программированию («Очистить буфер», «Заполнить буфер»), есть и такие, неосторожное исполнение которых может исказить подготовленные к программированию данные, причем заметить внесенные изменения «визуально» очень непросто.
Пункт «Удвоить» увеличивает вдвое объем буфера программирования. Плохо то, что при этом каждый записанный в нем ранее байт повторяется дважды в соседних ячейках. К счастью, в последних версиях PonyProg исполнение этого пункта для микроконтроллеров заблокировано.
Пункт «Переставить байты» меняет местами четные и нечетные байты буфера. Пример показан на рис. 30: а — до; б — после исполнения данного пункта. Чтобы вернуть содержимое буфера в исходное состояние, достаточно выбрать этот пункт повторно.
Пункт «Установить серийный номер» используют для того, чтобы при записи одной и той же программы в несколько микросхем пронумеровать экземпляры. Результат его выполнения показан на рис. 3, в. Как видим, номер занесен в первые две ячейки буфера FLASH-памяти, в результате чего потеряны находившиеся там программные коды. Работать такая программа, естественно, не будет.
Если нумерация действительно необходима, следует позаботиться о том, чтобы номер оказался записанным в заведомо не используемые программой ячейки. Установить адрес, по которому будет записан номер, позволяет пункт «Установка серийного номера», открывающий окно, показанной на рис. 31. Кроме адреса, здесь можно задать длину («Размер») номера в байтах, порядок их следования («Формат») и начальное значение («Число»). Формат «Обратно» соответствует общепринятому порядку записи младшего байта по меньшему адресу (равен указанному в окне «Адрес»), а старшего — по большему. В формате «Прямо» порядок следования байтов от старшего к младшему. Если выбран режим «Автоувеличение», значение номера автоматически возрастает на единицу после каждого выполнения пункта «Установить серийный номер», в противном случае оно остается неизменным.
Чтобы надежно обнаружить непреднамеренное искажение подготовленных к программированию данных случайным выполнением «опасных» операций, рекомендуется запомнить CRC правильно заполненного буфера и сверить его с фактическим значением непосредственно перед программированием. CRC (Cyclic Redundance Code — циклический избыточный код) вычисляют по специальному алгоритму. В отличие от обычной контрольной суммы, он чувствителен к изменениям не только значений в ячейках буфера, но и порядка их следования.
Как показано на рис. 32, текущее значение CRC выведено в нижней части (строке состояния) главного окна PonyProg вместе с выбранным типом программируемой микросхемы и объемом ее памяти (суммой объемов FLASH и EEPROM). Те же сведения можно получить, выбрав в меню «Команды» пункт «Информация». К сожалению, CRC не указывает, значение какой именно ячейки изменено. Обнаружив искажение, придется либо просмотреть и сравнить с требуемыми значения по всех ячейках буфера, либо повторить операции по подготовке данных заново.
Программируем, наконец
Многие оболочки программирования позволяют убедиться в готовности установленной в адаптер микросхемы к программированию командами вроде «Проверить на чистоту». В PonyProg такой возможности нет. Чтобы очистить память микроконтроллера от возможно содержавшейся в ней ранее информации, необходимо выбрать в меню «Команды» пункт «Стереть» и получить сообщение, показанное на рис. 33. Если этого не сделать, в некоторые ячейки, возможно, не удастся записать нужные коды, так как программатор не в силах заменить ноль в разряде ячейки единицей. Конечно, перед стиранием следует быть уверенным, что память не содержит ценной информации.
Если старое содержимое памяти может пригодиться, его, прежде чем стирать, следует прочитать и сохранить в файле. Если в буфере программирования уже находится подготовленная к записи информация, нужно создать еще один буфер с помощью пункта «Новое окно» меню «Файл». Затем перейти к меню «Команды» и выполнить один из пунктов «Считать все», «Считать программу (FLASH)» или «Считать данные (EEPROM)» в зависимости оттого, какая область памяти представляет интерес. На экране появится информация о ходе считывания (рис. 34), а затем — о его завершении (рис. 35).
Теперь можно, вернувшись в меню «Файл», сохранить информацию, как это делалось при ручной подготовке данных . После этого память микросхемы очищают командой «Стереть», а ненужное более окно закрывают.
После возвращения в окно с подготовленными данными не спешите выбирать пункт «Программирование». О его использовании мы поговорим позже. Чтобы загрузить данные из буфера в микросхему, необходимо, в зависимости от того, какие из областей ее памяти вы собираетесь запрограммировать, выбрать один из пунктов «Записать все», «Записать программу (FLASH)», «Записать данные (EEPROM)». На экране появится предупреждение (рис. 36) — немного запоздалое, так как все «предыдущее содержимое» уже стерто.
Запись начнется после нажатия на кнопку «Yes». О ее ходе сообщит окно, подобное показанному на рис. 34, но с названием процесса — «Запись…». По ее завершении будет автоматически выполнена сверка фактического содержимого памяти микросхемы с содержимым буфера, о ходе которой сообщит окно «Процесс — Проверка…». Если ошибок нет, об этом на экран будет выведено сообщение (рис. 37). Теперь запрограммированный микроконтроллер можно извлекать из панели адаптера и устанавливать туда, где он должен работать.
Сверку содержимого памяти и буфера можно произвести и с помощью команд «Проверить все», «Проверить программу (FLASH)» или «Проверить данные (EEPROM)». Но следует предостеречь — эти команды иногда сообщают о несуществующих ошибках. Дело в том, что FLASH-память микроконтроллеров серии PIC16 четырнадцатиразрядная. Максимальное значение кода в ячейке этой памяти — 0x3FFF. В буфере PonyProg под этот код отведено 16 разрядов (два байта), значение кода в которых после очистки буфера — OxFFFF. Некорректное сравнение этих значений и воспринимается как ошибка программирования. Так как подобные «ошибки» фиксируются не всегда, их анализ, по-видимому, ведется по-разному в разных ветвях алгоритма сравнения.
И наконец, о команде «Программирование». Прежде чем ею воспользоваться, необходимо выбрать пункт меню «Настройки программирования…» и расставить «галочки» в окне, показанном нарис. 38. Теперь при каждом выборе пункта «Программирование» отмеченные команды будут выполнены автоматически в той последовательности, в которой они перечислены в окне.
На этом описание оболочки программирования PonyProg закончено. Следующие разделы будут посвящены описанию особенностей программы аналогичного назначения IC-Prog.
cxema.my1.ru
У пони прога есть единственный плюс (а может быть и минус), он не дает запрограммировать некоторые фьюзы, которые иногда еще называют опасными (например RSTDSBL, DWEN, SPIEN). Если случайно запрограммировать такой опасный фуз, то вы отключите возможность пользоваться ISP программатором, МК заблокируется, для восстановления МК нужен будет параллельный программатор (высоковольтный).
Пользоваться программаторами типа «5 проводков” не рекомендую, есть облегченный вариант программатора STK-200, который так-же построен на нескольких проводках, собирать его я так же не рекомендую, по той причине что таким программатором очень легко спалить LPT порт, для сравнения COM порт спалить в разы труднее. Да и потом, программируя «5ти проводками” можно случайно замкнуть эти провода между собой, спалить МК или опять же порт. Использование буферного повторителя в микросхеме улучшает крутизну фронтов сигнала, а так же бережет LPT порт, от случайных КЗ и перенапряжений.
Ниже представлена схема программатора STK200:
Как видите, схема очень простая, построена всего лишь на 1 микросхеме, отечественный аналог этой микросхемы КР1533АП5. В схеме присутствуют 3 светодиода: питание, чтение, запись. Длина соединяющих проводов должна быть как можно короче.
Собранный программатор выглядит вот так:
К программатору дополнительно нужно будет изготовить плату, на которой будут размещаться панельки под разные МК, впринципе, можно просто запаивать проводки к нужными выводам МК, как вам удобнее.
Ниже в архиве прикреплены все файлы для изготовления программатора, схема, печатная плата программатора и переходника для ATmega8/48/168, ATtiny2313, фотографии.
Для того чтобы проверить работает ли наш проргаматор, втыкаем его в порт LPT, кликаем правой кнопкой мыши на значке «Мой компьютер”, в появившемся списке выбираем «диспетчере устройств”, откроется окошко, кликаем обновить конфигурацию оборудования и на программаторе моргнут светодиоды чтения/записи. Кстати, питание берется от внешнего источника, а не с LPT порта, будьте внимательны.
Главным преимуществом параллельного программатора является способность восстанавливать некоторые неправильно установленные биты. После этого интерфейс ISP отключается, и при программировании последовательным программатором в таких случаях выдается сообщение об ошибке.
Выбор программы и программирование.
Популярными программами для записи программы в МК являются PonyProg и CodeVision AVR. Я пользуюсь Code Vision AVR (далее CVAVR), но рассмотрим мы обе программы. Впринципе, можете пользоваться любыми другими программами, только запомните одно очень важное замечание, в разных программах фьюзы могут выставляться по разному, т.е. зеркально.
В первую очередь втыкаем программатор в нужный нам порт, только сначала ставим микроконтроллер в панельку. Питание подавайте после того как воткнете программатор в порт. Для того чтобы запрограммировать МК нам нужны файлы прошивки, файл с расширением .hex, в некоторых проектах используется еще файл EEPROM .eep. (электрически изменяемая память данных, в нем хранятся различного рода константы).
И не забываем про фьюзы если они выставляются, обычно в статьях всегда прикрепляют картинку или пишут какие фьюзы выставлять.
Рассмотрим прошивку МК с помощью программы PonyProg.
1) Запускаем программу, выскочит окошко (возможно проиграется звук), нажимаем ОК.
2) Далее в списке микроконтроллеровнужно выбрать наш МК, кликаем меню «Устройство”, затем выбираем AVRmicro -> ATmega8.
3) Теперь нам нужно выбрать файлы прошивки, для этого кликаем Файл -> Открыть файл программы (FLASH)… . Откроется окошко, где нам нужно выбрать наш файл прошивки с расширением .hex.
4) В окошке не забываем в списке выбрать нужное нам расширение файла, иначе файл прошивки не обнаружится.
После того как откроем файл окошко будет заполнено непонятными цифрами и буквами:
5) Теперь точно также нужно выбрать файл другой файл прошивки EPROOM с расширением .eep, если конечно он прилагается. Как я уже говорил, чаще нужно пошивать только .hex.
Если вы еще не воткнули программатор и не подали на него питание, сделайте это. Не забудьте вставить МК в панельку, не перепутайте положение в панельке, обратите внимание на насечку или кружок на корпусе МК, оттуда и начинается отсчет ножек.
6) Кликаем Установки -> Настройка оборудования. Все настройки выставляем как на рисунке ниже, затем нажимаем кнопку «Проверка” – должно выйти окошко «Тест ОК”
Если этого не произошло и вышла окошко с надписью «Тест ОШИБКА”
кликаем правой кнопкой мыши на значке Мой компьютер и выбираем Диспетчер устройств или можно зайти в Панель управления -> Система -> Оборудование -> Диспетчер устройств.
Выйдет такое окошко, в списке находим Порты (COM и LPT ), кликаем правой кнопкой мыши на нем и нажимаем «Обновить конфигурацию оборудования”.
Затем закрываем окно, и возвращаемся к PonyProg, повторяем пункт 6, нажимаем «Проверка”, должно выйти окошко с надписью «Тест ОК”.
7) Нажимаем «ОК”, далее тыкаем меню Установки -> Калибровка, нажимаем Yes.
Выйдет сообщение об успешно проведенной калибровке, нажимаем ОК .
8) Сейчас нам нужно будет выставить фьюзы, если в вашей конструкции фьюзы не выставляются, переходите к следующему пункту. Кликаем Команды -> Security and Configuration Bits… откроется окошко для установки фьюзов.
Ставим строго те галочки, которые нам нужно, для моего проекта нужно выставлять следующие фьюзы: BOOTSZ1, BOOTSZ0, BODEN, CKSEL3, CKSEL2. Затем нажимаем ОК. Фьюзы при программировании нужно выставлять только те что указано, если запрограммируете ненужные вам фьюзы, МК может залочиться, разблокировать его потом будет очень сложно, нужен будет более сложный программатор чем наш, будьте внимательны! Записывать программу в МК можно без выставления фьюзов – заработает затем устройство или нет, это другой вопрос, если даже и заработает, может очень сильно тормозить, или будет работать частично, это ничем не грозит, МК лочится только после неправильно выставленных фьюзов. В некоторых проектах могут использоваться фьюзы, которых может не оказаться в PonyProg, например SPIEN, этот фьюз отключает возможность внутрисхемного программирования, поэтому во многих программах не показывается специально, чтобы вы случайно его не установили.
9) Теперь все готово, и можно прошить микроконтроллер, нажимаем Команды -> Записать все. Если вы еще не передумали, то в окошке которое вышло, нажимаем «Yes”, и начнется процесс записи и проверки.
После чего выйдет сообщение об успешном завершении операции.
Все, тепереь можно вынимать МК из программатора и проверить наше устройство, если вы все сделали все как я расписал, все будет работать, Если по какой то причине устройство не заработало, возможно допущены ошибки при сборке программатора, пепепроверьте все и попробуйте еще раз перепрошить МК.
10) Если спустя какое то время вам захочется сменить прошивку, или использовать МК для другого проекта, то снова вставляем его в программатор, подключаем тот к ПК, открываем программу, кликаем Команды -> Стереть, программа сотрет все данные с МК.
Стирать данные совсем не объязательно, при записи новой программы, старая программа сотрется автоматически, и только потом запишется новая.
Что касается программы PonyProg, в разных версиях свой список устройств, если в вашей версии программы вы не можете найти в списке МК скажем ATmega32, скачайте другую версию.
печатные платы для программатора.
cxema21.ru
Устанавливаете файл setup.exe, затем можете русифицировать, закинув файлponyprog2000.exe в установленную папку, ответив «да» на вопрос «вы хотите заменить существующий файл?».
После установки запускаем в компьютере программу PonyProg. Появляется окно приветствия (поставьте галочку «Выключить звук» чтобы жена не пугалась при последующих запусках программы!):
Появятся еще два окна по очереди по мере нажатия «Ок»:
Нажали «Ок». Всё, сейчас программа открыта!
Сейчас нужно сделать калибровку и настроить оборудование. В меню – Установки выбираем «Калибровка»
Соглашаемся. Появится сообщение «Калибровка завершена«. Нажимаем «Ок«.
В Меню – Установки выбираем «Настройка оборудования»
Выбираем порт «Последовательный» в сплывающем меню выбираем тип программатора JDM API. Из четырех возможных вариантов COM портов выбираем активный, или если несколько активных портов – тот, к которому вы подключили оборудование. В моем случае – это единственный COM1.
1. Если вы хотите прошивать микросхему памяти 24CXX, то необходимо поставить галочку на «Инвертировать Reset» а остальные оставить без галочки. Вот настройки для микросхем памяти EEPROM 24CXX такие, как показано ниже на рисунке:
Важно! Смотрите как нужно соединить джампера на плате:
— 5 джамперов (перемычек)
— 7 джамперов (перемычек)
2. Если хотите прошивать микроконтроллеры PIC, то настройки должны быть как на рисунке:
Важно! Смотрите как нужно соединить джампера на плате:
— 5 джамперов (перемычек)
— 7 джамперов (перемычек)
Нажимаете Ок. Теперь программа настроена!
Для того, чтобы программатор прошивал на ура, его программная часть должна иметь приоритет реального времени, для этого:
1. нажимаете Ctrl+Alt+Delete
2. Откроется диспетчер задач, где нужно проделать следующее:
То есть задать программе PonyProg2000.exe приоритет реального времени.
После всего проделанного выбираем тип микросхемы, какой мы хотим прошить
Затем в меню Файл – Открыть выбираем файл прошивки для данной микросхемы.
Для запуска процесса записи (прошивки микросхемы) нажимаем кнопку, которая показана красным выделением ниже:
Программа спросит вас о том, что прошивка будет записана поверх данных, которые есть на данный момент в памяти микросхемы.
Если согласны, нажимаете «Ок» и начнется запись данных в микросхему.
При прошивки PIC микроконтроллеров на плате оборудования во время записи и чтения загорается красный светодиод.
После завершения процесса записи программа выдаст сообщение об успешной записи.
(Следующее не обязательно!) Для самостоятельного удостоверения в правильности записи данных можете считать память микросхемы и сверить символы в начале кода и в конце считанных данных и данных, которые вы записали только что, если они совпадают, то с уверенностью можете впаивать микросхему на плату вашего изобретения и проверять его работу.
Файлы к статье Настройка программы ponyprog2000
2zv.ru