Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование МПС(лаб.метод).doc
Скачиваний:
132
Добавлен:
10.02.2016
Размер:
1.39 Mб
Скачать

1.2 Описание интерфейса. Главная панель программы «avr Studio»

На рис. 1.1 показано, как выглядит главная панель программы «AVR Studio». На самом деле «AVR Studio» имеет очень гибкий интерфейс, и внешний вид может сильно отличаться от варианта, показанного на рисунке. Но мы будем рассматривать случай, когда выбраны установки по умолчанию.

Главная панель программы AVR Studio разделена на три основных окна. На рис. 1.1 они обозначены цифрами 1, 2 и 3. Первые два окна — вспомогательные. Окно 1 предоставляет нам полную информацию о текущем проекте. По умолчанию это окно включает в себя три вкладки. «Корешки» этих вкладок вы можете видеть в нижней части окна.

Первая вкладка называется «Info». Она содержит справочную информацию по используемому микроконтроллеру: описание векторов прерываний; описание выводов для разных корпусов и краткое описание регистров.

Следующая вкладка называется «Project». Она содержит информацию по текущему загруженному проекту. Информация представлена в виде дерева. Разные ветви этого дерева описывают все исходные и результирующие файлы проекта, все метки, процедуры и присоединяемые файлы.

Последняя вкладка окна номер 1 называется «I/O View» (просмотр ввода—вывода). Это самая полезная вкладка. На ней в графическом виде показаны все ресурсы микроконтроллера:

  • порты ввода – вывода;

  • таймеры;

  • компараторы;

  • АЦП;

  • регистры общего назначения и т. д.

Вся информация также представлена в виде дерева. Каждая «ветвь» этого дерева – это отдельный элемент. Если какой-либо элемент cостоит из других элементов, то его можно раскрыть и увидеть эти элементы.

Элементы, появляющиеся в результате раскрытия ветви, также могут быть раскрыты, если они имеют свое содержимое. На рис. 1.2 в увеличенном виде показано дерево ресурсов микроконтроллера ATiny2313. На рисунке несколько ветвей специально раскрыты, чтобы можно было увидеть их состав.

Если какая-либо ветвь может быть раскрыта, то в своем основании она имеет квадратик с плюсиком внутри. Двойной щелчок на этом плюсике раскрывает ветвь. В раскрытой ветви плюсик превращается в минус. Повторный двойной щелчок по квадратику закрывает раскрытую ветвь.

На рис. 1.2 для наглядности раскрыты ветви всех трех портов ввода-вывода и регистры, связанные с EEPROM. Вы можете видеть:

  • полный состав управляющих регистров для каждого из устройств;

  • их названия и адреса;

  • состав и название каждого бита (если биты имеют свои названия).

Также для наглядности на рис. 1.2 раскрыта ветвь, соответствующая регистру EECR, и можно видеть все его биты.

Рис. 1.2 – Окно ресурсов микроконтроллера

В процессе отладки в этом окне вы увидите не только название и состав всех ресурсов, но и их содержимое. Содержимое будет отображаться как в шестнадцатеричном коде, так и путем затемнения квадратиков, отображающих отдельные биты, конкретных регистров.

Затемненный квадратик означает, что бит равен единице. Светлый квадратик говорит о том, что бит равен нулю. Вы также можете оперативно менять это содержимое прямо в этом окне. Для изменения значения бита достаточно двойного щелчка мышки в соответствующем квадратике. Существуют и другие способы изменения содержимого различных регистров и ячеек памяти в процессе отладки.

В нижней части главной панели находится второе вспомогательное окно (окно 2 на рис. 1.1). Это окно служит, в основном, для вывода различных сообщений. Оно также содержит ряд вкладок. По умолчанию их четыре. Первая вкладка называется «Build». На вкладке «Build» отражается процесс трансляции. На эту вкладку выводятся сообщения об различных этапах трансляции, сообщения о синтаксических ошибках и различные предупреждения (Warnings).

Если трансляция заканчивается нормально (отсутствуют критические ошибки), то сюда же выводятся статистические данные о полученном результирующем коде. Эти данные показывают размеры и процент использования всех видов памяти микроконтроллера. Например, после трансляции одного из заданий программа выдаст следующее сообщение:

ATtiny2313 memory use summary [bytes]:

Segment Begin End Code Data Used Size Use%

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

[.cseg] 0x000000 0x0004f2 508 758 1266 2048 61.8%

[.dseg] 0x000060 0x00009d 0 61 61 128 47.7%

[.eseg] 0x000008 0x000045 0 61 61 128 47.7%

Assembly complete, 0 errors. 0 warnings

Сообщение означает, что в программном сегменте использованы ячейки с адреса 0x000000 по адрес 0x0004f2. При этом собственно код программы занимает 508 байт. Данные в программной памяти занимают 758 байт. Всего использовано в программной памяти 1266 байт (сумма предыдущих двух чисел). Размер программной памяти для этого микроконтроллера составляет 2048 байт. Процент использования программной памяти 61,8%.

Точно такие же сведения приведены для памяти данных (ОЗУ) и для EEPROM. Естественно, что два последних вида памяти не содержат программного кода. Поэтому в соответствующем столбике стоят нули. Последняя строка содержит сообщения об ошибках. В данном случае сообщение переводится так: «Ассемблирование прошло успешно, 0 ошибок, 0 предупреждений».

Другая вкладка второго окна называется «Message». Здесь выводятся разные системные сообщения о загрузке модулей программы и т.п.

Третья вкладка второго окна называется «Find in Files» (поиск в файлах). В этом окне отражаются результаты выполнения команды «Поиск в Файлах». Эта команда позволяет производить поиск заданной последовательности символов сразу во всех файлах проекта. По окончании поиска во вкладке «Find in Files» отражаются все найденные вхождения с указанием имени файла и строки, где найдена искомая последовательность.

Последняя вкладка называется «Breakpoints and Tracepoints»

(Точки останова и точки трассировки). Эти точки проставляются в тексте программы перед началом процесса отладки и дублируются в данном окне. Как проставлять точки останова, мы узнаем чуть позже.

Точки останова используются для того, чтобы приостановить выполнение программы в том или ином месте программы, чтобы убедиться, что программа выполняется правильно. При создании точки останова в тексте программы она автоматически появляется во вкладке «Breakpoints and Tracepoints».

Вкладка позволяет увидеть все точки останова программы в одном месте. Кроме того, на вкладке против каждой записи, описывающей точку останова, автоматически появляется «Check box» (поле выбора), при помощи которого можно в любой момент временно отключить любую точку останова.

Точки трассировки используются для управления процессом трассировки.

Определение. Трассировка – это особый вид отладочного процесса, когда программа запускается и выполняется в автоматическом режиме.

Но в процессе работы она оставляет сообщения в специальном окне. Сообщения отражают каждый шаг выполняемой программы. Точки трассировки могут отменить и заново разрешить трассировку на разных участках программы.

Программная среда «AVR Studio» поддерживает трассировку только при работе с отладочной платой ICE50. Это достаточно дорогое устройство. Поэтому мы остановимся лишь на программном отладчике без применения каких-либо аппаратных средств отладки.

Этого вполне достаточно для разработки микропроцессорных устройств практически любой сложности. Аппаратные отладчики необходимы в условиях промышленного производства для ускорения работ по разработке новых изделий.

Любую из вкладок любого вышеописанного окна можно скрыть или, наоборот, превратить в отдельное свободно перемещаемое окно. Для этого достаточно щелкнуть правой клавишей мыши по заголовку соответствующей вкладки и выбрать в открывшемся меню нужный режим. Пункт «Hide» этого меню означает «Скрытое» (невидимое), «Floating» означает «Свободное» (Перемещающееся), «Docking» — «Закрепленное».

Для некоторых пользователей бывает затруднительно вернуть вкладку на место после того, как она превратится в свободно перемещаемое окно. В программе «AVR Studio» используется нестандартный довольно оригинальный механизм управления окнами. Предположим, что мы случайно превратили в плавающее окно вкладку «Breakpoints and Tracepoints» окна номер два. Посмотрим, как можно поставить ее на место.

Если перемещать это окно при помощи мыши (удерживая его за заголовок), то на основной панели программы появляются указатели размещения, как это показано на рис. 1.3. Они представляют собой стилизованные стрелки синего цвета, расположенные по всему полю главного окна программы. Одновременно появляются восемь таких стрелок. Четыре из них объединены в центральный блок, в который включена еще и круглая кнопка посередине.

Этот блок автоматически располагается в центре того окна, в пределах которого в данный момент перемещается курсор. На рис. 1.3 этот указатель расположен в центре окна номер два. Оставшиеся четыре стрелки располагаются сверху, снизу, справа и слева от основного окна программы. Достаточно переместить курсор мыши вместе с перемещаемым плавающим окном на одну из этих стрелок и отпустить кнопку мыши, и окно тут же встроится в одно из вспомогательных окон программы в виде вкладки либо образует новое вспомогательное окно. Причем вы еще до отпускания кнопки мыши можете увидеть, куда попадет окно.

Как только ваш курсор совместится с одной из стрелок, программа закрасит синим цветом эту область. Поэкспериментируйте сами с размещением окон. Помните только, что стрелки превращают ваше плавающее окно в еще одно фиксированное дополнительное окно в разных частях интерфейса. А круглая кнопка посреди центрального блока превращает плавающее окно в дополнительную вкладку уже существующего окна. Именно при помощи этой кнопки оторванное от своего привычного места плавающее окно на рис.1.3 можно вернуть на свое место.

Дополнительные окна 1 и 2 позволяют легко изменять свои размеры. Для изменения размера достаточно перетащить границу окна при помощи мыши. Можно даже скрыть любое из этих окон, закрыв все его вкладки. Закрыть вкладку можно двумя способами. Либо щелкнуть по ее «корешку» правой кнопкой мыши, а в появившемся меню выбрать пункт «Hide». Либо щелкнуть мышью в крестик в верхнем правом углу вкладки. Открыть закрытые вкладки можно при помощи меню «View/Toolbars».

Особую роль играет окно 3. Это даже не окно, а оставшаяся часть от главного окна программы. Если закрыть окна 1 и 2, окно 3 займет все пространство программной панели. В окне 3 появляются различные рабочие окна.

Во-первых, это окна с текстами программ на Ассемблере. А, во-вторых, здесь могут появляться окна любых открытых программой файлов. Это могут быть текстовые файлы или файлы других программ. Каждый такой файл по умолчанию открывается в виде отдельного плавающего окна. Для определенности будем называть такие окна текстовыми окнами. Текстовые окна будут «плавать» только внутри окна 3.

Для каждого нового текстового окна в нижней части окна 3 появляется «корешок», при помощи которого можно быстро перейти к нужному окну, если оно не находится на переднем плане. При двойном щелчке левой кнопкой мыши по заголовку любого текстового окна оно раскроется на всю ширину окна 3. Иногда именно так удобно работать с тестами программ.

В окне 3 можно открывать не только все тексты ассемблерных программ текущего проекта, но и тексты программ других проектов, а также тексты программ, написанных на других языках программирования. Такой прием очень удобен, если нужно переделать программу, написанную для старого микроконтроллера на старой версии Ассемблера, на новый лад. Все открытые текстовые окна запоминаются и затем открываются автоматически при открытии проекта.

Любое текстовое окно имеет подсветку синтаксиса. Разные части помещенного туда текста программы подсвечиваются разными цветами. Так, все операторы Ассемблера высвечиваются голубым цветом. Комментарии выделяются зеленым. Остальной текст (параметры команд, псевдооператоры, метки, переменные и константы) остается черным. Это очень удобно. Если написанный вами оператор окрасился в голубой цвет, то это значит, что вы не ошиблись в синтаксисе. Если вы написали комментарий, но перед текстом комментария забыли поставить точку с запятой, то этот комментарий не окрасится в зеленый цвет. Таким образом, многие ошибки видны уже в процессе написания программы.

Кроме двух вспомогательных и одного основного окна, главная панель программы имеет строку меню (отмечена цифрой 4 на рис. 1.1), а также несколько инструментальных панелей (отмечены цифрой 5). Как и в любой другой программе под Windows, при помощи меню вызываются все функции программы AVR Studio и переключаются все ее режимы. Панели инструментов дублируют часто используемые функции меню.