1 Инсталляция PonyProg зависит от операционной системы


Для Windows XP  просто запустите Setup.exe и следуйте инструкциям.

Для Linux вам нужна инсталлированая библиотека V library v1.20 и компилятор GNU g++. Если вы хотите использовать параллельный порт вам нужен также ядро версии 2.2.x и модули ядра parport, parport_pc и ppuser.

Воидите в систему как главный и следуйте инструкциям:

Скопируйте скачаный файл в директорию, например /usr/local/src и разверните командами "tar xvfz ponyprog.tar.gz", потом войдите в директорию ponyprog.

Сделайте ссылку на файл конфигурации V, файл Config.mk в корневой директории библиотеки V :

"rm -f Config.mk; ln -s ~/v/Config.mk ./Config.mk"

Создайте выполняемый файл и инсталлируйте с помощью "make linux; make installLinux" для статически выполняемого файла или

"make linuxelf; make installLinuxElf" для динамически выполняемого файла.

Выполняемый файл должен быть инсталлирован в /usr/local/bin. Вы должны запускать его под окружением X-Window. Перед запуском вставьте модули в ядро (insmod parport; insmod parport_pc; insmod ppuser).

После первого запуска программа запоминает выбранные порт и интерфейс, которые вы выбрали через Setup. Если программа выдаёт при запуске на экран сообщение "The interface don't respond" , Это означает, что вы неправильно сконфигурировали порт, или программатор не подключен.

Вы также должны откалибровать программу с помощью Calibration.

2 Команды меню. Далее будут описаны все меню и команды, которые они содержат.

  • 2.1 File - Файл
  • 2.1.1 New - Новый
  • 2.1.2 Open - Открыть Открывает файл, и показывает его содержимое в текущем окне. PonyProg распознаёт 4 различных файловых формата:e2p, intel hex, motorola S-record и двоичный. Если для файла не указано расширение e2p, он будет открыт как intel hex; если же и это не получится, тогда он будет открыт как двоичный. Если файл в формате e2p, вы должны позаботиться о правильной установке типа используемой микросхемы, поэтому вы должны сначала правильно выбрать тип микросхемы, а затем уже загрузить файл. Если вы хотите загрузить файл для Atmel AVR, будьте уверены в том, что вы сначала считываете содержимое FLASH, а затем содержимое EEPROM. Поэтому вы должны сконфигурировать ассемблер AVR для генерации формата Intel hex с расширением .hex для FLASH и .eep для EEPROM. Содержимое EEPROM должно выдаваться на экран после содержимого FLASH в текущем окне.
  • 2.1.3 Save - Сохранить
  • 2.1.4 Save as. Записывает файл с указанием имени. Внизу диалогового окна вы можете выбрать формат записываемого файла (показывается как расширение). По нажатию кнопки OK содержимое текущего окна записывается в файл с заданными именем и форматом. Я рекомендую записывать всегда файл в формате e2p, потому что тип микросхемы и ваши комментарии сохраняются в файле. А .bin распространенный файловый формат, рекомендуется для записи при использовании этого файла другими программами.
  • 2.1.5 Print - Печать
  • 2.1.6 Close - Закрыть
  • 2.1.7 Exit - Выход
  • 2.2 Edit - Редактировать
  • 2.2.1 Edit note - Редактировать примечание. Открывает диалоговое окно, где вы можете написать название микросхемы и свои примечания. Эти два поля сохраняются вместе с содержимым бефера в файле формата e2p (см. Open - Открыть). В эти два поля можно вносить любые текстовые комментарии, они очень удобны чтобы описывать содержимое файла (для какого аппарата предназначена прошивка, краткое содержание версии прошивки).
  • 2.2.2 Edit buffer enabled - Редактирование буфера разрешено. Вы должны поставить флажок возле этой надписи, если хотите отредактировать содержимое буфера. Редактирование осуществляется кликаньем по байтам буфера. Появится окно редактирования (как показано на рисунке) Существуют 2 режима редактирования: шестнадцатеричный и текстовый. Если вы кликните на шестнадцатеричной части окна то вам будет предложено ввести число в шестнадцатеричном или десятичном виде или символ. Если вы кликните по символьной части окна, то вам будет предложено ввести символьную строку. Вы можете использовать стандартные функции Windows: Вырезать, Копировать, Вставить в появившемся диалоговом окне.
  • 2.3 Device - Устройство
  • 2.3.1 Select - Выбор. Выбор типа программируемой микросхемы. Вы должны установить тип используемой микросхемы перед чтением/записью. Выбор типа "Auto XXX"  означает, что микросхема будет определена автоматически во время чтения или записи. Существует несколько различных семейств микросхем: I2C Bus ПЗУ адресуемые байтом, I2C Bus ПЗУ адресуемые двумя байтами, ПЗУ Microwire, ПЗУ SPI, микроконтроллеры AVR и PIC. Вы можете выбрать семейство микросхем из ниспадающего списка меню или там-же выбрать конкретную микросхему. Выбранный тип микросхемы запоминается в файле .INI, и при следующем запуске будет выбран автоматически. Для чтения и записи I2C Bus ПЗУ отличных от 24xx (таких как SDE2526, SDA2546, SDA2586, SDA3546, SDA3586) выберите "24XX Auto".Микросхема 24C01 может быть считана, но не может быть записана. Вы можете считать её как 2402 или 24XX Auto. Но вы можете заменить микросхему 24C01 на 24C02, потому-что она полностью совместима с 24C01.
  • 2.3.2 Read - Чтение. Считывает содержимое ПЗУ в текущее окно.  Эта операция может занять значительное время, но диалоговое окно будет показывать процент выполнения.Если вы хотите прервать процесс чтения просто нажмите "Abort". По окончании программа покажет результат чтения. Если программа выдаёт сообщение "The device not responding" это означает, что нет связи с микросхемой или программатор сконфигурирован неправильно (см. Setup - Настройка). Но не для всех микросхем программа может выдавать такое сообщение, некоторые микросхемы считываются как все 0 или FF (если микросхема не подключена). Программа поддерживает проверку чтения для серии 24XX и "AT90SXX Auto". В некоторых случаях, когда выбран тип   "AT90SXX Auto", программа выдаёт сообщение "The device is locked" - это означает, что чтение блокировано прошитым битом защиты. Вы не можете считать защищенные микросхемы, но можете прошить см. Write - Запись. Начиная с версии 1.15c если вы выбираете семейство AVR (например AT90S2313) и считываете микросхему, программа сначала её проверяет. Если микросхема отсутствует, или защищена, или микросхема чистая (новая) выдаётся предупреждающее сообщение. Вас вежливо попросят прекратить чтение, попробовать ещё раз или игнорировать эту ошибку. Если микросхема новая, то просто выберите "Ignore".
  • 2.3.3 Write - Запись. Записывает содержимое текущего окна в микросхему. Выводится диалоговое окно для подтверждения этой необратимой операции.Если запись продолжается длительное время, то выводится индикатор выполнения. Если вы хотите прекратить запись, нажмите кнопку "Abort". После записи проводится автоматическая проверка. По окончании выводится окно с результатами записи. Перед тем как начать запись, я советую выбрать точный тип микросхемы, а не "24XX Auto" или "AT90SXX Auto". Если вы выберете тип "AT90SXX Auto" и попытаетесь прошить защищённую микросхему, получите сообщение: "The device is locked". Когда оба ПЗУ будут записаны flash и eeprom, (например в микроконтроллерах AVR), только тогда начнется проверка .Начиная с версии 1.15c каждая микросхема AVR тестируется (см. Read - Чтение).
  • 2.3.4 Verify - Проверка. Сравнивает содержимое микросхемы с текущим буфером. Если проверка продолжается длительное время, то выводится индикатор выполнения. Если вы хотите прекратить проверку, нажмите кнопку "Abort".По окончании выводится окно с результатами проверки.
  • 2.3.5 GetInfo - Получить информацию. Показывает информацию на данную микросхему. Некоторая информация показывается также в строке статуса внизу главного окна. Размер буфера, еквивалентный емкости ПЗУ. Для микроконтроллеров AVR показывается суммарный объём flash и eeprom. Контрольная сумма (CRC) содержимого буфера. Bank roll over. It's a characteristic of some old I_C Bus eeprom. You can't simply replace a "roll-over eeprom" with a "no roll-over eeprom". Защита и наличие БЛОКА МНОГОКРАТНОЙ ПЕРЕЗАПИСИ. Микросхема 24C65 имеет возможность защитить какой-либо блок от записи, или задать какому-либо блоку установку на 10 миллионов циклов записи. (см. Write security - Запись защиты для изменения).
  • 2.3.6 Reset- Сброс Сброс микросхемы. Функция нужна при записи микросхемы непосредственно в устройстве.
  • 2.4 Utility - Утилиты
  • 2.4.1 Double bank - Двойной банк. Эта функция дублирует любой банк в буфере и изменяет тип микросхемы на тип, имеющий двойную емкость относительно текущей. Банк - это группа из 256 байт для 24xx и двоичное слово для остальных. Эта функция удобна для замены SDA2546 на 24C08 или SDA2586 на 24C16. Чтобы сделать это возьмите "24xx Auto", подключите микросхему SDA2546 и произведите операцию Read - Чтение. Потом сделайте "Double bank", замените SDA2546 на чистую 24C08 и произведите Write - Запись.
  • 2.4.2 Byte swap - Замена байтов. Эта функция меняет местами байты в каждой паре байтов буфера. Эта функция предназначена для замены представления <младший впереди> на <старший впереди> и наоборот. Некоторые микросхемы используют 16-ти битное представление данных и с помощью этой функции вы можете выбрать наиболее удобное для вас. Например возьмем число 1234 hex (4660 decimal), <младший впереди> - это 34 - 12, <старший впереди> - 12 - 34.
  • 2.4.3 Write security - Запись защиты Эта функция применяется не для всех микросхем. В микроконтроллере AVR вы можете защитить программу и память eeprom от чтения использованием этой функции. Когда микросхема защищена, вы можете переписать её, но не можете считать. Если вы попробуете считать защищенную микросхему типа "AT90Sxx Auto", вы увидите сообщение "The device is locked"; вы должны точно указать тип микросхемы перед записью. В случае с микросхемой 24C65 программа спросит начало защищаемой зоны и количество защищаемых блоков. Когда микросхема защищена вы не сможете больше воспользоваться функциями "write security" или "write high endurance". Количество защищаемых блоков должно быть больше 0.
  • 2.4.4 Write high endurance - Запись БЛОКА МНОГОКРАТНОЙ ПЕРЕЗАПИСИ. Эта функция применяется только для микросхем 24C65. Программа запросит начало БЛОКА МНОГОКРАТНОЙ ПЕРЕЗАПИСИ. Если микросхема защищена, функция не будет работать.
  • 2.4.5 Clear Buffer - Очистка буфера. Заполняет текущий буфер числом FF.
  • 2.4.6 Fill Buffer - Заполнение буфера. Заполняет буфер выбранным числом. Программа запросит начало и конец заполняемого блока и число, которым будет заполнен блок. Вы можете ввести десятичное число (например 45), шестнадцатиричное (например 0x45) или восьмеричное (например 045).
  • 2.5 Options - Опции
  • 2.5.1 Setup - Установка Программа выдаст диалоговое окно, где вы можете выбрать тип подключаемого оборудования и номер порта, куда оно подключено. Вы можете выбрать насколько типов устройств: (см. схемы). Но только SI Prog поддерживает все микросхемы. SI-Prog отметьте "serial" и выберите "SI-Prog API" или  "SI-Prog I/O" в ниспадающем меню. Windows NT работает только с "SI-Prog API", Win95 и 98 работает с обоими "PonyProg API" и "PonyProg I/O", но последний быстрее. "SI-Prog I/O" под Linux нуждается в том, чтобы PonyProg был запущен как главный. Выберите COM-порт, который вы используете. Если некоторые порты запрещены это означает, что они используются другими программами или устройствами (обычно мышь или модем), или не установлены в компьютере. AVR ISP Parallel port interface отметьте "parallel" и выберите "Avr ISP" в ниспадающем меню. Выберите LPT-порт, который вы используете. Если вы будете программировать микроконтроллер AT89Sxx вы должны отметить "Invert Reset". Для использования этого устройства под Linux вам нужно ядро версии 2.2.x и модули ядра parport, parport_pc и ppuser. Вы можете использовать это устройство для чтения/записи микроконтроллеров AVR и микросхем ПЗУ SPI.. Ludipipo interface отметьте "serial" и выберите "SI-Prog API" или "SI-Prog I/O". Выберите COM-порт и отметьте "Invert D-OUT". Вы можете использовать это устройство для записи/чтения микроконтроллеров PIC16x84. Easy I2C Bus interface отметьте "serial" или "parallel", если вы подключили устройство к последовательному порту - выберите "serial", если к параллельному - "parallel". Под Linux вы должны запустить PonyProg как главный. Это устройство не работает под Windows NT. Внимание! Эта схема позволяет программировать микросхемы непосредственно в исследуемом устройстве. Но будьте осторожны, так как схема не имеет гальванической развязки с устройством и возможно повреждение параллельного порта в компьютере.
  • 2.5.2 Calibration - Калибровка нужна чтобы настроит скорость программы относительно быстродействия компьютера. Когда вы запустите калибровку убедитесь что PonyProg единственная запущеная программа, и нет записи/чтения с жесткого диска (посмотрите на светодиодный индикатор работы жесткого диска). Если ваш компьютер во время калибровки будет выполнять другие программы, калибровка будет произведена неверно и микросхемы не будут считываться/записываться или будут считываться/записываться нестабильно. После калибровки вы можете изменить значения скорости для каждого типа микросхем редактированием файла ponyprog.ini (.ponyprogrc под Linux): I2CBusSpeed=NORMAL    повлияет на 24Cxx и другие I2CBus микросхемы SPIBusSpeed=NORMAL    повлияет на AVR micro, AT89Sxx micro и 25xxx eeprom MicroWireBusSpeed=NORMAL    повлияет на 93Cxx eeprom PICBusSpeed=NORMAL    повлияет на PIC16x84 micro SDEBusSpeed=NORMAL    повлияет на SDE2506 eeprom Кажды параметр может быт значением: SLOW, NORMAL, FAST или TURBO.