Рябов В.Т. - Разработка и отладка программного обеспечения микропроцессорной системы управления на базе однокристальных микроЭВМ (1041591), страница 4
Текст из файла (страница 4)
Можно одновременно установить до 8 условных точек останова:BRN12345678PC1F4510F4000000000000000000000000Counter025055000000000000000000Occur000018000000000000000000ConditionACC=8 R5>30 :I56=44В графе "PC" следует определить адрес точки останова. Графа "Counter" указываетE52, сколько раз программа должна пройти адрес, чтобы произошел останов. В графе"Condition" можно указать условия, которые должны выполниться, чтобы произошел останов. Графа "Occur" информирует, сколько раз встретилась точка останова на текущий момент.4.3. Назначение функциональных клавишF1 - выполнение одной команды программы. Прерывания не запрещены и отслеживаются.F2 - выполнение программы до адреса следующей по тексту команды.
Удобно длявыполнения подпрограмм и циклов как одной команды. Эта клавиша работает как для программ, написанных на языке высокого уровня, так и для ассемблерных программ.F3 - запуск программы в непрерывном режиме. Эквивалентно команде "G" без параметров.F4 - выполнение программы до адреса, соответствующего строке в окне дисассемблераили исходного текста, на которой находится курсор.F5 - работа с точками останова.F6 - установка безусловной точки останова на адрес программы.F7 - переключение режима выполнения.F8 - главное меню E52.F9 - расширение окна до максимального размера и обратно{move}.F10 - справочная информация.Alt-F1 - меню открытия окна.Alt-F2 - закрыть текущее окно.Alt-F3 - перемещение/изменение размера текущего окна.Alt-F4 - восстановить закрытое окно.Alt-F5 - скопировать текущее окно в системный журнал.Alt-F6 - переместить курсор в следующее окно.Alt-F7 - изменить цвет текущего окна.Alt-F8 - включить/выключить окаймление текущего окна.Alt-F9 - создать клавиатурный макрос.Alt-F10 - скопировать весь экран в системный журнал.Ctrl-F1 - синхронный запуск эмуляции в абсолютном режиме.
Все точки останова игнорируются (но не снимаются).Ctrl-F2 - установить начальный адрес программы в окне дисассемблера или Sourceравным текущему значению счетчика команд PC.- 11 -Ctrl-F3 - установить значение счетчика команд PC равным адресу, соответствующемустроке в окне дисассемблера или исходного текста, на которой находится курсор.Ctrl-F4 - сброс процессора.Ctrl-F5 - "освежение" экрана.
Из эмулятора считывается частота генератора. Защелкипортов не считываются.Ctrl-F6 - добавить символ в окно "Watches". Для добавления предлага ется символ,имя которого берется с того места экрана, где находится курсор.Ctrl-F7 - создать окно Inspect для символа. Имя символа берется с того места экрана,где находится курсор.Ctrl-F8 - вывести в окно консоли значение символа. Имя символа берется с того местаэкрана, где находится курсор.Ctrl-F9 - временный выход в DOS.Ctrl-F10 - запуск программы в абсолютном режиме (все точки останова всех типовигнорируются). При прохождении адресов программы, на которых установлены безусловные точки останова, на внешний раз'ем, расположенный на передней панели эмулятора, выдается импульс, что позволяет синхронизировать внешний прибор (например, осциллограф)с прохождением выполняющейся программой определенных адресов.Shift-F1...Shift-F4 - загрузка файлов конфигурации MAIN0.CN5...
MAIN3.CN5.Shift-F5 - меню пользователя общего назначения.Shift-F6 - выполнить текущую функцию до возврата к функции, вызвавшей ее.Shift-F7 - синхронно выполнить один шаг программы.Shift-F8 - меню контекстных макросов.Shift-F9 - синхронный запуск непрерывной эмуляции.Shift-F10 - выбор активного эмулятора.4.4 Использование манипулятора «мышь»Для использования манипулятора "мышь" необходимо загрузить драйвер "мыши",входящий в ее комплект поставки.
Данная версия E52 была проверена в работе с драйверамиMOUSE фирмы Microsoft и GMOUSE (Genius mouse driver). После загрузки E52 можно перемещать курсор по экрану с помощью "мыши". Действия, выполняемые при нажатии кнопок "мыши", зависят от положения курсора на экране.Если курсор находится в позиции, не занимаемой ни одним из окон то левая кнопкавызывает на экран меню, правая - меню открытия окна (эквивалентно нажатию Alt-F1),средняя (если она имеется) - переход в режим командной строки. Если курсор находится вкаком-либо окне, то действие кнопок определяется типом окна.
Ниже перечисляются типыокон, для которых действие кнопок отлично от действия по умолчанию, описанного параграфом выше.Комбинация клавиш клавиатуры,имитируемая при нажатии кнопкиДисассемблер, исходный текстОкна памяти, текстовых файловPSWConsoleЛеваяF4PgDn1ПробелТип окнаПравая; Ctrl-F3PgUp0F8СредняяF6Shift-InsEnterEnterПри работе с окнами памяти, дисассемблированного текста, исходного текста и текстовых файлов можно свертывать окна по строкам, двигая "мышь" при нажатой левой кнопке. Поместив курсор на изображение метки функциональной клавиши в последней строкеэкрана и нажав кнопку "мыши", можно получить действие соответствующей функциональной клавиши, в том числе и в комбинации с Alt-, Ctrl- и Shift- клавишами.С помощью мыши можно также перемещать окна по экрану, менять их размер, закрывать и др.- 12 -Переназначение действия кнопок "мыши"Действие кнопок "мыши" может быть переназначено для любого окна, в том числе итого, для которого действуют кнопки по умолчанию.
Перед переназначением кнопок следуетпоместить курсор в нужное окно. Если курсор не находится в окне, то будет переназначенодействие кнопок по умолчанию.Для переназначения кнопок "мыши" нужно ввести команду команднойстроки"MKEYS". E52 запросит комбинацию клавиш для каждой из кнопок мыши. В ответ следуетнажать комбинацию клавиш на клавиатуре. Этой комбинацией может быть и комбинация, накоторую назначен макрос. В этом случае при нажатии кнопки "мыши" будет исполнятьсямакрос.5. СОСТАВ И РЕКОМЕНДАЦИИ ПО РАЗРАБОТКЕ ПРОГРАММНОГООБЕСПЕЧЕНИЯ ЛОКАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ5.1. Требования к программному обеспечению микроконтроллеровОрганизация программного обеспечения управляющих контроллеров ввиду принципиального различия целей должна в корне отличаться от программного обеспечения персональных компьютеров.
Цель персонального компьютера – обрабатывать информацию пользователя, используя ряд программ универсального, специализированного и специальногоназначения. Основу ПО составляет здесь развитая универсальная операционная система, подуправлением которой запускаются и выполняются разнообразные программы пользователя.Какие? Да самые разные, кто компьютер с операционной системой купит, тот и знает. «Повиснет» компьютер, вздохнет пользователь и перезагрузит его, радуясь, что недавно сохранил информацию, или наоборот…, если не сделал этого.Цель промышленного контроллера – управлять технологическим оборудованием или егоотдельными элементами в «жестком» реальном времени, реализуя основные целевые функции по проведению директивной (предписанной) технологии, сервисные функции по обеспечению наилучших условий для проведения целевых функции, функций коррекции цели,заключающихся в перенастройке программ для реализации целевой функции.
Здесь задачаоперационной системы принципиально другая – поддерживать бесперебойное выполнениеконкретного ПО в «жестком» реальном времени. «Повиснет» компьютер, управляющейядерным реактором… .Как автоматически обнаружить зависание Вы знаете из курса лекций. Операционная система должна перезапустить всю программу или ее элементы мгновенно, как будто ничегоне произошло.
А если зависание глобально и висит сама ОС? Компьютер автоматически перезапустится, но ОС вместе с ПО должны в кратчайшие сроки восстановить работоспособность объекта. Вы знаете, сколько грузится многозадачная ОС Windows XP? Как это соотносится с миллисекундами, подчас отводимыми на реакцию?Строить сходным образом универсальное «офисное» и специальное управляющее ПО ибазировать их на одинаковые операционные системы не следует, хотя подчас это делается.Иногда по непониманию или неумению программировать под специальные ОС, иногда победности, стоят такие системы и среды программирования дорого.В идеале, управляющая программа должна работать самостоятельно без всякой операционной системы, коды команд отделены от данных и помещены в РПЗУ, данные размещены вэнергонезависимом ОЗУ и защищены от несанкционированного изменения на случай сбоев изависаний.
Что-то я начал описывать нашу «однокристаллку» со встроенным супервизором.Кстати, в семействе MCS-51 сейчас выпускаются и такие кристаллы. Но все же, так сейчасникто не программирует. Дело в том, что существует целый ряд коротких подпрограмм илиутилит общего применения, которые применяются практически в каждой программе. Онисоставляют так называемое ядро или базовую операционную систему. Это:- программа тестирования микроконтроллера;- утилиты двойной арифметики там, где не достаточно считать до 255 но хватит 65538;- 13 --утилиты арифметики с плавающей запятой, если это потребуется;утилиты проверки целостности управляющей программы;утилиты настройки приемопередатчика на стандартные протоколы обмена и утилитыреализации обмена;- диспетчер процессов или квантов в «жестком» реальном времени- утилиты расчета управляющих воздействий по типовым законам управления и т.п.Программа тестирования микроконтроллера является универсальной утилитой, проверяющей его работу (выполнение регламентированных операций) и поставляется фирмой Intel.Ее нетрудно найти.
Мы в своей работе эту утилиту использовать не будем, считая, что МКзаведомо исправен. Тестирование эмулятора проводится всякий раз при загрузке программыподдержки аппаратно-программного эмулятора.Утилиты двойной арифметики и утилиты арифметики с плавающей запятой также универсальны и коллектив разработчиков ПО обычно располагает проверенным комплектом таких подпрограмм. То же можно сказать и об утилитах настройки приемопередатчика настандартные протоколы обмена и реализации обмена.Для проверки целостности управляющей программы обычно всякий раз при включениипросчитывают сумму ее кодов с нарастающим итогом и сравнивают с фактической величиной суммы, которая просчитана заранее и записана в РПЗУ.