ПРИНЦИПЫ ПОСТРОЕНИЯ ОТЛАДОЧНЫХ СРЕДСТВ ДЛЯ 8-РАЗРЯДНЫХ МК

 

На основе 8-разрядных МК выполняются, как правило, одноплатные (т. е. располо­женные на одной монтажной плате) встраиваемые микропроцессорные системы. Каж­дая такая система при проектировании должна пройти не только этапы разработки алго­ритма работы, выбора элементной базы, проектирования аппаратных средств и приклад­ной программы управления, но и этапы совместной отладки аппаратной и программной составляющих, как в условиях автономной работы, так и совместно с объектом управле­ния в реальном масштабе времени.

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

В настоящее время для 8-разрядных МК выпускаются следующие типы отладочных средств:

Программные симуляторы. Представляют собой программно-логическую модель МК на персональном компьютере. Позволяют загрузить файл кода разработанной про­граммы управления в память МК и исполнить любой фрагмент этой программы, наблю­дая за изменением состояния любого программно доступного ресурса МК. Современные симуляторы обладают полноэкранным графическим интерфейсом пользователя, предо­ставляя разработчику программного обеспечения возможность одновременного контро­ля в процессе выполнения программы за изменением содержимого регистров и ячеек памяти. Симулятор имитируют работу не только процессорного ядра, но и всех перифе­рийных модулей. Причем при отладке программы по шагам остановка в контрольной точке эквивалентна останову системы тактирования МК. Вследствие этого одновремен­но с остановкой программы «приостанавливают» работу и все периферийные модули. При дальнейшем прогоне программы работа периферийных модулей возобновляется с того состояния, в котором они были «приостановлены». Именно такой режим работы наиболее удобен для наблюдения за процессом реализации микроконтроллером управ­ляющей программы. Но именно этот режим обычно не достижим в аппаратных средствах отладки (схемных эмуляторах и отладочных платах). Дело в том, что для наблюдения за состоянием ресурсов реального МК необходимо передавать это состояние в персональ­ный компьютер с целью отображения на экране дисплея. Такую передачу осуществляет специальная программа монитора отладки, которую продолжает исполнять реальный

МК после останова в контрольной точке тестируемой программы. Выполнение любой программы возможно только при работающей системе тактирования. Следовательно, после останова тестируемой программы в контрольной точке все периферийные модули МК продолжают работать. В результате совокупное состояние периферии МК перестает соответствовать предполагаемому состоянию в ходе непрерывного выполнения тести­руемой программы.

С точки зрения современной терминологии, программный симулятор можно охарак­теризовать как «виртуальный МК». Алгоритмы такого «виртуального МК» полностью со­впадают с алгоритмами работы реальной микросхемы, но при этом имеются широкие дополнительные возможности по вмешательству в процесс исполнения тестируемой про­граммы управления. Именно поэтому симуляторы следует использовать на начальном этапе отладки программного обеспечения. Кроме того, поскольку реального МК на этапе программной симуляции просто не существует, то и ограничений в использовании ресур­сов МК, связанных с обслуживанием процесса отладки, тоже нет. Таким образом, все ресурсы (правда, виртуальные), которые могут быть использованы в проекте, предос­тавлены в распоряжение пользователя.

Основной недостаток программного симулятора - невозможность подключения ре­альных физических источников входной информации и невозможность формирования реальных выходных сигналов для управления объектом. Поэтому с помощью программ­ного симулятора можно проверить лишь правильность исполнения микроконтроллером программы управления, но нельзя проверить работоспособность аппаратной части про­ектируемого одноплатного контроллера и, как следствие, достижение управляемым объек­том требуемых технических характеристик.

Целесообразность этапа моделирования на программном симуляторе определяется также тем фактом, что его можно проводить на самой ранней стадии работы над проек­том, когда аппаратная часть находится еще в стадии проектирования.

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

Набор внутрисхемного симулятора включает простую плату аппаратных средств и комплект программного обеспечения для персонального компьютера. Обмен данными между персональным компьютером и платой внутрисхемного симулятора осуществляет­ся в большинстве случаев посредством интерфейса RS-232. Основным элементом пла­ты внутрисхемного симулятора является реальный физический МК. Однако конкретная модель этого замещающего МК не обязательно совпадает с моделью целевого МК (т. е. того МК, на основе которого ведется разработка устройства управления). Периферий­ные модули замещающего МК идентичны модулям целевого МК, а число линий портов ввода/вывода замещающего МК может превышать аналогичное число целевого МК. Эти «лишние» линии используются для обмена с персональным компьютером. Выводы замещающего МК, полностью совпадающие по функциональному назначению с вывода­ми целевого МК, выведены на разъем с цоколевкой последнего. Персональный компью­тер имитирует программно-логическую модель целевого МК, включая алгоритмы работы периферийных модулей. Отлаживаемая прикладная программа также, как и в программ­ном симуляторе, выполняется внутренними средствами персонального компьютера. Связь с замещающим МК осуществляется только в случае необходимости ввода или вывода данных. Под управлением программы монитора, которая записана в ПЗУ замещающего МК, сформированные в персональном компьютере выходные воздействия поступают на соответствующие выводы замещающего МК, а затем на одноименные контакты разъема целевого МК. Или состояния входов целевого МК считываются со входов замещающего

МК и передаются в персональный компьютер. При подключении разрабатываемого из­делия к разъему целевого МК создается полная иллюзия работы под управлением целе­вого МК, но в замедленном по отношению к реальному масштабе времени. Отсюда и название - «симулятор».

Главное преимущество внутрисхемных симуляторов: возможность совместной от­ладки аппаратной и программной частей изделия, а также возможность совместной с объектом управления отладки при сохранении доступа разработчика ко всем внут­ренним ресурсам МК. Главный недостаток - замедленный масштаб времени при ис­полнении алгоритма управления. Поэтому отладку с использованием внутрисхемных симуляторов следует применять в тех случаях, когда время реализации алгоритма уп­равления заведомо превышает требования объекта управления. Например, если МК в составе домашнего термометра начнет выполнять программу в замедленном темпе, изменится лишь время вывода значения измеренной температуры на экран индикато­ра, человек при этом вряд ли заметит эти изменения на глаз. Задачи, которые не требу­ют предельного быстродействия, обычно реализуются на основе сравнительно про­стой элементной базы 8-разрядных МК. Поэтому внутрисхемные симуляторы выпуска­ются для МК в корпусах с 16, 20, 28 и максимум с 40 выводами. Для более сложных МК с большим набором периферийных модулей следует использовать средства отладки, работающие в реальном масштабе времени.

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

Средство отладки, именуемое отладочной платой или оценочным модулем (англо­язычная терминология - evaluation board), представляет собой комплекс из одноплат­ного контроллера и программного обеспечения для персонального компьютера. Мик­ропроцессорный контроллер выполнен на основе БИС МК, который принадлежит к тому же семейству, что и целевой МК. Желательно, чтобы целевой МК был как можно ближе к модели МК отладочной платы. Как правило, рассматриваемый класс средств отладки выполняется на основе МК с открытой архитектурой, т. е. на основе МК, которые имеют внешние магистрали адреса и данных и допускают подсоединение внешней памяти. Аппаратные средства отладочной платы включают БИС МК, БИС памяти программ двух типов (ПЗУ и ОЗУ), минимальный набор типовых периферийных средств (простейшая клавиатура, несколько светодиодов) и последовательный интерфейс для связи с пер­сональным компьютером. В ПЗУ размещаются программа обмена с персональным компьютером и программа монитора отладки. При включении питания отладочной пла­ты запускается программа монитора отладки, которая реализует функции:

•загрузки программного кода по последовательному интерфейсу из персонального компьютера в ОЗУ отладочной платы;

•загрузку регистров центрального процессора требуемыми значениями под управлением оператора персонального компьютера;

•запуск программы из ОЗУ на исполнение в автоматическом режиме или с остановом
по контрольным точкам;

•передачу в персональный компьютер состояния регистров и ячеек памяти МК после
останова в контрольной точке.

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

Несомненным преимуществом такого решения является тот факт, что фрагменты прикладной программы или эта программа целиком могут быть выполнены в реальном масштабе времени. Поэтому под управлением отладочной платы может непосредствен­но работать управляемый объект. Недостатком отладочных плат является тот факт, что часть ресурсов МК должна быть задействована для выполнения программы монитора отладки и не может быть использована разработчиком при моделировании прикладной программы. Так, для реализации отладочного режима обязательно будут использованы встроенный модуль контроллера асинхронного последовательного интерфейса, некото­рое количество ячеек ОЗУ данных, наиболее вероятно использование одного таймера.

Ряд МК (например, семейство НС11 фирмы «Motorola») выпускается со встроенной программой загрузки программного кода по последовательному интерфейсу. Эта про­грамма запускается сразу после включения напряжения питания БИС МК, если на неко­торые входы параллельных портов подана оговоренная в техническом описании комби­нация нулей и единиц. В англоязычной терминологии эта программа носит название «boot loader». Тогда эта программа используется в отладочном модуле для загрузки из персо­нального компьютера во внешнее ОЗУ программы монитора отладки. Такое решение упрощает задачу разработчика отладочных средств, поскольку БИС внешнего ПЗУ на плате отладочного модуля теперь может отсутствовать, а часть необходимого программ­ного обеспечения для организации отладки уже имеется в готовом виде. Однако основ­ной недостаток рассматриваемого способа отладки не устраняется: по-прежнему часть ресурсов МК «отнимается» у разрабатываемой программы управления для реализации программы отладочного монитора.

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

Схемный эмулятор является почти идеальным средством отладки. Но и он обладает недостатками:

• во-первых, конструкция с гибким высокочастотным кабелем не позволяет встраивать его в конструкции конечного изделия;

• во-вторых, высокочастотный кабель не может работать в условиях сильных электромагнитных помех, поэтому невозможна отладка систем управления силовыми полу­
проводниковыми преобразователями;

• в третьих, схемные эмуляторы дороги и не всегда оправданы в применении с экономической точки зрения.

Внутрисистемное программирование и отладка. Большинство современных 8-раз­рядных МК имеют закрытую архитектуру, т. е. на их основе невозможно выполнить отла­дочную плату или плату развития по описанному выше принципу. Но отладочные сред­ства, которые могут работать в реальном времени и по возможности лишены недостат­ков схемного эмулятора, крайне необходимы. Задача построения таких средств решает­ся с использованием специальных режимов работы МК и при наличии в составе МК мно­гократно перепрограммируемой памяти программ типа FLASH или EEPROM.

Примером могут служить МК семейства НС08 фирмы «Motorola». Все МК этого се­мейства кроме пользовательского режима работы, в котором выполняется прикладная программа управления, имеют вспомогательный отладочный режим работы (Monitor mode). Этот режим позволяет организовать «диалог» МК с персональным компьютером верхнего уровня с целью отладки программ управления и выполнения операций стира­ния/программирования областей резидентной памяти типа FLASH или EEPROM.

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

Программа монитора отладки содержит в себе подпрограмму драйвера обмена по однопроводной двунаправленной линии и подпрограмму выполнения шести команд от­ладки, которые поступают в МК по этому однопроводному интерфейсу. С использовани­ем команд отладки может быть создано специальное программное обеспечение, кото­рое позволит выполнить следующие действия:

• если прикладная программа управления уже загружена в МК каким-либо образом, то запустить эту программу на выполнение с заданного адреса и, используя встроенный в МК модуль прерываний по контрольным точкам BRAKE08, остановить ее в желае­мой точке;

• загрузить в ОЗУ МК фрагмент разрабатываемой прикладной программы и запустить ее на выполнение: с остановкой по контрольной точке или без нее, по желанию поль­зователя;

• передать в компьютер верхнего уровня состояние регистров центрального процессора

и ячеек памяти после остановки в контрольной точке;

• загрузить в ОЗУ МК по однопроводному интерфейсу программу стирания/программирования FLASH или EEPROM ПЗУ и, передавая коды прикладной программы или таб­лиц данных порциями, осуществить программирование резидентной памяти МК объе­мом вплоть до 64 Кбайт.

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

Минимальные ограничения, которые накладывает отладочный режим на аппаратные и программные ресурсы МК, с одной стороны, и универсальность резидентного про­граммного обеспечения для отладки и программирования, с другой стороны, являются весомыми предпосылками для проектирования аппаратной части встраиваемой МП-си­стемы с несколько избыточной схемотехникой. Такая схемотехника обеспечит работу МК в рабочем режиме в процессе эксплуатации изделия и в отладочном режиме - в процессе отладки изделия. Если в разработке используется МК с FLASH-памятью про­грамм, то такой МК можно будет программировать прямо на плате конечного изделия без использования специальных средств программирования. МК, которые обеспечивают та­кую возможность, принято называть программируемыми в системе (англоязычный тер­мин - «In system programmable»).

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

Рассматриваемый принцип организации отладки в настоящее время является са­мым перспективным для 8-разрядных МК. Поэтому большинство новых моделей МК уже имеют в своем составе аппаратные средства внутрисхемной отладки