"Мечта идиота" (точнее - лентяя)

— Доктор, скажите, а я после этой операции смогу играть на скрипке?
— Конечно, сможете!
— Странно, а до этого - не мог...

Ой как давно уже замучила меня необходимость каждый раз при малейшем изменении управляющей программы вынимать процессор из платы устройства, доставать с полки программатор, подключать это все к компьютеру, перешивать код, и затем снова возвращать процессор назад в устройство. А ведь это еще и не весь список "проблем" - можно и ножки у процессора погнуть, а то и сам процессор наоборот вставить (если был не внимателен). Короче - сплошной "напряг", не для нас, лентяев, всё это!...

Вариантов для "ублажения" моего лентяйства умные люди уже напридумали задолго до меня. Оставалось определиться с выбором и реализовать. Из предлагавшихся для выбора вариантов было: (А) разъем для внутрисхемного програмирования и (Б) бутлоадер. Первое - по сути - тот же программатор, только что процессор из платы устройства дергать не нужно. А вот второе - это уже целый интерфейс к ПК плюс небольшая програмка, живущая внутри процессора, и позволяющая "перепрошить" его основную программу. Звучит куда заманчивей! Не правда ли? Итак, первый шажок в "лабиринте выбора" сделан - бутлоадер!

Второй шаг - выбор интерфейса связи с ПК. При програмировании ПИК-контроллеров данные в них подаются в последовательном виде, следовательно и интерфейс должен быть последовательным. Вспомним-ка теперь - а какие последовательные интерфейсы торчат наружу из наших ПК? Да не так уж и много вариантов-то - COM (RS-232), FireWire (IEC-1394) или же USB. Если учесть, что (А) первому уже лет практически столько-же, сколько и самому термину "персональный компьютер", и он постепенно "уходит от нас", а (Б) второй - пока еще большая экзотика, то выбор мной третьего из них (USB) становится вполне очевиден...

Последний шаг - выбор самого ПИК-контроллера. Варианты: (А) выбрать контроллер "на свой вкус" и писать бутлоадер самостоятельно, или же (Б) использовать уже готовые вещи, но тогда - придется смириться с тем, что контроллер за нас уже выбрал тот, кто делал этот самый бутлоадер. Написать такую штуку как бутлоадер самому, да еще и такой, чтобы он "общался" с компьютером по шине USB - это еще и уметь нужно!!! А для таких лентяев, как я, инженеры ф. Microchip уже выполнили всё необходимое, и остается лишь с вот этой страницы выкачать файлик [F1] (размером 3,07 МБ)... На всякий случай (а то у Microchip-а периодически меняется вся "карта сайта") копию этого файла я сложил и в своей "файловой свалке" [F2] - а Вы можете "качать" с любой из этих ссылок. Нюанс состоит в том, что абсолютно всё software, имеющееся в указанном файле, рассчитано на использование микроконтроллеров ТОЛЬКО серии PIC18F2455/2550/4455/4550 и никаких других. Таким образом, увы, но этот выбор уже сделали за нас (по крайней мере, речь про ленивую "половину" населения)...

Итак, подведем предварительный итог. Результирующая "железяка" будет:

  1. выполнена на процессоре PIC18F2455/2550/4455/4550 (любом из них);
  2. в процессор будет прописан нестираемый бутлоадер;
  3. связь с компьютером будет осуществляться по шине USB.

Ну что ж, поехали...

«Железо»

С одной стороны, есть народная пословица: "В чужой монастырь со своим уставом не ходят". С другой - любая конструкция на (микро)процессоре - это т.н. "аппаратно-програмный модуль". И коль уж взял я готовую программу (в данном случае - прошивку), то и в аппаратной части необходимо повторить устройство, которому она была предназначена. Точнее, достаточно будет повторить не всё устройство, а лишь те его узлы, без которых эта прошивка работать не будет. "Подручной книгой", подлежащей анализу на тему того, какой будет необходимая "обвеска" процессора, является "Руководство пользователя к демонстрационной плате PICDEM™ FS USB" [D1], т.к. именно ее прошивку я и использовал. В данной книге в первую очередь нужно прочесть раздел "3.5 BOOTLOAD MODE" (стр. 24), одновременно поглядывая на принципиальную схему самого модуля PICDEM™ FS USB, напечатанную там же на стр. 54-56. Что нам дает этот анализ? Пройдемся по пунктикам...

"To start using the application, press and hold S2 while resetting the board (pressing and releasing S1). The entry condition on the PICDEM FS USB board and the provided firmware is determined by the status of the switch button S2, which is checked once after each reset. If the button is held down during a Reset, the microcontroller enters the bootload mode..."

Или, если по-русски:

"Для запуска приложения (в данном случае - бутлоадера), сбросьте устройство (нажав и отпустив кнопку S1), при этом удерживая нажатой кнопку S2. Начальное состояние платы PICDEM FS USB и выполняемая ей программа определяются состоянием кнопки S2, которое однократно проверяется сразу же после сброса. Если во время сброса кнопка S2 была нажата, то процессор входит в режим бутлоадера..."

Вот Вам и первый вынужденный элемент схемы - кнопка S2. Посмотрим, что она делает. Согласно схеме из [D1] (рис. A-2 на стр. 54) она закорачивает на "землю" вывод RB4 процессора. Все остальное время, пока кнопка S2 не нажата, резистор R13 "подтягивает" этот вывод к плюсу питания. Резистор R17 - защитный, он нужен, чтобы случайно не сжечь вывод процессора (при инициализации после сброса порт В настроен на выход). Таким образом, получается, что условием вхождения процессора в режим бутлоадера является факт наличия уровня логического "нуля" на выводе RB4 в момент сброса. Но, просто "посадить" вывод RB4 на землю нельзя - тогда при каждом включении процессор будет входить в режим загрузки новой программы (бутлоадер). Нам такое ни к чему - процессор при "нормальном" включении должен попадать в ОСНОВНУЮ рабочую программу. А вот в режим бутлоадера он должен попадать лишь только тогда, когда мы его об этом попросим... Не мудрствуя лукаво, установим в нашу схему такую же кнопку S2. А сигнал сброса мы сформируем банальной RC-цепью (при подаче питания) или же впишем в программу...

Следующий элемент, который нам придется поставить, это резистор R15 согласно все той же схемы из [D1] (рис. A-2 на стр. 54). Через этот резистор на вывод RA1 подается сигнал USB_ATTACH, сообщающий процессору, что он подключен к шине USB. Управляющая программа проверяет наличие этого сигнала перед началом обмена данными по USB.

Также, необходимым элементом является конденсатор С14 (согласно схемы рис. A-2 на стр. 54 из [D1]). Это фильтрующий кондесатор встроенного в процессор стабилизатора напряжения питания для USB-модуля.

Понадобится процессору и цепь сброса при подаче питания - резистор R10 и конденсатор C9 (см. рис. A-2 на стр. 54 в [D1]). Только мы немного упростим "путь прохождения" сигнала сброса на процессор - не будем ставить резистор R12 и джампер JP1. При этом, сигнал с точки соединения R10 и C9 мы подадим непосредственно на вывод MCLR ПИК-а. Ну и само собой разумеется, что процессору необходимо установить внешние цепи тактового генератора - кварцевый резонатор Y1 на частоту 20 МГц (почему - читайте ниже), резистор R11 и конденсаторы C7 и C8 (согласно схемы рис. A-2 на стр. 54 из [D1]). А также, и сам разъем, в который мы будем подключать кабель от компьютера (USB, тип В), обозначенный на схеме рис. A-3 на стр. 55 из [D1] как J1. И парочку дросселей (L1 и L2 с той же схемы) впридачу - зачем нам лишние помехи?..

В итоге наша схема (сохранена нумерация элементов, приведенная выше) будет выглядеть как показано на рисунке 1. Следует только учесть, что это не готовое устройство (мы ведь еще даже не задумывались над тем, что это будет), а лишь самый необходимый минимум.

Рис. 1 — Минимально необходимая "обвеска" PIC18F4550 для работы с бутлоадером
(!!! исправлено подключение резистора R15 - 5.05.2006)

И еще одно обстоятельство, с которым придется считаться, используя данный бутлоадер. Это - биты конфигурации процессора. Являясь по сути "програмной" частью, фактмчески они определяют аппаратные режимы работы процессора. Почитаем, что по этому поводу сказано в "Руководстве пользователя к демонстрационной плате PICDEM™ FS USB" [D1]:

"The PIC18F4550 microcontroller for the PICDEM FS USB board has a specific configuration setting that is necessary for the bootload program to function. The USB Voltage Regulator and device oscillator settings are both critical, and cannot be changed. Other settings, such as code protection, WDT and LVP, are less critical but may cause irreversible side effects..."

Или, если по-русски:

"Микроконтроллер PIC18F4550 в плате PICDEM FS USB имеет определенные значения битов конфигурации, требующиеся для функционирования программы бутлоадера. Значения битов, определяющих установки кварцевого резонатора а таже внутреннего стабилизатора питания для USB являются критическими, их менять нельзя. Другие параметры, такие как защита кода, "сторожевой таймер", "низковольтное программирование" менее критичны, но могут привести к нежелательным побочным эффектам..."

Прописанные в данном бутлоадере биты конфигурации и соответствующие значения определяемых ими параметров приведены в таблице:

Адрес регистра

Значение (hex)

Установленные парамеры

0x300000 (CONFIG1L)

0x24 (hex)

Тактовая частота USB-модуля получается делением на 2 выходной частоты PLL. Тактовая частота ядра процессора получается делением на 2 выходной частоты PLL. На вход PLL подается сигнал тактового генератора, деленный на 5.

0x300001 (CONFIG1H)

0x0E (hex)

Режим переключения генератора выключен. Fail-Safe Clock Monitor выключен. Тактовый генератор работает в режиме HS (внешний кварц), PLL включена.

0x300002 (CONFIG2L)

0x3F (hex)

Включен внутренний стабилизатор питания для USB. Сброс при снижении питания (Brown Out) только аппаратный, его пороговое напряжение - минимальное. Таймер задержки старта процессора после подачи питания (Power-Up Timer) выключен.

0x300003 (CONFIG2H)

0x1E (hex)

Пределитель "сторожевого таймера" (Watchdog Timer) максимален (32768), сам "сторожевой таймер" выключен.

0x300005 (CONFIG3H)

0x81 (hex)

Сигнал сброса (MCLR) разрешен, вход RE3 запрещен. Генератор Таймера 1 сконфигурирован для НЕ энергосберегающего режима. Разряды PORTB<4:0> сконфигурированы как линии цифровых входов/выходов по сбросу. Сигнал CCP2 выведен на конткат RC1.

0x300006 (CONFIG4L)

0x81 (hex)

Дебаггер отключен, RB6 и RB7 сконфигурированы как линии цифровых входов/выходов. Расширенный набор инструкций и Индексная Адрессация выключены (обычный режим). Низковольтное программирование (LVP) выключено. Сброс по переполнению/опустошению стека включен.

0x300008 (CONFIG5L)

0x0F (hex)

Защита памяти программ от считывания (для всех сегментов) выключена.

0x300009 (CONFIG5H)

0xC0 (hex)

Защита от считывания данных EEPROM выключена. Защита от считывания загрузочного блока (Boot) выключена.

0x30000A (CONFIG6L)

0x0F (hex)

Защита памяти программ от записи (для всех сегментов) выключена.

0x30000B (CONFIG6H)

0xA0 (hex)

Защита от записи данных EEPROM выключена. Защита от записи загрузочного блока (Boot) включена. Защита от записи битов конфигурации выключена.

0x30000C (CONFIG7L)

0x0F (hex)

Защита памяти программ от табличного считывания, выполняемого из других блоков выключена (для всех сегментов).

0x30000D (CONFIG7H)

0x40 (hex)

Защита загрузочного блока (Boot) от табличного считывания, выполняемого из других блоков выключена

Таким образом мы видим, что частота тактового генератора процессора (сконфигурированного на работу с внешним кварцевым резонатором !!!) делится на 5. Затем этот сигнал подается на внутреннюю PLL, формирующую на своем выходе частоту 96 МГц. Выходной сигнал PLL делится на 2 (получаем 48 МГц) и затем используется в качестве тактовой частоты как для ядра процессора, так и для USB-модуля. Необходимым дополнением к вышесказанному является лишь одна фраза из datasheet на процессоры PIC18F2455/2550/4455/4550, а именно: на вход PLL должен подаваться сигнал частотой 4 МГц. Исходя из этого, а также того, что согласно установленных битов конфигурации, перед подачей на PLL сигнал тактового генератора делится на 5, то использование кварцевого резонатора на 20 МГц нам "преопределено свыше"... Кроме того, "критической" установкой является (см. выше) использование внутреннего стабилизатора для питания USB-модуля (который, как мы видим в приведенной таблице, включен)...

Последнее обстоятельство, с которым нам придется считаться, является чисто програмным и его придётся учитывать уже на стадии написания основной программы будущего устройства. Еще раз процитируем "Руководство пользователя к демонстрационной плате PICDEM™ FS USB" [D1]:

"Since the hardware reset and interrupt vectors lie within the boot area and cannot be edited if the block is write-protected, they are remapped through software to the nearest parallel location outside the boot block: 0x0800 for Reset, 0x0808 for the High Priority Interrupt vector, and 0x0818 for the Low Priority vector. Remapping ..."

Или, если по-русски:

"Т.к. адреса векторов сброса и прерываний расположены в загрузочной области памяти программ и не могут модифицироваться, если этот блок защищен от записи, то в Бутлоадере эти вектора програмно переназначены на ближайшие параллельные позииции за пределами загрузочной области: 0х0800 для Вектора Сброса, 0х0808 для Вектора Прерываний Высокого Приоритета и 0х0818 для Вектора Прерываний Низкого приоритета..."

То есть, при создании основной програмы, которую впоследствии будем вшивать в ПИК, необходимо, во первых, указать с какого адреса памяти программ она стартует. А во вторых, с каких адресов "уходить" в обработчики прерываний. Ниже приведен пример реализации этих процедур на ассемблере:

;=============================================================================

; На адрес 0х0800 перенесен вектор сброса процессора

;=============================================================================

org 0x0800 ; Новый адрес вектора сброса

GOTO START ; Переходим на старт программы

;=============================================================================

; На адрес 0х0808 перенесен вектор прерываний с высоким приоритетом

;=============================================================================

org 0x0808 ; Новый адрес вектора прерываний высокого приоритета

GOTO HIGH_INT_ROUTINE ; Переходим на обработчик соотв. прерываний

;=============================================================================

; На адрес 0х0818 перенесен вектор прерываний с низким приоритетом

;=============================================================================

org 0x0818 ; Новый адрес вектора прерываний низкого приоритета

GOTO LOW_INT_ROUTINE ; Переходим на обработчик соотв. прерываний

Следует учесть, что вся остальная программа должна быть расположена уже после указанных комманд.

Из вышесказанного можно сделать и еще один вывод - Бутлодер занимает в памяти программ процессора 2 кБ (всю загрузочную область - т.н. "boot block"). Ровно на столько меньше памяти остается для основной программы...

"ЧТО" и "КАК" шить в ПИК

Увы, совсем уж без програматора обойтись не получится! Один раз он нам все-таки понадобится - чтобы "вшить" в процессор тот самый бутлоадер. Использованная мной ИСХОДНАЯ прошивка [F3] - это "родное" firmware от демонстрационной платы "PICDEM™ FS USB", поставляемое ф. Microchip внутри программы "USB Bootloader Setup.EXE". После её установки на Вашем компьютере в папке "C:\MCHPFSUSB\fw\_factory_hex\" (буква диска, естественно, та, которую Вы указали при установке) присутствует файл picdemfsusb.hex. Именно его копия и выложена у меня на сайте по ссылке [F3]. В этой прошивке "живет" не только бутлоадер, но и основная программа платы "PICDEM™ FS USB". Мне она была не нужна. Поэтому, "родную" прошивку я "упростил" (о том, как - читайте ниже). И в итоге, остался лишь "чистый" бутлоадер, который собственно и выложен у меня на странице по ссылке [F4].

Для прошивки ПИК-а я пользовался программатором "SCHAER+: PIC18 programmer", выполненным по схеме, взятой в интернете по адресу [D2]. Также, если хотите, можете взять на моем сайте документик [D3] - где в одном PDF-е сложено всё сразу: схема, плата, расположение деталей и зеркальное изображение дорожек для "лазерного утюга"...

Кроме того, для того, чтобы "вшить" бутлоадер в микросхему кроме программатора нам понадобится еще и программа. Лично я уже не первый год для программирования 18-х ПИК-ов пользуюсь программой "PP18 : Programmer for PIC18". Её страница в интернете - [D4]. На тот же самый "всякий" случай я выложил копию программы у себя - [F5]. Программа эта построена модульно - есть ее оболочка (универсальная для всех ПИК-ов), и уже к ней подключается dll-библиотека, соотвествующая выбранному процессору. Я у себя выложил копию файла 18F4550.dll - [F6]. Если же Вы планируете использовать другой процессор, то требуемую библиотеку Вы можете самостоятльно скачать со страницы [D4].

При первом запуске программы "PP18 : Programmer for PIC18" её нужно настроить на работу с требуемой dll-библиотекой (читай - выбранным процессором). Для этого правой кнопкой мыши нужно щелкнуть на изображении ZIF-socket-а в правой стороне интерфейса программы и выбрать пункт "Select Plug-in" (см. рис. 2 ниже). После этого нужно указать путь к выбранному dll-файлу.

Рис. 2 — Настройка программы "PP18 : Programmer for PIC18" - выбор dll-библиотеки

Более подробно о работе с самой программой можно прочесть на посвященной ей странице в интернете - [D4] (правда, на английском языке).

Но, "годами проверенная" программа в случае с процессором PIC18F4550, увы, подвела. Она прерасно вшивала в процессор сам код, и некорректно вела себя при записи битов конфигурации. По этому, пришлось искать другой вариант решения проблемы. И оно нашлось в виде программы "IC-Prog" (версия 1.05С) [D5]. Правда, решение это является "половинчатым" и вот почему:

Первые два пункта из приведенного выше списка были решены простым выбором "похожих" устройств в параметрах программы "IC-Prog". А именно: был выбран процессор PIC18F458, и программатор SCHAER Programmer. При этом, чтобы программатор работал, пришлось зайти в пункт "Настройки Программатора" программы "IC-Prog" и включить следуюшие пункты: "Инверсия Сброса (MCLR)" и "Инверсия VCC" (см. рис. 3 ниже):

Рис. 3 — Конфигурация программы "IC-Prog" (версия 1.05С) для работы с програматором "SCHAER+"

А вот с третьей проблемой бороться "в лоб" не получилось (по крайней мере, у меня). Поэтому я был вынужден вшивать программу в ПИК в два этапа:

В итоге, "в два присеста" в процессор была записана прошивка, полностью и корректно.


ВНИМАНИЕ !!! АБСОЛЮТНО ВСЕ ПРОБЛЕМЫ записи бутлоадера в микроконтроллер PIC18F4550, описанные выше, ОТПАЛИ САМИ СОБОЙ, когда я сделал себе програматор EXTRA PIC а дла прошивки стал использовать программу "WinPic 800"!!!


Подключаемся к компьютеру

Интерфейс USB предусматривает подачу на периферийное устройство не только сигналов обмена данными, но также и напряжения питания +5 Вольт. На приведенной выше (рис. 1) схеме мы видим, что это напряжение через дроссель L1 и диод D2 подается на процессор. Таким образом, всегда, когда наше устройство подключено к шине USB, процессор включен и работает. Теперь рассмотрим, что произойдет при самом первом подключении USB-кабеля от платы к компьютеру. Действия ОС Windows будут зависить от двух факторов:

Сначала рассмотрим случай использования "полной" версии прошивки ([F3]) и ненажатой кнопки S2. Так как основная программа в данной прошивке - это программа USB-устройства, расчитанного на работу с программой "PICDEM™ FS USB Demo Tool", то Windows выдаст сообщение о том, что обнаружено новое устройство. Устанавливаем драйвера (где их взять, читайте ниже), и всё.

Если же, в случае использования этой же (полной) прошивки при подключении устройства к компьютеру кнопка S2 была нажата, то мы также увидим сообщение Windows об обнаружении нового устройства. Даже в том случае, если перед этим один раз уже устанавливали драйвера, подключив устройство с ненажатой кнопкой S2. Ответ на возникающий при этом вопрос содержится в "Руководстве пользователя к демонстрационной плате PICDEM™ FS USB" [D1]:

Q:
On running Bootload mode for the first time, the host system tries to repeat the driver installation process.
A:
"Because the demo and bootloader firmware are essentially two separate pieces of code with individual Product IDs, the host system will see each as a separate device. Each device will require the USB driver to be installed separately for it...."

Или, если по-русски:

Вопрос:
При первом запуске Бутлоадера компьютер пытается установить драйвер по-новой.
Ответ:
"Так как демо-программа и бутлоадер являются двумя отдельными устройствами, управляемыми различными частями программы (кода), и имеющими различные Идентификаторы (Product ID), то компьютер каждую из этих программ видит как отдельное устройство. Каждое из устройств требует отдельной установки драйвера в ОС Windows..."

Теперь рассмотрим случай использования прошивки [F4] ("только бутлоадер"). При нажатой кнопке S2 все произойдет также, как и для случая "полной" прошивки: процессор войдет в режим бутлоадера, включит обмен данными с компьютером, Windows обнаружит новое устройство, Вы установите драйвер...

Если же при подключении устройства с прошивкой "только бутлоадер" кнопка S2 не будет нажата, то не произойдет ничего!!! Объясняется это тем, что в данной прошивке основная программа ОТСУТСТВУЕТ, и процессор просто "висит"...

Последнее замечание - всё, описанное выше, происходит один лишь раз.

Где взять драйвера

В комплекте "стандартных" драйверов, поставляемых с Windows, драйвера для PIC18F2455/2550/4455/4550, увы, НЕТ!!! Поэтому, Вам понадобится драйвер "от изготовителя". Драйвер поставляется ф. Microchip внутри программы "USB Bootloader Setup.EXE". После её установки на Вашем компьютере драйвер будет находиться в папке "C:\MCHPFSUSB\Pc\MCHPUSB Driver\Release\" (буква диска, естественно, та, которую Вы указали при установке). Драйвер этот - от демонстрационной платы "PICDEM™ FS USB". Сжатая zip-ом копия этого драйвера выложена у меня на сайте по ссылке [F7]. Скачайте, разархивируйте в произвольную папку и укажите Windows путь к ней. Надеюсь, подробные инструкции по установке драйверов излишни...

А вот и итог установки: вот так (см. рис. ниже) выглядит "дерево устройств" Windows'98 с правильно установленным драйвером бутлоадера (да, да, именно так - с желтым вопросительным знаком!!!):

Рис. 4 — "Дерево устройств" Windows'98 с правильно установленным драйвером бутлоадера

Работа с бутлоадером

Вот мы и добрались до того момента, ради которого все это затевалось. Думаю, полезно напомнить первопричину - желание вшивать в процессор новые программы, просто подключив устройство к компьютеру. Кроме всего того, что уже было проделано выше, нам понадобится сделать самый последний шажок - установить в компьютер программу "PICDEM™ FS USB Demo Tool". Где ее взять? Если Вы уже с сайта ф. Microchip по ссылке [F1] скачали программу "USB Bootloader Setup.EXE" и установили её на свой компьютер, то тогда в папке "C:\MCHPFSUSB\Pc\Pdfsusb\" (буква диска, естественно, та, которую Вы указали при установке) будет присутствовать файл PDFSUSB.exe. Это и есть искомая программа. Запускайте и работайте. Для тех же, кому неохота тащить из интернета целых 3 Мб - сжатая zip-ом копия этой программы выложена у меня на сайте по ссылке [F8]. Скачайте, разархивируйте в произвольную папку и запускайте (какая-либо специальная установка программе не требуется).

Итак, что нужно сделать, чтобы вшить в процессор новую программу:

Рис. 5 — Интерфейс программы "PICDEM™ FS USB Demo Tool" (в режиме бутлоадера)

Вкратце "пройдемся" по кнопкам программы:

Кнопка "Load HEX File" (Загрузить HEX-файл) - загрузка с диска в рабочее окно программы файла новой прошивки.

Кнопка "Program Device" (Програмировать устройство) - запись в процессор прошивки, загруженной в рабочее окно программы.

Кнопка "Read Device" (Прочитать устройство) - чтение из процессора его текущей прошивки.

Кнопка "Save To HEX File" (Сохранить в HEX-файл) - запись прошивки, отображенной в рабочем окне программы, в файл на диск.

Кнопка "Execute" (Выполнить) - запуск вшитой прошивки (программы) на выполнение (процессору посылается команда сброса).

Кнопка "Erase Device" (Стереть устройство) - стирание текущей прошивки процессора.

Последние примечания по программе "PICDEM™ FS USB Demo Tool":

С учетом двух последних примечаний нетрудно догадаться, каким образом мною была получена прошивка "только бутлоадер". Сначала кнопкой "Erase Device" была стерта основная программа из "полной" версии прошивки. Потом кнопкой "Read Device" была считана прошивка, в которой остался только бутлоадер. И наконец, кнопкой "Save To HEX File" результат был записан в компьютер...

Вот вроде и всё...

Нужно ли (полезно ли) Вам такое устройство - решайте сами. Я написал эту страницу с надеждой, что кому-то поможет всё то, с чем разобрался сам. Но, лично я свой следующий модуль управления (естественно, для какого-нибудь усилителя) уж точно сделаю на основе этого устройства. Точнее - уже делаю...




ФАЙЛЫ ДЛЯ ЗАКАЧКИ

F1. Файл "USB Bootloader Setup.EXE" на сайте Micochip-а (размер 3,07 МБ)
F2. Копия файла "USB Bootloader Setup.EXE", лежащая на моем сайте (размер 3,07 МБ)
F3. Файл прошивки для платы PICDEM™ FS USB (полный) (23 кБ)
F4. Файл прошивки - ТОЛЬКО БУТЛОАДЕР (6 кБ)
F5. Программа PP18 версия 2.02 (архив 822 кБ)
F6. "Библиотека" 18F4550.dll версия 1.01 (архив 521 кБ)
F7. Драйвер для Windows (архив 91 кБ)
F8. Программа "PICDEM™ FS USB Demo Tool" (для Windows; архив 872 кБ)

СПИСОК ЛИТЕРАТУРЫ

D1. Руководство пользователя к демонстрационной плате PICDEM™ FS USB
D2. Страница с описанием програматора SCHAER+
D3. "Моя версия" програматора SCHAER+ (PDF, 665 кБ - схема, плата, расположение деталей, зеркальное изображение платы для "утюга")
D4. Страница программы PP18 (версия для Windows)
D5. Сайт программы "IC-Prog"



Последние исправления - 3 февраля 2007 г. © Дмитрий Харций

ВВЕРХ СТРАНИЦЫ