Ответы к ГосЭкзамену 220402 (Информатика) (1088974), страница 17
Текст из файла (страница 17)
Язык программированияPLМ51 поддерживает модульное написание программ. Процесс разработки программ на языке программирования PLM-51 показан на рисунке 1.Рисунок 1. Процесс написания программы на языке программирования PLM-51.58При разработке программного обеспечения выполняются следующие этапы:постановка задачи (полное определение решаемой проблемы);разработка принципиальной схемы и выбор необходимого программного обеспечения;разработка системного программного обеспечения.
Этот важный шаг состоит из нескольких этапов,включающих: описание последовательности выполняемых каждым блоком задач, выбор языка программирования и используемых алгоритмов;написание текста программы и подготовка к трансляции при помощи любого текстового редактора;компиляция программы;исправление синтаксических ошибок, выявленных компилятором, в текстовом редакторе с последующей перетрансляцией;создание и сохранение библиотек часто используемых объектных модулей при помощи программыlib51.ехе;связывание полученных перемещаемых объектных модулей в абсолютный модуль и размещениепеременных в памяти микроконтроллера при помощи редактора связей rl51.exe;создание программы, записываемой в ПЗУ микроконтроллера (загружаемый модуль) в hex формате,при помощи программы oh.exe;проверка полученной программы при помощи символьного отладчика или других программных илиаппаратных средств.Файл, в котором хранится программа, написанная на языке PLМ51 (исходный текст программы), называетсяисходным модулем.
Для исходного текста программы принято использовать расширения файла: plm илиp51. Исходный текст программы можно написать, используя любой текстовый редактор.Получить объектный модуль можно, указав имя исходного модуля программы в качестве параметра программы-транслятора в DOS строке или строке командного файла:plm51.exe modul.plmВ этом примере в результате трансляции исходного текста программы, содержащегося в файле modul.plmбудет получен объектный модуль, который будет записан в файл с именем modul.obj.
Как показано на рисунке 1, объектный модуль не может быть загружен в память программ микроконтроллера. В память микроконтроллера загружается исполняемый модуль.Получить исполняемый модуль программы можно, указав все имена объектных модулей программы в качестве параметров программы редактора связей в DOS строке или строке командного файла:rl51.exe main.obj, modul1.obj, modul2.objИмя исполняемого модуля программы по умолчанию совпадает с именем первого объектного файла в списке параметров строки запуска редактора связей. Исполняемый модуль программы записывается в файл безрасширения.
При выполнении приведённой выше в качестве примера командной строки будет получен исполняемый модуль, который будет записан в файл с именем main.Большинство программаторов, предназначенных для записи информации в память программ микроконтроллеров, не может работать с объектным форматом исполняемого модуля программы, поэтому для загрузкимашинного кода в процессор необходимо преобразовать объектный формат исполняемого модуля в общепринятый для программаторов гексадецимальный формат. При преобразовании форматов вся отладочнаяинформация теряется. Машинный код процессора в гексадецимальном формате называется загрузочныммодулем.Загрузочный модуль программы можно получить при помощи программы-преобразователя программыoh.exe, передав ей в качестве параметра имя файла исполняемого модуля программы, например:oh.exe main59В результате выполнения этой командной строки будет получен загрузочный модуль программы, которыйбудет записан в файл с именем main.obj.Отладка программ.После того, как программные модули были успешно оттранслированы, размещены по конкретным адресами связаны между собой, для отладки программы можно воспользоваться любым из методов, показанных нарисунке 1:внутрисхемным эмуляторомвстроенным программным отладчикомвнешним программным отладчикомотлаживаемым устройством с записанным в память программ двоичным кодом программыВнутрисхемный эмулятор с отображением переменных языка программирования на дисплее компьютераоказывает значительную помощь при отладке программ непосредственно на разрабатываемой аппаратуре.Этот метод отладки предоставляет наиболее удобную среду, когда можно непосредственно в отлаживаемомустройстве останавливать программу, контролировать выполнение программы непосредственно по исходному тексту программы, состояние внешних портов и внутренних переменных, как входящих в состав микросхемы, так и объявленных при написании исходного текста программы.При отладке программы с использованием внутрисхемного эмулятора необходимо включать в объектныемодули символьную информацию.
Для этого используются директивы компилятора. В компиляторе языкапрограммирования PLM-51 возможны следующие действия:включение информации о типе переменных для проверки типов при связывании модулей. Эта жеинформация используется внутрисхемным эмулятором. Исключение информации о переменныхпользователя может использоваться для создания прототипов или для уменьшения размера объектного модуля;включение или исключение таблиц символьной информации;конфигурация вызовов подпрограмм для обеспечения связывания с модулями, написанными наязыке программирования ASM-51;определение желаемого содержания и формата выходного листинга программы. Распечатка промежуточных кодов на языке ассемблер после компилирования программ, написанных на языке программирования PLM-51. Включение или исключение листингов отдельных блоков исходного текста.3.
Многопроцессорные системы управления (МПСУ): основные структурные схемы,централизованные и децентрализованные МПСУ. Иерархические МПСУ. Принципыорганизации обмена межпроцессорной информацией в МПСУ.Идея применения в управлении роботами не однопроцессорных, а многопроцессорных систем возниклапо следующим причинам: 1. робот – сложное устройство, следовательно, сложно написать программууправления. Для написания программы нужно будет много высококвалифицированных программистов илиразделение задач на тактический, приводной, стратегический, информационный уровни.
Для каждогоуровня может быть децентрализация управления: отдельно выделены задачи взаимодействия уровней и др.Выполнение различных задач предполагает разные требования к МП. Сложно найти одну такую машину.Поэтому применяют иерархические системы, это вызвано иерархией задач. 1. Вычислительная машина илимного ВМ. Не забудьте про реальное время – выбор интерфейса. Штыков А.В.Необходимость создания интеллектуальных мобильных роботов (ИМР), способных автономно функционировать в условиях, опасных для жизни человека, назрела во многих областях науки и техники, например,при проведении космических и подводных исследований, при работе в зоне радиоактивного или химического загрязнения, при создании безэкипажных боевых машин и т.
д.60Однако до сих пор интеллектуальные роботы не выходят из стен лабораторий. Это связано с большимитрудностями как алгоритмического, так и аппаратурного характера, возникающими при создании системуправления подобных роботов.Постановка задачиС точки зрения алгоритмического обеспечения, на систему управления ИМР возлагается сложный комплексзадач, структура которого показана на рис. 1. В него входят такие задачи, как:_ обработка комплексной сенсорной информации (телевизионной, дальнометрической, тепловизионной и т.д.) и формирование на ее основе модели видимой зоны среды движения;_ накопление и корректировка базы знаний робота о среде на основе моделей, формируемых с помощьюсенсорных устройств;_ планирование оптимального движения робота к цели на основе накопленной в базе знаний информации осреде и принятие решения о текущем движении робота с учетом его динамических свойств;_ формирование управляющих воздействий на исполнительные устройства робота для отработки выбранного движения;_ обработка навигационной информации и определение координат текущего положения робота в среде, атакже текущих значений его курса, крена и дифферента;_ определение целевого положения робота и обеспечение безопасности его движения в ближней зоне препятствий.61С точки зрения аппаратурной реализации, система управления ИМР должна отвечать двум основным требованиям: с одной стороны, она должна обладать быстродействием, достаточным для решения возлагаемогона нее комплекса задач движения ИМР в реальном времени, а с другой стороны, должна отвечать типичнымтребованиям к бортовым системам, то есть быть компактной, надежной и потреблять мало энергии.Возможность решения всего комплекса задач, возлагаемых на систему управления ИМР на базе однопроцессорного вычислительного устройства, очень проблематична.Проведенное моделирование показало, что для удовлетворения требований реального времени эквивалентная производительность такого устройства должна, по крайней мере, в 50_100 раз превышать производительность процессора Pentium 100, причем эти цифры существенно возрастают при увеличении скоростидвижения ИМР.
С другой стороны,жесткие требования к бортовому оборудованию, такие как малые габариты ивысокая надежность, ограничивают возможности использования сверхбыстродействующих суперкомпьютеров для создания систем управления ИМР.Таким образом, к системе управления ИМР предъявляются следующие противоречивые требования: с однойстороны, она должна обладать высоким быстродействием, обеспечивающим возможность решения задачобработки информации и принятия решения в реальном времени, с другой стороны, она должна отвечатьжестким требованиям, предъявляемым к бортовым устройствам.