PonyProg – свободный программатор (программная часть программатора) для считывания и записи программы микроконтроллеров и ПЗУ с последовательным интерфейсом программирования. В силу своей простоты и дешевизны изготовления аппаратной части программатор получил широкое распространение.
Принцип работы PonyProg
К параллельному (LPT) или последовательному (COM) порту IBM PC-совместимого компьютера подключается аппаратная часть программатора. Поддерживаются следующие аппаратные интерфейсы AVR ISP (STK200/300), JDM/Ludipipo, EasyI2C и DT-006 AVR (от Dontronics). На компьютере запускается программное обеспечение PonyProg, в программатор устанавливается микроконтроллер или микросхема ЭСПЗУ. После предварительной настройки в память (EEPROM – память данных, Flash – память программ) будет записана микропрограмма, скомпилированная специально для устройства с помощью сред разработки для микроконтроллеров, например, для семейства контроллеров AVR. Кроме того, PonyProg может считать данные из EEPROM и микропрограмму из памяти микроконтроллера.
Возможности PonyProg
PonyProg поддерживает следующие интерфейсы для связи с программируемым микроконтроллером:
- Microwire
- SPI EEPROM
- Atmel AVR и Microchip PIC micro
Поддерживаемые операционные системы: все 32-битные версии Microsoft Windows (95, 98, NT, 2000 и XP), все соответствующие POSIX (Linux, BSD и UNIX-подобные).
В список поддерживаемых устройств входит большинство распространённых PIC и AVR микроконтроллеров и различные виды микросхем памяти.
является свободно распространяемой GNU-программой с открытым исходным кодом и предназначен для программирования flash-микросхем с последовательным доступом.
PonyProg написан итальянцем Клаудио Ланконелли (Claudio Lanconelli) и существует в Windows (9x/ME/NT/2000/XP) и Linux версиях. Имеет поддержку русского языка. Может использовать параллельный порт (LPT) или стандартный последовательный порт (COM).
|
С помощью PonyProg можно загружать данные в микроконтроллеры Atmel AVR и MicroCHIP PicMicro, а также программировать микросхемы памяти с последовательным доступом (I2C Bus, Microwire, SPI eeprom).
Полный список программируемых микросхем можно прочитать на сайте PonyProg , а скачать эту замечательную программу со страницы http://www.lancos.com/ppwin95.html или из раздела Downloads сайта .
Помимо всего вышеперечисленного, PonyProg предоставляет возможность редактирования текста программы на уровне изменения значения байтов.
Чтобы загрузить уже готовую программу с помощью 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 файл с откомпилированной программой.
Как получить файл с откомпилированной программой с помощью среды WinAVR, можно прочитать в статье
Постоянный адрес статьи:
PonyProg - программатор (а точнее его программная часть), который умеет производить операции записи и считывания данных с ПЗУ и программ микроконтроллеров. Использовать его, в подавляющем большинстве случаев, необходимо с физическим устройством-программатором, который получил большую популярность из-за своей невысокой цены и простоты в использовании. Кроме того, он поддерживает очень много различных EEPROM и может подключаться к компьютеру посредством COM-порта. Он работает с интерфейсами оборудования AVR ISP, DT-006 AVR, EasyI2C и Ludipipo, а также поддерживает постоянные запоминающие устройства с последовательным доступом.
Принцип работы PonyProg построен на изменении значений байтов в коде микропрограммы, а также программировании FUSE-битов. Ее очень часто используют для "взлома" автомобильных магнитол и некоторых очень старых мобильных телефонов. Тем не менее, сфера применения программатора на этом не ограничивается. Особенной популярностью PonyProg пользуется у обладателей принтеров с чернильными картриджами. Дело в том, что из-за дороговизны новых картриджей в "народе" принято заправлять старые чернилами, тем самыми экономя огромное количество денежных средств. Проблема в том, что многие производители принтеров добавляют в свои устройства защиту, которая не позволяет повторно использовать картридж, исчерпавший свой ресурс чернил. Информация о "непригодности" записывается в микропрограмму картриджа. Так вот, с помощью PonyProg можно внести изменения в эту самую микропрограмму, тем самым заставив принтер "думать" что он работает с совершенно новым картриджем. Делается это элементарно и занимает всего пару секунд.
Ключевые особенности и функции
- работа в паре с "физическим" программатором;
- устаревший но очень понятный интерфейс (полностью переведен на русский язык);
- поддержка интерфейсов EasyI2C, JDM / Ludipipo, AVR ISP и DT-006 AVR;
- работа с постоянными запоминающими устройствами с последовательным доступом;
- "взлом" многих моделей автомобильных магнитол, старых мобильных телефонов и картриджей с чернилами;
- подключение к компьютеру посредством COM-порта.
PonyProg - программатор микросхем с последовательным (COM) и параллельным (LPT) доступом, поддерживаемый системами Windows 95/98/ME/NT/2000/XP и Intel Linux. Программатор поддерживает IIC BUS, Microwire, SPI eeprom, Atmel AVR и PICMicro интерфейсы.
PonyProg может считывать и записывать программный код или данные, редактировать текст программы путем модификации значений байтов, очищать память и программировать FUSE-биты.
Программатор может быть использован как для программирования микросхем собственных проектов, так и для раскодировки автомагнитол, мобильных телефонов, ремонта телевизоров и т.д.
Список поддерживаемых устройств, возможностей программы и схем аппаратной части для различных интерфейсов находится на оф. сайте: www.lancos.com .
Установка PonyProg
Запускаем файл setup.exe , после установки русифицируем программу, закинув файл PonyProg2000.exe в папку программы, с заменой существующего файла.
Настройка и прошивка
При первом запуске появляется окно приветствия (поставьте галочку Выключить звук ).
PonyProg попросит произвести калибровку и указать тип используемого программатора с помощью двух предупреждающих сообщений.
После делаем калибровку и настраиваем оборудование. В меню Установки выбираем Калибровка .
Нажмем Yes ждем несколько секунд. Появится сообщение об успешном завершении.
После в меню Установки выбираем Настройка оборудования
В появившемся окне выберем порт и способ работы с этим портом (на данном изображении настройки для работы с программатором для ОС Windows2000/XP через LPT port).
Внимание! Не указывайте порт, к которому подключен модем: это может вывести его из строя.
Выбираем тип микросхемы воспользовавшись меню Устройство .
Затем в меню Файл выбираем Открыть файл прошивки для микросхемы.