Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
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!
• Выберите правильный программный модуль с расширением '
• Окно состояния показывает, что выбранный драйвер программирования загружен.
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-память МК.
7.9. Заключение по главе 7
В этой главе мы рассмотрели ряд встроенных микроконтроллерных систем на базе МК 68HC12 и HCS12. В частности мы описали робот, движущийся в лабиринте, лазерный проектор, цифровой вольтметр, стабилизатор скорости вращения двигателя с оптическим тахометром, парящий робот, систему защиты компьютерной сети на базе нечеткой логики и электронную версию популярной игры в «15». Для всех этих систем мы привели описание проекта, системные требования, основную информацию, структуру программы, блок схему алгоритма и код программы на языке Си. Хотя функции встроенных систем существенно различаются, мы показали, что для их создания можно использовать одну и ту же методику.
7.10. Что еще прочитать?
1. American National Standards Institute (ANSI) Z136.1, Safe Use of Lasers (ANSI Z136.1), 1993.
2. Cooper, W. D. Electronic Instrumentation and Measurement Techniques. Upper Saddle River, NJ: Prentice-Hall, 1970.
3. Edmund Industrial Optics, Barrington, NJ, www.edmundoptics.com, 2004.
4. GSI Lumonics, «General Scanning Scanners and Drivers.» www.gsilumonics.com, 2004.
5. Honeywell Sensing and Control, www.honeywell.com/sensing, 2004.