ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.12.2024
Просмотров: 2562
Скачиваний: 2
СОДЕРЖАНИЕ
Микропроцессорные устройства систем управления
1. Общая характеристика микропроцессоров.
1.1. Структура микропроцессора и его реализация.
1.2. Классификация современных микропроцессоров и их характеристики.
1.3. Принципы управления микропроцессорами.
1.4. Структура и типы команд микропроцессора.
1.5. Способы адресации информации и прерывание работы в микропроцессоре.
Косвенная регистровая адресация.
1.6. Организация ввода и вывода данных в микропроцессоре.
1.7. Система команд микропроцессора.
2. Принципы организации и применения микропроцессорных систем.
2.1. Особенности организации структуры мп-системы.
2.2. Структура мп-системы с общей шиной.
2.4. Применение мп-системы в качестве контроллера и системы сбора данных.
3. Основы программирования микропроцессоров.
3.1. Языки программирования микропроцессоров.
3.2. Программирование на языке ассемблера.
3.3. Средства разработки и отладки прикладных программ.
Средства отладки и диагностирования
Аппаратно-программные средства:
4. Типовые микропроцессоры и их применение.
4.1. Структура и характеристика типовых мп.
4.2. Система команд однокристального микропроцессора.
4.3. Примеры написания программ.
5. Мультипроцессорные системы, транспьютеры.
5.1. Классификация систем параллельной обработки данных
Конвейерная и векторная обработка.
Многопроцессорные машины с simd-процессорами.
Многопроцессорные системы с общей памятью
5.2 Мультипроцессорная когерентность кэш-памяти.
5.3. Многопроцессорные системы с локальной памятью и многомашинные системы
Конечно, столь широкий набор функциональных возможностей в сочетании с дружественным интерфейсом и тем фактом, что функции интегрированных сред разработки становятся принадлежностью программных интерфейсов наиболее продвинутых эмуляторов и отладчиков-симуляторов, делает внутрисхемные эмуляторы наиболее мощным и универсальным средством отладки.
Внутрисхемный эмулятор – программно-аппаратное средство, способное замещать собой эмулируемый процессор в реальной схеме. Внутрисхемный эмулятор - это наиболее мощное и универсальное отладочное средство.
Одним из наиболее распространенных на данный момент является внутрисхемный JTAG эмулятор, предназначенный для отладки и программирования микроконтроллеров различных фирм (Atmel, Intel, Texas Ins.), имеющих функцию отладки с использованием 4-хпроводного последовательногоJTAG интерфейса,реализующего метод периферийного сканирования, то есть получения последовательности состояний выводов исследуемого устройства. В настоящее время предлагается две альтернативные реализации: так называемый улучшенный JTAG (EJTAG) от фирмы MIPS и интерфейс NEXUS (IEEE-ISTO 5001). Существуют также специализированные отладочные интерфейсы отдельных фирм, как, например, BDM фирмы Motorola, позволяющий считывать и записывать данные в отдельные ячейки памяти и регистры, читать и записывать данные в непрерывные блоки памяти, а также останавливать и возобновлять исполнение программы с указанного адреса (который может быть исходным или модифицированным значением регистра счетчика команд). Для отладки устройств типа 8051 и С166, которые не являются однокристальными и в которых порты 0 и 2 используются в качестве внешней шины, могут применяться системы ICE-Connect. Особенно они полезны для эмуляции систем с высокой степенью интеграции, где необходимо протестировать покрытие кода в окончательной версии программы и с окончательным составом технических средств.
Функционально внутрисхемные эмуляторы делятся на стыкуемые с внешней вычислительной машиной (IBM PC), и функционирующие автономно. Автономные внутрисхемные эмуляторы имеют индивидуальные вычислительные ресурсы, средства ввода-вывода, не требуют для своей нормальной работы стыковки с какими-либо внешними вычислительными средствами, но за это пользователю приходится расплачиваться либо существенно более высокой ценой, либо пониженными функциональными и сервисными возможностями по сравнению с аналогичными моделями, стыкуемыми с IBM PC.
Обычно, стыковка внутрисхемного эмулятора с отлаживаемой системой производится при помощи эмуляционного кабеля со специальной эмуляционной головкой. Эмуляционная головка вставляется вместо микроконтроллера в отлаживаемую систему. Если микроконтроллер невозможно удалить из отлаживаемой системы, то использование эмулятора возможно, только если этот микроконтроллер имеет отладочный режим, при котором все его выводы находятся в третьем состоянии. В этом случае для подключения эмулятора используют специальный адаптер-клипсу, который подключается непосредственно к выводам эмулируемого микроконтроллера.
Как минимум, эмулятор содержит следующие функциональные блоки:
Отладчик;
Узел эмуляции микроконтроллера;
Эмуляционная память;
Подсистема точек останова.
Более продвинутые модели могут содержать дополнительно:
Процессор точек останова;
Трассировщик;
Профилировщик (анализатор эффективности программного кода);
Таймер реального времени;
Программно-аппаратные средства, обеспечивающие возможность чтения и модификации ресурсов эмулируемого процессора “на лету”, т.е. в процессе выполнения программы пользователя в реальном времени;
Программно-аппаратные средства, обеспечивающие синхронное управление, необходимое для эмуляции в мультипроцессорных системах;
Интегрированную среду разработки.
Отладчик является своеобразным мостом между разработчиком и отладочным средством. Состав и объем информации, проходящей через средства ввода-вывода, доступность ее для восприятия, контроля, и, при необходимости, для коррекции и модификации напрямую зависят от свойств и качества отладчика.
Хороший отладчик позволяет осуществлять:
Загрузку отлаживаемой программы в память системы;
Вывод на монитор состояния и содержимого всех регистров и памяти, и при необходимости, их модификацию;
Управление процессом эмуляции.
Более мощные отладчики, обычно их называют высокоуровневыми (High-Level Debuggers), помимо этого, позволяют:
Вести символьную отладку, благодаря тому, что отладчик “знает” адреса всех символьных переменных, массивов и структур (за счет использования специальной информации, поставляемой компилятором). При этом пользователь может оперировать более приемлемыми для человека символьными именами, не утруждая себя запоминанием их адресов;
Контролировать и анализировать не только дисассемблированный текст, но и исходный текст программы, написанной на языке высокого уровня, и даже с собственными комментариями.
Такой отладчик позволяет пользователю одновременно контролировать ход выполнения программы и видеть соответствие между исходным текстом, образом программы в машинных кодах, и состоянием всех ресурсов эмулируемого микроконтроллера.
Следует отметить, что высокоуровневый отладчик обеспечивает выполнение всех своих функций только в том случае, если используется кросс-компилятор, поставляющий полную и правильную отладочную информацию и при этом формат ее представления должен быть “знаком” отладчику.
Эмуляционная память. Наличие эмуляционной памяти дает возможность использовать ее в процессе отладки вместо ПЗУ в отлаживаемой системе, и более того, отлаживать программу без использования реальной системы или ее макета. При необходимости внесения изменений в отлаживаемую программу достаточно загрузить новую или модифицированную программу в память эмулятора, вместо того чтобы заниматься перепрограммированием ПЗУ.
Существуют модели эмуляторов, которые позволяют пользователю “подставлять” вместо ПЗУ эмуляционную память не только целиком, но и поблочно (в некоторых моделях минимальный размер блока может достигать одного байта), в порядке, определенном пользователем. Для этого пользователю достаточно задать распределение памяти данных и памяти программ, в соответствии с которым процессор будет получать доступ и к содержимому ПЗУ в отлаживаемой системе, и к содержимому эмуляционной памяти внутрисхемного эмулятора. Такая память обычно называется памятью с возможностью мэппинга.
Трассировщик. В сущности, трассировщик представляет собой логический анализатор, работающий синхронно с процессором и фиксирующий поток выполняемых инструкций и состояния выбранных внешних сигналов. Существуют модели внутрисхемных эмуляторов, которые позволяют трассировать не только внешние сигналы, но и состояния внутренних ресурсов микроконтроллера, например, регистров. Такие эмуляторы используют специальные версии микроконтроллеров (эмуляционные кристаллы).
Процессор точек останова. Процессор точек останова позволяет останавливать выполнение программы или выполнять иные действия, например, запускать или останавливать трассировщик при выполнении заданных пользователем условий. В отличие от механизма обычных точек останова, процессор точек останова позволяет формировать и отслеживать условия практически любой степени сложности, и при этом эмулируемый процесс не выводится из масштаба реального времени.
Профилировщик (иначе анализатор эффективности программного кода) позволяет получить по результатам прогона отлаживаемой программы следующую информацию:
Количество обращений к различным участкам программы;
Время, затраченное на выполнение различных участков программы.
Анализ статистической информации, поставляемой профилировщиком, позволяет легко выявлять “мертвые” или перенапряженные участки программ, и в результате оптимизировать структуру отлаживаемой программы.
Платы развития, или как принято их называть в зарубежной литературе - оценочные платы (Evaluation Boards), являются своеобразными конструкторами для макетирования прикладных систем. В последнее время, при выпуске новой модели кристалла микроконтроллера, фирма-производитель обязательно выпускает и соответствующую плату развития. Обычно это печатная плата с установленным на ней микроконтроллером, плюс вся необходимая ему стандартная обвязка. На этой плате также устанавливают схемы связи с внешним компьютером. Как правило, там же имеется свободное поле для монтажа прикладных схем пользователя. Иногда имеется уже готовая разводка для установки дополнительных устройств, рекомендуемых фирмой, например, ПЗУ, ОЗУ, ЖКИ-дисплей, клавиатура, АЦП и др. Кроме учебных или макетных целей, такие доработанные пользователем платы стало выгодно (экономия времени) использовать в качестве одноплатных контроллеров, встраиваемых в мало серийную продукцию (5..20 шт.).
Для большего удобства, платы развития комплектуются еще и простейшим средством отладки на базе монитора отладки. Однако, здесь проявились два разных подхода: один используется для микроконтроллеров, имеющих внешнюю шину, а второй - для микроконтроллеров, не имеющих внешней шины.
В первом случае отладочный монитор поставляется фирмой в виде микросхемы ПЗУ, которая вставляется в специальную розетку на плате развития. Плата также имеет ОЗУ для программ пользователя и канал связи с внешним компьютером или терминалом. Примером здесь может служить плата развития фирмы Intel для микроконтроллера 8051.
Во втором случае, плата развития имеет встроенные схемы программирования внутреннего ПЗУ микроконтроллера, которые управляются от внешнего компьютера. В этом случае, программа монитора просто заносится в ПЗУ микроконтроллера совместно с прикладными кодами пользователя. Прикладная программа при этом специально должна быть подготовлена: в нужные ее места вставляют вызовы отладочных подпрограмм монитора. Затем осуществляется пробный прогон. Чтобы внести в программу исправления, пользователю надо стереть ПЗУ и произвести повторную запись. Готовую прикладную программу получают из отлаженной путем удаления всех вызовов мониторных функций и самого монитора отладки. Примерами могут служить платы развития фирмы Microchip для своих PIC контроллеров. Такой же принцип и у плат для отладки микроконтроллеров 80С750 Philips или 89C2051 Atmel.
Аппаратное и программное обеспечение целевых плат позволяет:
Производить отладку программного обеспечения, в том числе и тестового, для разрабатываемого устройства до создания экспериментального образца c использованием различных режимов отладки (запуск, останов, установка точек останова, просмотр и изменение содержимого ячеек памяти и регистров, оценка времени, выполнения участков программы и т. п.);
Плата позволяет вести отладку программ в реальном времени и на реальном кристалле;
Вести отладку аппаратной части устройства на заранее подготовленных тестовых программах.
Важно отметить, что, плюс к монитору, иногда платы развития комплектуются еще и программами отладки, которые запускаются на внешнем компьютере в связке с монитором. Эти программы в последнее время заметно усложнились и зачастую имеют высокопрофессиональный набор отладочных функций, например, отладчик-симулятор или различные элементы, присущие в чистом виде интегрированным средам разработки. В состав поставляемых комплектов могут входить и программы прикладного характера, наиболее часто встречающиеся на практике.
Возможности по отладке, предоставляемые комплектом “плата развития плюс монитор”, безусловно, не столь универсальны, как возможности внутрисхемного эмулятора, да и некоторая часть ресурсов микропроцессора в процессе отладки отбирается для работы монитора. Тем не менее, наличие законченного набора готовых программно-аппаратных средств, позволяющих без потери времени приступить к монтажу и отладке прикладной системы, во многих случаях является решающим фактором. Особенно если учесть, что стоимость такого комплекта несколько меньше, чем стоимость более универсального эмулятора.
Эмулятор ПЗУ - программно-аппаратное средство, позволяющее замещать ПЗУ на отлаживаемой плате, и подставляющее вместо него ОЗУ, в которое может быть загружена программа с компьютера через один из стандартных каналов связи. Это устройство позволяет пользователю избежать многократных циклов перепрограммирования ПЗУ. Эмулятор ПЗУ имеет смысл только для микроконтроллеров, которые в состоянии обращаться к внешней памяти программ. Это устройство сравнимо по сложности и по стоимости с платами развития. Оно имеет одно большое достоинство: универсальность. Эмулятор ПЗУ может работать с любыми типами микроконтроллеров.
Ранние эмуляторы ПЗУ позволяли только загружать программу, запускать ее и останавливать, используя общий сброс. Затем появились усложненные модели с аппаратной выработкой сигналов трассировки по достижении определенного адреса на осциллограф. Эмулируемая память в таких изделиях была доступна для просмотра и модификации, но очень важный контроль за внутренними управляющими регистрами микроконтроллера был до недавнего времени невозможен.