Программатор "ICProg 105" Описание основных функций и возможностей

Для начала нужно сказать, что данный программатор можно взять здесь - архив icprog105c-a.rar. Этот программатор не требует инсталляции, достаточно распаковать архив, и программа готова к работе. При своей простоте интерфейса и минимальном размере дистрибутива, (примерно 2,7МБ) этот программатор заметно отличается своими возможностями и эргономичностью от других программаторов подобного типа. В этой статье я остановлюсь только на основных функциях и возможностях этой программы в отношении программирования PIC контроллеров PIC16F84 и PIC16F628, 628A, 628A-I/P. ICProg 105c-a имеет в своем составе очень большую базу поддерживаемых контроллеров, а так же FLASH и EEPROM, что немаловажно: с его помощью можно работать со смарт - картами (имеется помощник программирования смарт - карт). На картинке показан интерфейс и список поддерживаемых устройств.

Программатор ICProg 105c-a.

Как видно из картинки, ПИКов предостаточно. Предполагается что к компьютеру, через COM - порт, подключена аппаратная часть программатора PonyProg, информацию по изготовлению которой можно найти на сайте Корабельникова Евгения Александровича http://ikarab.narod.ru При использовании этой аппаратной части совместно с программой ICProg 105c-a, никаких доработок ее принципиальной схемы не требуется. После запуска программы, в большинстве случаев, автоматически происходит инициализация подключенного COM порта, т.е. тест можно не производить, хотя в меню (настройки) функция тестирования имеется. По всей видимости, это сделано для нестандартных случаев. Кстати, программа ICProg 105c-a работает так же и с физическими программаторами, поддерживающими LPT - порты. Далее, в меню настройки - опции, открываем вкладку программирование, и ставим галочку в окошке проверка при программировании.

Основные опции программатора ICProg 105c-a

После выбора этой опции, сообщение об ошибке будет выдаваться сразу же после ее возникновения, и не нужно будет дожидаться окончания полного цикла программирования и проверки данных, зашитых в ПИК, для того, чтобы получить это сообщение (в случае наличия ошибки). Здесь же можно выставить и язык интерфейса. Все остальное оставляем по умолчанию. Далее заходим снова в меню настройки - программатор или просто жмем клавишу F3 и попадаем в опции настройки физического программатора: в нашем случае это аппаратная часть программатора PonyProg. Здесь все должно быть выставлено, как показано на картинке. Программатор PonyProg здесь представляется как (JDM)Programmer: это что - то вроде универсального программатора, работающего с COM портом. Имеется большой выбор поддерживаемых программаторов, работающих, как было сказано выше, и с LPT портами.

Настройки портов.

Все остальное оставляем по умолчанию. Хочу отметить, что, при использовании другого JDM программатора под COM порт, эти опции могут отличаться. Например, в поле параметры сигналов, нужно будет поставить галочку в поле Инверсия Данных Ввода, а Инверсию Данных Вывода снять. Далее, в окне выбора программируемых устройств, показанном на этом рисунке.

Выбор микроконтроллера

Выбираем PIC контроллер, который будет программироваться. Программируемый ПИК должен выбираться именно тот, который используется в действительности, т.е. если это PIC16F628A то именно его из перечня и выбираем, но никак не PIC16F628, иначе, при программировании, получим сообщение об ошибке типа - (неизвестное уст - во). Через меню файл, открываем подготовленный HEX файл. После загрузки файла, в окне конфигурация, можно наблюдать состояние битов конфигурации, которые были определены в “шапке” программы. Здесь показаны все установленные биты конфигурации, а также и тип тактового генератора м/контроллера: в большинстве случаев это будет стандартный кварцевый генератор (XT). В строке состояния будет указываться тип используемого программатора, номер COM - порта к которому он подключен, а также тип выбранного программируемого устройства.

Строка состояния

Строка состояния.

После всех этих манипуляций, жмем кнопку или клавишу F5, и ждем окончания процесса программирования. Если при старте сообщения об ошибке нет, то, на практике, это, на 99,9%, означает, что процесс программирования пройдет успешно. Сказанное выше, справедливо для операционных систем Windows 9x и Windows ME. С Windows XP дело обстоит немного иначе, о чем будет сказано ниже. Необходимо особо отметить, что в ICProg 105хх имеется очень полезный для программистов встроенный дизассемблер, с помощью которого можно преобразовать “прошивку” (файл с расширением .HEX) в исходный ассемблерный код (файл с расширением .ASM), а это предоставляет возможность детального разбирательства с восстановленным таким образом текстом программы. Дизассемблирование происходит так: сначала стандартным образом открывается HEX файл, после чего щелкаем по кнопке и получаем ASM файл. Правда, для того чтобы в полной мере “расшифровать” текст ASM файла, полученного таким образом, и понять алгоритм работы программы, нужно быть программистом и обладать определенными навыками работы, плюс изрядно потрудиться. Что бы вернуться обратно к HEX файлу, достаточно нажать кнопку . Так что, в этом отношении, все очень удобно и универсально. Однако, на мой взгляд, есть у этой программы и некоторые недостатки. К ним можно отнести:

И последнее, на чем хотелось бы заострить внимание, это то, что до последней версии указанной в заголовке статьи, ICProg 105xx некорректно работал с операционной системой Windows XP. В ICProg 105c-a все эти недостатки исправлены, хотя, по этому поводу, еще встречается много кривотолков при обсуждении данной темы на форумах. Остается только отметить необходимые условия и настройки программы для работы с Windows XP, которые были описаны на форумах и проверены лично мной: у меня, все работало без проблем. В первую очередь, для тех, кто работает с XP, нужно, с сайта разработчика, помимо самой ICProg105c-a, скачать специальный драйвер (архив icprog_driver), который нужно распаковать в директорию, где находиться сама программа ICProg105c-a. После запуска программы, в меню настройки - опции, на вкладке общие, устанавливаем опцию Вкл./NT/2000/XP/драйвер. Далее система спросит, установить драйвер или нет, естественно соглашаемся, и она его находит автоматом, т.к. он лежит там же где и сама прога. В настройках программатора, т.е. в меню настройки - программатор (F3), оставляем все без изменений. В заключение хотелось бы отметить, что, благодаря именно этому программатору, мне удалось прошить PIC16F628A - I/P. Запрограммировать его в других программаторах, в том числе и в PonyProg, было не возможно: при старте появлялось сообщение о неизвестном устройстве. Если это сообщение игнорировать, то процесс программирования начинался, но в ПИК зашивались все нули. Хотя в PonyProg 206 и включена поддержка PIC16F628, но это не PIC16F628A, то есть, вероятно, существует явная разница между этими ПИКами.

Главная