Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Для эмуляторов необходим файл с расширением . coff (файл конфигурации). Файл содержит привязку к тексту программы на языке Си.
При создании нового проекта, с помощью мастера проектов мы выбираем тип проекта AVR GCC – это мультиплатформенный компилятор [5]. После чего выбираем отладочную платформу – AVR Simulator. Эмулятор (AVR Simulator) поддерживает практически все существующие МК. Выбрав платформу и модель МК, завершаем работу мастера нажатием кнопки «Finish», в результате чего будут сгенерированы и открыты необходимые файлы. Когда работа мастера проектов завершена, внешний вид рабочего пространства AVR Studio представлена на рисунке 1.3. Среда разработки – многооконная, т.е. все доступное пространство разделено на несколько областей-окон изменяемых размеров, каждая из которых предназначена для просмотра различной информации (на рисунке помечены номерами). Рисунок 1.3. Вид рабочего пространства AVR Studio Центральная область 1 содержит окно редактирования исходного текста. В этой области каждый файл может либо быть в отдельном окне (как на рисунке), либо может заполнять всю область целиком (если нажать кнопку «Развернуть»). В нижней части 2 центральной области размещаются закладки-ярлычки для быстрого переключения между открытыми файлами. Область 3 – это окно проекта, в котором в виде древовидной структуры показано содержимое всего проекта. Область 4 – окно периферийных устройств микроконтроллера. Оно имеет название « I/O View » - просмотр ввода-вывода, т.к. любое периферийное устройство для программиста представлено в виде набора портов ввода-вывода (или регистров ввода-вывода). В этом окне в виде раскрывающихся списков перечислены все аппаратные устройства выбранного микроконтроллера – таймеры, порты, АЦП и т.п. Во время написания исходного текста программы это окно поможет ориентироваться в назначении битов тех или иных регистров управления периферией, но гораздо более важную роль оно играет при отладке. Окно 5 – это многофункциональное окно вспомогательной информации. По умолчанию оно включает 4 закладки, каждая из которых отвечает за свои сведения: · Build – информация о результатах работы компилятора, здесь выводятся сообщения о ходе компиляции программы. · Message – сообщения. В этой области можно видеть все сообщения IDE: от сведений о загрузке модулей программы до сообщений об ошибках компилятора. · Find in Files – область результатов поиска по файлам. · Breakpoints and Tracepoints – точки останова и трассировки. В этой области перечислены все точки остановки исполнения и трассировки программы, которые программист установил для отладки. Наконец, область 6 – это традиционная область панелей кнопок, которые облегчают выполнение многих команд. Выше находится строка меню. Все рассмотренные области, кроме 1, могут менять свое расположение, размеры и даже отображаться в виде плавающих отдельных окошек. Внешний вид и расположение областей можно изменить при помощи вспомогательного меню, которое открывается при нажатии на кнопочку с треугольником в заголовке области. Это вспомогательное меню содержит следующие пункты: · Floating – сделать область «плавающей» · Docking – «прилепить» область к одному из краев рабочего пространства · Tabbed Document – оформить область в виде закладки другой области · Auto Hide – прятать автоматически, т.е. в режимах, когда область не требуется, она будет автоматически убрана с экрана · Hide – спрятать, т.е. убрать область с экрана. Эта команда равносильна нажатию на кнопочку с крестиком в заголовке. Окно периферии – это весьма гибко настраиваемое окно отображения ресурсов встроенных периферийных устройств МК. По умолчанию оно разделено на две части: в верхней перечислены наименования периферийных устройств, а в нижней – состояние регистров одного выбранного устройства [6]. На рисунке 1.4 показан вид окна, когда выбран аналоговый компаратор. Выбрать периферийное устройство можно или щелкнув на нем в окне, или выбрав из выпадающего списка в верхней части окна. В нижней части показаны регистры (столбец Name), управляющие аналоговым компаратором, с указанием адреса (столбец Address) регистра (без скобок указан адрес в области портов ввода-вывода, соответствующий регистру, а в скобках – адрес в пространстве ОЗУ). Кроме того, в столбце Value(значение) может быть показано текущее значение числа, хранимого в регистре (во время отладки), а в столбце Bits(биты) графически показаны состояния отдельных битов порта – черными квадратиками показаны единичные значения битов, пустыми (белыми) – нулевые, серым цветом показаны биты, не участвующие в управлении выбранным периферийным устройством. Рисунок 1.4. Вид окна, когда выбран аналоговый компаратор В AVR Studio имеются проблемы и ограничения у встроенного в него эмулятора. Все они описаны в соответствующих сопроводительных файлах, но на английском языке, здесь приведены описания наиболее важных моментов [7]. 1. Полностью или частично не эмулируются встроенные во все типы МК периферийные аналоговые устройства, а так же TWI и USI. 2. Полностью отсутствует поддержка эмуляции «теневых» регистров у всех МК. Это проявляется, в частности, в том, что в режимах Fast-PWM и Phase-correct PWM значение регистра OCR не обновляется при достижении счетчиком TCNT верхнего значения. 3. Не поддерживается эмуляция регистра ASSR, т.е. невозможна корректная отладка программ, использующих асинхронные режимы таймера. 4. Не для всех типов МК поддерживаются корректно обращения к 16-битным регистрам (в частности, не эмулируется «защелкивание» значения после чтения младшего байта). 5. Некоторые биты в регистрах, которые должны сбрасываться в ноль при записи 1, могут сбрасываться и при записи 0. 6. Эмулятор выводит сообщение всякий раз, когда осуществляется попытка выполнить инструкцию, не поддерживаемую выбранным МК, что делает отладку практически невозможной. Отключить это невозможно, кроме как исправить программу пользователя. 7. В окне Watch значения массивов обновляются не всегда. Чтобы обновить значения массива, наблюдаемого в этом окне, необходимо выполнить «сворачивание» и последующее его «разворачивание». 8. Некоторые типы переменных не отображаются корректно (например, long long). 9. Не реализовано разделение секций кода для эмуляции режимов записи в память программ. 10. Поддерживается только один режим «сна» – Idle mode. 11. WDT поддерживается не для всех моделей МК. Для некоторых моделей корректные интервалы WDT реализовываются только для тактовой частоты 1 МГц. В некоторых случаях при истечении интервала WDT программа не останавливается на точке останова по вектору сброса. 12. Эмулятор допускает запись в регистры PINx, причем записанное значение сохраняется там. 13. Эмулятор некорректно обеспечивает работу с портами ввода-вывода, в которых физически недоступна часть битов – все 8 битов могут использоваться в программе. 14. Регистр UDR модуля USART (UART) не может быть модифицирован никаким способом «извне» – ни вручную пользователем, ни при помощи стимуляции портов. 15. Корректная работа с парой «совмещенных» регистров USRC и UBRRH возможна только в том случае, если запись в UBRRH осуществляется только после записи в UBRC. 16. Для всех микроконтроллеров не реализована эмуляция «удвоенной» скорости SPI. 17. Не реализовано отключение периферии при помощи регистра PRR – и «отключенная» периферия продолжает эмулироваться нормально. |
Последнее изменение этой страницы: 2019-10-05; Просмотров: 238; Нарушение авторского права страницы