Download

Что это такое, и почему оно появилось

Был когда-то замечательный программатор ludipipo для PIC16F84, который состоял всего из восьми деталей: трех резисторов, диода, крен'ки, конденсатора, разъема DB9 и панельки.

Прошло несколько лет, и фирма Microchip выпустила новое поколение flash-микроконтроллеров PIC16F87x. Ludipipo с ними тоже работал, но им можно было прошивать только первые 1K программной памяти и первые 64 байта EEPROM, т.е. только тот объем, который был в PIC16F84.

Возникла проблема, как же прошить все 8K в новом PIC16F876 ?...

И я решил потратить выходные на написание нового софта для старого программатора.

Ключи командной строки (Они же команды меню)

PORT:COMx Выбрать порт, к которому подключен программатор
DEVICE:PIC16F8xx Выбрать тип микросхемы: PIC16F84, PIC16F873, PIC16F874, PIC16F876 или PIC16F877 Буфер при этом очищается.
LOAD:filename Загрузить буфер программатора из HEX-файла.
Содержимое буфера изменяется только по адресам, указанным в HEX файле, т.е. можно делать "слияние" нескольких HEX-файлов.
Используется "Microchip'овский" формат HEX-файла: программная память начитается с адреса 0x0000, Fuses с 0x4000, EEPROM с 0x4200.
SAVE:filename Сохранить буфер программатора в HEX-файле.
PROGRAM Прошить микросхему.
READ Прочитать микросхему.
ERASE Стереть микросхему.
BLANKCHECK Проверить, "чистая" микросхема или нет. Полезно выполнять после команды ERASE.
VERIFY Сравнить содержимое микросхемы с содержимым буфера программатора. Полезно выполнять после команды PROGRAM.
QUIT Выйти из программатора. Это нужно, например, для запуска программатора из BAT-файла.

Командная строка здесь - это список команд, которые программатор должен выполнить последовательно одну за другой. Поэтому порядок команд имеет значение, например:

PPIC.EXE PORT:COM4 DEVICE:PIC16F876 LOAD:MY1.HEX PROGRAM QUIT

выбран порт COM4
выбран тип микросхемы PIC16F876
загрузка буфера программатора из файла MY1.HEX
прошивка микросхемы
выход из программы

PPIC.EXE PROGRAM PORT:COM4 DEVICE:PIC16F876 LOAD:MY1.HEX QUIT

Неправильно:
команда PROGRAM будет использовать значения по умолчанию, т.е. COM1, PIC16F84 и пустой буфер.

При выполнении команд из командной строки (в отличии от команд из меню) сообщения об успешном завершении операций не появляются. При аварийном завершении операции сообщение все равно появится, и если в командной строке есть операции, следующие за той, которая вызвала ошибку, то они не будут выполнены.

Оригинальная схема программатора (для PIC16F84)

Схема программатора для PIC16F876


DP, 09.03.2000