Ответы на вопросы (953577), страница 7
Текст из файла (страница 7)
Раздел «Building Projects »
µVision2 содержит встроенную утилиту make, которая используется для компиляции, ассемблирования и линкования программ. При щелке на кнопку Build Target осуществляется компиляция исходного файла. Ассемблер и компилятор автоматически генерируют зависимости между файлами и добавляют их в проект. Благодаря этой информации вновь обрабатываются только те файлы, которые претерпели изменения или файлы, включающие измененные файлы. Во время компиляции и ассемблирования µVision2 исходного файла, в окне Output Window появляется статусная информация, сообщения об ошибках и предупреждения.
При двойном щелчке на сообщение об ошибке или на предупреждение происходит переход к редактированию файла (при этом µVision2 продолжает обработку исходного файла в фоновом режиме). Номера строк ошибок и предупреждений синхронизированы и соответствуют факту после внесения исправлений в исходный файл. Для получения справки о сообщении об ошибке следует выбрать сообщение и нажать клавишу F1. При глобальной оптимизации µVision2 неоднократно компилирует исходный файл для достижения оптимального использования регистров.
Все параметры проекта сохраняются в специальном файле, который содержит список исходных файлов, командные строки компилятора, ассемблера, редактора, отладчика, симулятора и утилиты make. При использовании этого файла компиляция и линковка проекта происходят по нажатию одной клавиши.
Изменять настройки компиляции файлов, target-программ и групп можно через меню Project -> Options for…
Раздел «Source Code Editor»
Интегрированный в µVision2 редактор значительно облегчает подготовку исходного текста за счет многооконности, выделения синтаксиса цветом и исправления ошибок в режиме диалога. Редактор настраивается на конкретный проект и в соответствии со вкусами пользователя. Редактирование остается доступным и во время отладки программы. Это создает все условия для быстрого тестирования и корректировки Вашего приложения.
Раздел «Integrated Utilities»
µVision2 содержит мощные средства, облегчающие создание проекта:
-
Source Browser - база данных программных символов для быстрой навигации по исходному файлу;
-
Find in Files - полный поиск во всех выделенных файлах;
-
Tools Menu - утилиты других фирм из µVision2 IDE;
-
SVCS - контроль версии программного обеспечения;
-
PC-Lint - анализ синтаксиса исходного кода;
-
Flash tool - утилиты загрузки flash-памяти;
-
Easy CASE - генерация кода при задании программы на уровне блок-схемы;
-
DAvE - автоматическая генерация программ и драйверов для периферии МК Infineon.
Инструмент µVision2 Debugger
µVision2 Debugger фирмы Keil позволяет вести отладку исходных текстов программ, написанных на С и ассемблере или в смешанном формате, сохраняет историю трассировки и позволяет выбирать между симулятором, монитором и внутрисхемным эмулятором.
-
CPU & Peripheral Simulator - симулятор CPU и периферии;
-
Performance Analyzer & Code Coverage - анализаторы производительности и эффективности кода;
-
Target Monitor - отладочный монитор;
-
µVision2 Cx51 Target Debugger - интерфейс к отлаживаемому устройству через драйверы AGDI;
-
µVision2 C166/ST10 Target Debugger - поддержка начальной загрузки Bootstrap и интерфейса OCDS/JTAG
-
Breakpoints - точки останова;
-
Debug Function Scripts - C-подобный язык для записи функций;
-
Variables and Memory - просмотр областей памяти и регистров.
Утилита «CPU & Peripheral Simulator»
µVision2 Simulator - чисто программный продукт, который осуществляет отладку в исходных кодах, симуляцию на уровне символов и отладку непосредственно на рабочей плате - Target debugging. Моделируется вся система команд и все периферийные устройства. Так, в µVision2 Simulator для C166/ST10 полностью поддержан MAC - встроенный умножитель-аккумулятор.
Для просмотра и изменений установок периферии служат специальные диалоговые окна. Симулятор полностью поддерживает периферийные устройства микроконтроллера посредством специальных драйверов xxx.DLL.
Для симуляции аппаратной части МК 8051 Keil предлагает Advanced Generic Simulation Interface (AGSI). AGSI является спецификацией API, расширяющей возможности симуляции с помощью диалоговых настроек. Кроме AGSI DLL от третьих фирм поддержаны распространенные МК: Philips 51MX, Dallas 390, Analog Devices, Atmel, Mentor M8051EW
В распоряжение пользователя предоставляется ряд окон, отображающих состояния таймеров, портов, прерываний, сторожевого таймера, последовательного порта, аналогово-цифрового преобразователя и т.д. Параметры этих устройств могут быть установлены и изменены в соответствии с контекстом приложения. µVision2 Simulator позволяет проводить пошаговую отладку программы, просматривая ее в окне Debug. Трассировщик запоминает команды и позволяет их просматривать в окне Trace. Изменение заранее заданных переменных отслеживает окно Watch. Последовательность вызова процедур отображается в окне Call-Stack.
Утилита Performance Analyzer & Code Coverage
В µVision2 Debugger встроен анализатор производительности Performance Analyzer, который фиксирует время исполнения программных модулей. Задавая список модулей для анализа, пользователь получает диаграмму затрат времени на каждую часть программы.
µVision2 Debugger позволяет также провести анализ эффективности кода Code Coverage, локализуя части программы, к которым редко происходит обращение, что позволяет удалить ненужный код.
Утилита «Target Monitor»
При отладке программ на плате в качестве интерфейса используется специально сконфигурированный отладочный монитор, загружаемый в ОЗУ с помощью встроенного начального загрузчика или прошиваемый в EPROM. Программа монитор обеспечивает прямой интерфейс для отладчика/симулятора и легко настраивается на любой микроконтроллер. При помощи монитора производится комплексная отладка приложения на плате. В остальном же отладка ничем не отличается от режима симуляции. Требования к ресурсам микроконтроллера со стороны монитора минимальны.
Инструмент µVision2 Cx51 Target Debugger
В µVision2 Debugger для Cx51 интерфейс к отлаживаемому устройству осуществляется через драйверы Advanced Generic Debugger Interface (AGDI). На сегодняшний день существуют следующие драйверы:
-
Monitor-51 - конфигурируемый монитор для отлаживаемого устройства, который прошивается в ROM устройства (поставляется со многими оценочными платами);
-
Monitor-390 - конфигурируемый монитор для Dallas contiguous mode;
-
ISD51 - внутрисхемный отладчик для стандартных МК 8051;
-
EPM900 - эмулятор/программатор для Philips LPC900;
-
SmartMX DBox - эмулятор для Philips Smartcards;
Некоторые из МК подключаются к µVision2 Debugger также с помощью драйверов AGDI: ChipCon CC1010, Cygnal 51Fxxx, Cypress USB, Infineon SLE66, SST FlashFlex51, Triscend E5;
Драйверы µVision2 AGDI доступны также для многих эмуляторов.
Раздел «Breakpoints»
µVision2 предлагает широкие возможности по заданию простых и условных точек останова. Условием останова может быть или результат выражения или операция обращения к ячейке памяти/ переменной (чтение, запись, доступ). Для редактирования и просмотра параметров контрольных точек служит окно Breakpoint. Точки останова могут остановить исполнение программы или запустить команду или сценарий отладчика.
Раздел «Debug Function Scripts»
Для автоматизации типовых операций, выполняемых при отладке, могут быть созданы специальные командные файлы. Для ввода этих команд служит окно Command или окно Toolbox. Кроме того µVision2 поддерживает C-подобный функциональный язык, позволяющий генерировать:
Встроенные функции типа printf, memset, rand и другие
Сигнальные функции для моделирования аналоговых и цифровых входных/выходных сигналов CPU
Функции пользователя для расширения возможностей команд и повторяющихся операций
Раздел «Variables and Memory»
В распоряжении пользователя находятся окна для просмотра областей памяти Memory и состояний регистров Register. С помощью окна Serial I/O становиться возможной наглядная симуляция последовательного ввода/вывода. µVision2 предлагает несколько путей для просмотра и изменения переменных и памяти:
-
Поместить указатель мышки над переменной, чтобы посмотреть ее значение
-
Использовать окно Watch для просмотра и изменения локальных и определенных пользователем переменных
-
Использовать окно Memory для просмотра и редактирования до 4-х массивов памяти.
-
Функциональные возможности внутрисхемных эмуляторов. Достоинства и недостатки внутрисхемных эмуляторов. Внутрисхемный эмулятор 8-разрядных микроконтроллеров семейства 8051 PICE-51. Программные симуляторы. Платы развития. Отладочные мониторы. Эмуляторы ПЗУ.
Внутрисхемные эмуляторы
Внутрисхемный эмулятор - программно аппаратное средство, способное замещать собой эмулируемый процессор в реальной схеме. Внутрисхемный эмулятор - это наиболее мощное и универсальное отладочное средство. По сути дела, “хороший” внутрисхемный эмулятор делает процесс функционирования отлаживаемого контроллера прозрачным, т.е. легко контролируемым, произвольно управляемым и модифицируемым по воле разработчика.
Функционально внутрисхемные эмуляторы делятся на
-
стыкуемые с внешней вычислительной машиной (обычно это бывает IBM PC)
-
функционирующие автономно.
Автономные внутрисхемные эмуляторы имеют индивидуальные вычислительные ресурсы, средства ввода-вывода, не требуют для своей нормальной работы стыковки с какими-либо внешними вычислительными средствами, но за это пользователю приходится расплачиваться либо существенно более высокой ценой, либо пониженными функциональными и сервисными возможностями по сравнению с аналогичными моделями, стыкуемыми с IBM PC.
Обычно, стыковка внутрисхемного эмулятора с отлаживаемой системой производится при помощи эмуляционного кабеля со специальной эмуляционной головкой. Эмуляционная головка вставляется вместо микроконтроллера в отлаживаемую систему. Если микроконтроллер невозможно удалить из отлаживаемой системы, то использование эмулятора возможно, только если этот микроконтроллер имеет отладочный режим, при котором все его выводы находятся в третьем состоянии. В этом случае для подключения эмулятора используют специальный адаптер-клипсу, который подключается непосредственно к выводам эмулируемого микроконтроллера.
Как минимум, эмулятор содержит следующие функциональные блоки:
-
Отладчик;
-
Узел эмуляции микроконтроллера;
-
Эмуляционная память;
-
Подсистема точек останова.
-
Более продвинутые модели могут содержать дополнительно:
-
Процессор точек останова;
-
Трассировщик;
-
Профилировщик (анализатор эффектив-ности программного кода);
-
Таймер реального времени;
-
Программно-аппаратные средства, обеспечивающие возможность чтения и модификации ресурсов эмулируемого процессора “на лету”, т.е. в процессе выполнения программы пользователя в реальном времени;
-
Программно-аппаратные средства, обеспечивающие синхронное управление, необходимое для эмуляции в мультипроцессорных системах;
-
Интегрированную среду разработки.
Некоторые модели внутрисхемных эмуляторов могут предоставлять пользователям и другие дополнительные возможности. Среди них отметим одну, хотя и достаточно специфическую, но в ряде случаев имеющую принципиальное значение: возможность построения многоэмуляторных комплексов, необходимых для отладки мультипроцессорных систем. Отличительной особенностью такого комплекса является возможность синхронного управления (с одного компьютера) несколькими эмуляторами.
В общем случае, различные модели внутрисхемных эмуляторов могут предоставлять пользователю возможности по контролю и управлению функционированием отлаживаемых устройств с разного рода ограничениями. Например, это может быть некорректное обрабатывание прерываний в пошаговом режиме, или запрет на использование последовательного порта и т.п.. Также необходимо помнить, что каждая реальная модель эмулятора имеет свой набор поддерживаемых компиляторов. Некоторые фирмы-производители эмуляторов сознательно идут на ограничение количества поддерживаемых компиляторов, в первую очередь это характерно для западных производителей. В этих случаях эмулятор умеет пользоваться только одним символьным форматом.