logo
HCS12 с применением языка С - royallib

7.8. Программирование резидентного Flash пзу микроконтроллера b32 в составе платы отладки mc68hc912b32evb

В главе 4 мы обсуждали конфигурацию памяти МК B32 семейства 68HC12. Как было упомянуто, в состав МК B32 входит память программ типа Flash объемом 32Кб. В установленном на плате отладки MC68HC912B32EVB микроконтроллере в области Flash ПЗУ записана программа монитора D-Bug12. Если вы желаете использовать отведенный под нее объем для записи части рабочей программы, то необходимо стереть программу монитора D-Bug12. Но неплохо было бы сохранить ее, чтобы снова записать в память при необходимости.

Имеется несколько способов, с помощью которых можно перепрограммировать резидентную память МК на плате отладки MC68HC912B32EVB. Все они предполагают использование двух плат отладки, одна из которых реализует функцию интерфейса BDM для связи МК второй платы с ПК с целью программирования микроконтроллера второй платы. Подробная методика организации программирования таким способом изложена в [6].

В этом разделе мы расскажем, как программировать резидентную Flash память МК семейства 68HC12, воспользовавшись кабелем интерфейса BDM типа CABLE12 фирмы P&E Microcomputer Systems и программным обеспечением PROG12Z FLASH/EEPROM. Заметим, что, несмотря на название, CABLE12 не является лишь соединителем. В его состав входят аппаратные средства интерфейса между ПК и МК семейства 68HC12, которые позволяют осуществлять взаимодействие этих двух устройств в процессе отладки программ и для занесения программы в энергонезависимую память МК.

Конфигурация системы, использующей эти инструментальные средства, показана на рис. 7.42. Как видно из рисунка, CABLE12 связан с ведущим ПК через стандартный 25-жильный кабель параллельного порта. С другой стороны CABLE12 связан с программируемой B32 EVB шестижильным BDM кабелем.

Рис. 7.42. Схема соединения компонентов для программирования резидентной энергонезависимой памяти МК семейства 68HC12/HCS12

Этот кабель подключается к разъему W9 отладочной платы MC68HC912B32EVB. Красный провод кабеля соответствует штырьку 1 на колодке W9.

Программируемый МК B32 EVB связан также с ведущим ПК через последовательный порт связи. Он должен, кроме того, иметь обычные кабели подключения питания (+5 В, земля). Дополнительно, в процессе программирования должны быть поданы напряжение +12 В (Vpp) и земля на колодку W8. Будьте внимательны, не перепутайте полярность при подключении этого питания. Кроме того, колодка W7 должна быть конфигурирована для Vpp.

Как только аппаратные средства cконфигурированы, можно программировать флеш-память EEPROM в следующей последовательности:

1. Подать питание на B32 (+5 В и +12 В).

2. Найти программное обеспечение PROG12Z на вашем компьютере (c:\pemicro\Prog12z\prog12z).

3. Дважды щелкнуть на prog12z.

4. Появляется окно Connect Assistant, которое поможет установить связь с переходная приставка CABLE12 BDM интерфейс.

 • Проверьте параметры настройки окна, затем нажмите OK.

 • В окне состояния должно появиться сообщение о появлении связи программы prog12z с интерфейсом CABLE12 BDM.

 • Если связь ПК с интерфейсом CABLE12 отсутствует, на экране ПК появится информация для поиска неисправностей.

5. Должно появиться всплывающее меню Specify Programming Algorithm to Use!

 • Выберите правильный программный модуль с расширением '*.12P' P&E, чтобы использовать необходимый драйвер программирования. Например, чтобы программировать Flash память объемом 32Кб, входящую в состав МК B32, выберите 912B32_32K.12Р.

 • Окно состояния показывает, что выбранный драйвер программирования загружен.

6. Затем появляется окно Base Address.

 • Вы должны определить базовый адрес программируемой Flash памяти.

 • Информация о базовом адресе обеспечивается в карте памяти программируемого МК, которая, в том числе, приводится в Руководстве пользователя отладочной платы MС68HC912B32EVB (68HC12 M68EVB912B32 Evaluation Board User's Manual, Таблица 3–5, страницы 3–55)

 • Адрес начала блока Flash памяти равен $8000.

 • Введите это значение в ПК и нажмите OK.

7. Щелкните SM Show Module, чтобы отобразить текущее содержание модуля Flash памяти в МК.

8. Выполните операцию стирания текущего модуля перед программированием нового модуля во Flash память.

Предостережение: программа монитора D-BUG12 пока еще во Flash-памяти, это и есть текущий модуль в памяти МК B32. Как только вы сотрете модуль, код монитора отладки D-BUG12 будет потерян.

Сотрите модуль.

9. Выберите SS Specify Record и затем *.S19 для загрузки в буфер программы программатора на ПК модуля, подлежащего программирования в МК.

10. Выберите PM, чтобы инициировать программирование модуль во Flash-память МК.