Стратегии отладки микроконтроллеров семейства HC908 или мног

Стратегии отладки микроконтроллеров семейства HC908 или многоликий внутрисхемный симулятор ICS08

Т. Ремизевич, А. Архипов, С. Овчинкин, И. Чепурин

Стратегии отладки микроконтроллеров семейства HC908┘ или многоликий внутрисхемный симулятор ICS08

Поддержка аппаратными средствами МК режимов программирования и отладки в системе при прочих функциональных достоинствах МК является одним из определяющих факторов при выборе элементной базы новой разработки. Многие 8-разрядные МК разных фирм-производителей имеют в сво╦м составе специальный модуль внутрисхемной отладки. Для весьма динамично развивающегося 8-разрядного семейства HC908 фирмы Motorola [1,2] такой модуль носит название "Monitor Module". Как грамотно воспользоваться этим модулем? Какую дополнительную схемотехнику выполнить на плате целевой системы? Какие программные средства предоставляет фирма для поддержки отладки и программирования в системе? На все эти вопросы должна ответить наша статья.

Технология отладки и программирования однокристального МК в системе предполагает, что МК устанавливается на целевую плату посредством пайки в незапрограммированном состоянии. Занесение прикладной программы в МК с многократной е╦ перезаписью в процессе отладки производится прямо на плате целевой системы под управлением инструментального ПК. Связь МК с ПК в процессе программирования и отладки осуществляется через специальный "отладочный" порт в составе МК. В рабочем режиме целевая плата просто отсоединяется от ПК, и она готова к работе. Более того, если в процессе эксплуатации потребуется изменить рабочую программу, то такая операция не потребует замены МК и выполнения дополнительных монтажных работ. Необходимо будет лишь восстановить связь МК целевой системы с ПК и воспользоваться соответствующим программным обеспечением.

Каковы требования к программным и аппаратным средствам самого МК, чтобы такая технология отладки и программирования стала возможной?

Во-первых, резидентная память программ МК должна быть многократно программируемой. В настоящее время такая память выполняется по технологии FLASH, в редких случаях ≈ по технологии EEPROM. Модуль резидентной FLASH-памяти в составе МК должен иметь повышающий регулятор напряжения. Тогда операции стирания и программирования FLASH ПЗУ можно будет вести только при питании МК от "рабочего" источника напряжения. Дополнительный источник не потребуется.

Во-вторых, МК должен иметь специальный отладочный режим работы, в котором прикладная программа работает под управлением программы монитора отладки.

В-третьих, МК должен иметь специальный "отладочный" порт для обмена с инструментальным ПК. Программная поддержка этого порта является одной из функций программы монитора отладки. В 8-разрядных МК, число выводов корпуса которых невелико, для обмена с ПК используются одна или две линии, то есть обмен вед╦тся в последовательном коде.

Отладочный режим работы МК семейства HC908

Отладочный режим работы (Monitor mode) позволяет организовать "диалог" МК с ПК для отладки программ управления и выполнения операций стирания/программирования резидентной памяти программ. При переходе МК в отладочный режим работы аппаратные средства автоматически подменяют векторы сброса и программного прерывания. В результате, после сброса по внешнему сигналу на входе или по команде программного прерывания SWI сч╦тчик адреса МК загружается начальным адресом программы монитора отладки. Эта программа располагается в специальной области памяти, которая лежит за пределами адресного пространства программы пользователя. Прошивка монитора отладки осуществляется на этапе производства. Пользователь может либо активизировать эту программу посредством перевода МК в отладочный режим работы, либо не использовать эту программу вообще. Варианты кода программы монитора отладки постоянно совершенствуются и поэтому различаются для разных моделей МК. Однако система команд отладки и форматы обмена данными с П

Программа монитора отладки содержит в себе подпрограмму драйвера обмена по однопроводной двунаправленной линии (только в модели HC908MR8 используется двухпроводный последовательный обмен) и подпрограмму выполнения шести команд отладки, которые поступают в МК по этому однопроводному интерфейсу. Команды следующие: читать байт из памяти МК (ОЗУ или ПЗУ), записать байт в память МК (ОЗУ), читать два байта из памяти МК (ОЗУ или ПЗУ) с автоувеличением адреса, записать два байта в память МК (ОЗУ) с автоувеличением адреса, читать указатель стека, начать выполнение программы.

С использованием перечисленных команд в ПК реализовано управляющее микроконтроллером программное обеспечение, которое позволяет выполнять следующие действия:

загрузить в ОЗУ МК фрагмент разрабатываемой прикладной программы и запустить е╦ на выполнение: с остановкой по контрольной точке или без не╦, по желанию пользователя. МК с процессорным ядром HC08 имеют единое адресное пространство памяти программ и данных и поэтому допускают выполнение программного кода, размещ╦нного в ОЗУ данных; передать в ПК верхнего уровня состояние регистров центрального процессора и ячеек памяти после остановки в контрольной точке; если прикладная программа управления уже загружена во FLASH ПЗУ МК, то запустить эту программу на выполнение с заданного адреса и остановить е╦ в желаемой контрольной точке; загрузить в ОЗУ МК по однопроводному интерфейсу программу стирания/программирования FLASH ПЗУ и, передавая коды прикладной программы порциями, осуществить программирование резидентной FLASH-памяти МК.

Все перечисленные действия, за исключением последнего, являются типовыми режимами работы средства отладки МП системы. Действия последнего пункта соответствуют типовым режимам программатора.

Алгоритмы перевода МК в отладочный режим работы

Большинство МК семейства HC908 имеют два алгоритма для перевода в отладочный режим работы. Первый алгоритм универсальный, он обеспечивает переход МК в отладочный режим независимо от того, находится в памяти МК программа, или эта память полностью очищена. Этот алгоритм следует использовать, если предполагается отладка прикладной программы. Возможность реализации программирования при этом получится автоматически.

Второй алгоритм позволяет перевести в отладочный режим работы только незапрограммированный МК, то есть тот, в памяти которого на месте вектора сброса (ячейки памяти 0FFFEh и 0FFFFh) содержится код 0FFh. Второй алгоритм задействует меньшее число линий портов ввода/вывода МК, однако при его использовании единожды за-программированный МК уже нельзя будет снова перевести в отладочной режим работы даже для стирания и записи новой программы. Поэтому второй алгоритм целесообразно использовать на стадии производства изделия для целей поточного программирования.

МК, допускающие работу с кварцевым резонатором 32,768 кГц (модели GP32, GR8/4, SR12), имеют дополнительный третий алгоритм перевода в отладочный режим работы. В отличие от первых двух алгоритмов, которые предполагают работу МК в отладочном режиме без использования синтеза-тора в модуле умножителя частоты CGM08, при третьем алгоритме резидентная программа монитора отладки запускает этот синтезатор. В результате, МК будет работать с частотой шины fBUS = 2,4576 МГц при тактировании от низкочастотного кварцевого резонатора 32,768 кГц. Третий алгоритм обладает тем же недостатком, что и второй: при его использовании возможна реализация только внутрисистемного программирования, но невозможна отладка.

Для перевода МК семейства HC908 в отладочный режим по первому универсальному алгоритму необходимо выполнить следующие условия:

вход внешнего прерывания и вход внешнего сброса должны быть подключены к источнику повышенного напряжения VTST>> 8,5 В (от 7,5 В до Vdd + 4 В по данным технического описания).

Допускается также подключение входа к потенциалу источника питания Vdd;

на тр╦х линиях портов должна быть установлена комбинация логических сигналов в соответствие с типом модели МК и частотой используемого для тактирования МК кварцевого резонатора. Спецификация линий портов МК, задействованных в переводе МК в отладочный режим работы по универсальному алгоритму, показана в табл. 1;

на линии порта, которая используется для двунаправленного обмена с ПК, должна быть установлена логическая "1".

Таблица 1. Условия перевода МК HC908 в отладочный режим работы по универсальному алгоритму

Тип МК fxakc,
МГц Линии портов, используемые для ввода в отладочный режим PTx1=1
(MOD0) PTx2=0
(MOD1) PTx3 PTx4 PTx5=1
Двунаправленный
однопроводной интерфейс MC68HC908JL3   PTB1 PTB2 PTB3 x PTB0 MC68HC908JK3   Порт I/O или Порт I/O или Порт I/O или x Порт I/O или вход АЦП MC68HC908JK1   вход АЦП вход АЦПи вход АЦП x     4,9152     0       9,8304     1     MC68HC908MR32   PTC3 PTC4 PTC2 x PTA0 MC68HC908MR16   Порт I/O Порт I/O Порт I/O   Порт I/O   4,9152     0       9,8304     1     MC68HC908MR8 4,000 PTB0
Порт I/O или RxD
модуля SCI
Линия двухпроводного
интерфейса в режиме
отладки PTB1
Порт I/O или TxD
модуля SCI
Линия двухпроводного
интерфейса в режиме
отладки x x x MC68HC908GP32  
 
4,9152
9,8304 PTС0
Порт I/O PTС1
Порт I/O PTС3
Порт I/O
0
1 PTA7=0
Порт I/O или вход KBI PTA0
Порт I/O или вход KBI MC68HC908SR12  
 
4,9152
9,8304 PTA1
Порт I/O или
вход АЦП






Рекомендуемый контент




Copyright © 2010-2018 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.