Внутрисхемный программатор микроконтроллеров семейства F2MC-16LX и FR.
ISP_MB9X v2.12
Copyright © 2001-2006 Sergey Pinigin
Полное или частичное отсутствие в фирменных программах следующих опций:
- Аппаратная реализации сброса и установка режима программирования;
- Работа в режиме командной строки;
- Программирование при нестандартных скоростях последовательного порта (для MB90);
- Загрузка и запуск пользовательской программы в RAM.
- isp_mb9x.exe
- DOC/ - Документация
- OVL/ - Загружаемые в RAM модули
- 90/ - для семейства 16-LX, MB90Fxxx
- 91/ - для семейства FR, MB91Fxxx
- source/fast_cl_fl/ - Source code for ae_flash.362
Разархивировать содержимое в отдельный каталог. Для запуска программатора в
любом каталоге необходимо добавить в переменную окружения PATH полный путь до
исполняемого файла isp_mb9x.exe.
Входные (для программирования) и выходные (чтение flash) файлы только бинарные.
Сформировать бинарный файл для программирования можно при помощи утилиты M2BS.EXE,
которая входит в комплект пакета Softune.
Пример:
m2bs input.mhx -ran 0xff0000,0xffffff -o output.bin
Работает с файлами, длина которых кратна 512, иначе на последнем блоке
будет выдано сообщение об ошибке.
Программирование выполняется с использованием асинхронного последовательного
интерфейса RS232. Подключение к микроконтроллеру осуществляется через адаптер,
он необходим для согласования уровней сигналов PC и МК и формирования
дополнительных сигналов управления режимом работы МК (MD0, MD1, MD2, RESET,
PortPin1, PortPin2 ).
Схема рабочего примера адаптера RS232 приведена в файле isp_mb9x_sch_v16.pdf
(Acrobat Reader). После выполнения операции программирования адаптер не требует
отключения, если задействованный в нем линии не нарушают работоспособность схемы.
- Используемые сигналы RS232 компьютера:
- TX - Выходные данные (PC => MCU)
- RX - Входные данные (PC <= MCU)
- DTR - Формирование сигнала сброса (RESET)
- RTS - Управление режимом (необходимо при работе с MB90) (SET MODE)
Приведены назначения выводов RTS/DTR принимаемые по умолчанию,
их можно изменить.
Приведенный пример адаптера позволяет установить на вспомогательных выводах
(PortPin1, PortPin2 ) логический '0'. Для формирования других значений необходимо
изменить схему, это может потребоваться для микроконтроллеров, программирование
которых возможно при частотах основного генератора, отличных от 4/8/16 Мгц.
Для уточнения необходимо изучить Hardware manual используемого микроконтроллера.
Одна программа поддерживает два семейства: 16-LX и FR
(8-LX пока недоступны для проверки)
Используемый последовательный интерфейс можно задавать в виде
системного имени: /LCOM3.
(Думаю, можно и сетевой путь, мне пробовать не на чем)
Выбор скорости передачи данных выполняется посредсвам задания частоты генератора
и информации в файле CHIPDEF.ini: /o4 /o16 /o12.5MHz
Возможна работа при ручном управлении режимом P0[0,1],MD[0..2] и сброса -
ключ /t.
Блоки данных при передаче и приеме защищены CRC.
Программирование выполняется до завершения бинарного файла или достижения
вершины flash.
Порядок следования параметров и команд может быть любым, порядок выполнения
операций фиксированный: стирание, проверка на чистоту, программирование, сверка
с исходным файлом.
В файле CHIPDEF.ini определены загружаемые файлы и начальные адреса Flash для
каждой серии; если требуется установить другой адрес, используйте параметр /S.
Начальный адреса Flash в параметре /s должен быть кратным 512 (0x0001FF).
Для увеличения скорости работы на небольших проектах используется алгоритм
"программирование только используемых блоков" - если блок 512 не содержит
отличные от 0xff данные, он не программируется (но и не проверяется
содержимое Flash !!! ).
Время чтения или программирования 64К
- MB90 при частоте кварца 16МГц 64Кбайт/3.8(Кбайт/с) = 17 секунд.
(MB90, program Baudrate 38400)
- MB91 при частоте кварца 4МГц и скорости 115200 бод - 6 секунд.
При запуске без параметров выводится подсказка - список ключей командной строки.
Для разработки программы, работающей в RAM, изучите samplesflash.
Работает со всеми приведенными в CHIPDEF.INI частотами MCU,
ряд 4 8 16 поддерживается адаптером и проверен.
Возможно непосредственное управление скоростью интерфейса
(актуально при работе с МК семейства MB90Fxxx)
/I4800:9600 : инициализация - 4800, рабочая - 9600.
Скорости можно выбирать из ряда 115200/N, где N - целое число.
Применение: при нестандартной частоте генератора.
| Пример: | частота генератора - 3.686Мгц, MB90F497
параметр задания скорости обмена - /I4430:8861
вычислено по формуле: X_baud = Baud_for_4MHz * X_Clock / Clock_4MHz
4800бод * 3686кГц / 4000кГц ~= 4430бод
частота генератора - 3.500Мгц, MB90F497
параметр задания скорости обмена - /I4267:8534
|
- PS: Будет работать с микроконтоллерами, у которых не задана строка Baud2 в
CHIPDEF.ini
- PS1: По расчетам, можно программировать при любой частоте
от_3мГц_до_5мГц
- 3мГц - /i3600
- 4.9мГц - /i5760
- PS2: Прием и передача по RS232 с высокой степенью достоверности
возможны при разнице скоростей приемника и передатчика до 5%.
Проверить Flash на чистоту при кварце 8МГц:
isp_mb9x /1 /o8 /MB90F497 /c
Выполнить автопоиск скорости подключения, считать содержимое Flash в файл
test.bin:
isp_mb9x /2 /a /MB90F497 /b test.bin /r
Выполнить стирание, проверку на чистоту и запись файла test.bin:
isp_mb9x /o4 /MB90F497 /b test.bin
Загрузить программу в RAM с адреса 0x190 и выполнить ее:
isp_mb9x /MB90F497 /d test.bin /s190
Сбросить МК:
isp_mb9x /g
Проверено:
- WIN98/2K/XP
- MB90F457, MB90F497G, MB90F546G при частоте основного генератора
3.686, 4 и 16 МГц
- MB90F347 при частоте основного генератора 4/8/16 МГц
- MB91F362G (4МГц)
Процессоры MB90F591 и MB90F594 не проверенны, имеют специфичный протокол BIROM
Для работы программатора под управлением другой операционной системы
необходимо портировать 5 функций работы с UART.