Скачать 1.44 Mb.
|
Часть 2 Использование средства Altera Monitor Program для отладки программных приложений
Приложение Altera Monitor Program (АМР) создано компанией Altera для преподавателей и студентов в обучающих целях. Оно представляет собой удобный инструмент для отладки и выполнения программ, предназначенных для процессора Nios II, написанных как на языке ассемблер, так и на C/C++. АМР работает на инструментальном компьютере, который через интерфейс USB соединен с процессорной системой Nios II, реализованной на программируемом кристалле ПЛИС типа FPGA. Приложение совместимо с операционной системой Microsoft Windows, включая версии XP, Vista и Windows 7. AMP позволяет выполнять следующие действия [9]:
Для работы приложения АМР необходимо установить на инструментальном компьютере систему автоматизированного проектирования Quartus II и приложение Nios II EDS (Embedded Design Suite), предназначенное для разработки прикладных программ. В настоящем пособии приводятся экранные формы, полученные при использовании версии 11.1 приложения АМР. Запуск АМР осуществляется через главное меню Microsoft Windows или непосредственно с рабочего стола, при наличии на нем ярлыка программы. Чтобы запустить приложение через главное меню Windows, нажмите кнопку “Пуск” и укажите имя приложения, используя следующий путь: Все программы/altera/University Program/Altera Monitor Program/Altera Monitor Program. Чтобы запустить АМР с рабочего стола, выполните двойной щелчок левой кнопкой мыши по пиктограмме Altera Monitor Program. Каждое программное приложение, разрабатываемое для процессора Nios II c использованием AMP, называется проектом (project). Проект включает как аппаратную часть – процессорную систему, реализуемую на кристалле FPGA, так и программную часть, созданную с использованием языков ассемблер, С/С++. АМР может работать одновременно только с одним проектом. Каждый проект размещается в отдельной папке и имеет своё собственное имя, которое назначается пользователем при создании нового проекта. Причем папка для проекта должна быть создана заранее. Автоматически при создании нового проекта создается файл с расширением .ncf. В нём хранится информация о проекте, а именно путь к файлу описания процессорной системы, путь к файлу прошивки, информация об используемом процессоре и памяти, а также информация о файлах с исходными кодами программ.
2.2.1 Главное окно AMP Внешний вид графического пользовательского интерфейса приложения АМР показан на рис. 2.1. В верхней части графического интерфейса содержится название проекта с указанием директории, где он размещен, динамическое меню и рабочая панель инструментов. В правой верхней части основного окна содержатся кнопки, с помощью которых можно свернуть окно, развернуть его до полного экрана либо закрыть приложение АМР стандартным образом. Ниже размещены четыре основных окна.
Описанные выше окна АМР могут быть перемещены, изменены их размеры, или закрыты стандартным образом. Окна могут быть снова открыты, посредством указания их имен в команде Windows из динамического меню на панели инструментов. 2.2.1.1 Вкладка Disassembly Вкладка Disassembly предназначена для отображения области оперативной памяти процессорной системы, в которой хранится исполнимый код программы. Содержимое этой вкладки приведено на рис. 2.1. В левом столбце вкладки синим цветом представлены адреса 32 – разрядных ячеек памяти процессорной системы, в которых размещены выполняемые команды. В среднем столбце вкладки отражено серым цветом содержимое самих ячеек ОП в шестнадцатеричном формате, а в правом столбце представлены команды ассемблера в символьном виде, включая комментарии. Причем команды исходного кода отображены коричневым цветом. Для изображения имен исполнимых инструкций используется зеленый цвет, для операндов в регистровой памяти – синий цвет, а для непосредственных операндов – красный цвет. В этом же столбце могут присутствовать и псевдокоманды, которые компилятором заменяются на одну или несколько исполнимых команд процессора Nios II. Рис. 2.1 – Главное окно Altera Monitor Текущая команда, адрес которой находится в счетчике команд (регистр pc), выделена желтым цветом. Для навигации по сегменту кода программы, загруженной в процессорную систему, используется бегунок в правой стороне вкладки. Для перехода по конкретному адресу программы в окне Goto instruction следует указать адрес перехода в шестнадцатеричной форме либо набрать имя метки, и нажать кнопку “Go”, расположенную справа. С помощью кнопки “Hide” скрывается панель перехода на конкретный адрес. 2.2.1.2 Вкладка Breakpoints Данная вкладка предназначена для установки точек останова и контрольных точек по доступу к элементам данных. Содержимое вкладки Breakpoints показано на рис. 2.2. Рис. 2.2 – Вкладка Breakpoints Точки останова программы отображаются в таблице Instruction breakpoint. В левом столбце таблицы галочкой помечаются установленные точки останова. В столбце Address отображаются их адреса, а в столбце Instruction – команды ассемблера, представленные в мнемоническом виде. Причем для изображения имен команд и операндов используется цветовая раскраска, такая же, как во вкладке Disassembly. В столбце Condition приводятся условия, при выполнении которых произойдет останов программы. Например, останов программы в первой контрольной точке (инструкция addi r1, zero, 0x1), показанной на рис.2.2, произойдет только в том случае, если содержимое регистра r1 будет больше 5. Используя рассмотренную выше таблицу, точки останова можно удалять и добавлять. Для добавления точки, необходимо навести курсор мыши на один из заголовков столбцов таблицы, нажать правую кнопку мыши и в появившемся меню выбрать пункт “Add”. Также контрольные точки можно установить в сегменте кода, выполнив левой кнопкой мыши щелчок в поле, слева от адреса. Установленная контрольная точка будет помечена во вкладке Disassembly кружком красного цвета. Повторный щелчок левой кнопкой мыши по кружку приведет к удалению контрольной точки. Фрагмент кода с установленными контрольными точками приведен на рис. 2.3 Рис. 2.3 – Фрагмент кода с установленными контрольными точками Контрольные точки можно установить не только в сегменте кода, но и в сегменте данных. Причем можно указать, какой тип доступа к данным будет вызывать останов программы и передачу управления отладчику. Соответственно, в зависимости от типа доступа в этой вкладке устанавливаются контрольные точки следующих типов:
Следует заметить, что поддержку контрольных точек по доступу к данным можно включить лишь на этапе настройки процессора Nios II в SOPC Builder, путем выбора более серьезных уровней отладки. Во вкладке Breakpoints также можно запустить программу до выполнения некоторого условия. Задание условий осуществляется в окне Run Until Expression (см. рис. 2.4), которое появляется после двойного щелчка левой кнопкой мыши под надписью Condition в нижней части вкладки. В этом окне пользователь вводит условия в соответствии с правилами, изложенными здесь же. Пусть например, выполнение программы нужно остановить, когда в регистре r2 окажется значения 0x2000040. Для этого необходимо задать условие r2 = = 0x2000040 и нажать кнопку “OK”. Рассмотренный пример представлен на рис. 2.4. Чтобы вновь продолжить выполнение программы с учетом условий останова, необходимо нажать кнопку “Run”. Рис. 2.4 – Условия останова 2.2.1.3 Вкладка Memory Вкладка Memory предназначена для просмотра и редактирования содержимого доступной для процессора Nios II памяти и периферии. Следует напомнить, что с точки зрения процессора Nios II, вся подключенная к нему периферия отображается на оперативную память. Это означает, что для адресации ячеек памяти и портов ввода/вывода используется единое адресное пространство. Пример, отражающий содержание вкладки Memory, приведен на рис 2.5. Чтобы разрешить отображение содержимого портов ввода/вывода на этой вкладке, необходимо включить опцию “Query All Devices”. Для этого надо кликнуть левой кнопкой мыши в соответствующем окне. Установленная галочка будет свидетельствовать о включенной опции. Чтобы выключить опцию, достаточно повторно кликнуть левой кнопкой мыши в соответствующем окне. Рис. 2.5 – Вкладка Memory Кнопка “Refresh Memory” предназначена для выполнения считывания ячеек памяти. После нажатия на эту кнопку измененные значения ячеек памяти будут выделены на вкладке красным цветом. Чтобы изменить содержимое определенной ячейки памяти, дважды кликните по ней левой кнопкой мыши, после чего можно выполнить её редактирование. Поиск необходимой ячейки осуществляется путем ввода её адреса в шестнадцатеричном формате в окне Goto memory address и нажатия кнопки “Go”. Также для навигации по памяти можно воспользоваться бегунком, вдоль правого края окна. С помощью контекстно–зависимого меню, вызываемого нажатием правой кнопки мыши, (см. рис. 2.5.) имеется возможность изменить способ представления данных во вкладке, а именно:
Кроме того, в появившемся меню можно:
В примере на рис. 2.5 данные отображаются пословно, по 4 слова в строке, в шестнадцатеричном формате, слева направо. Рис. 2.6 – Вкладка заполнения памяти На рис. 2.6. показан пример использования вкладки заполнения памяти. Эта вкладка появляется в левой части экрана, после выбора команды “Memory fill…” из меню. В ней указываются следующие параметры:
Для выполнения загрузки файла в память процессорной системы следует выбрать пункт меню “Load file into memory…” После чего, в появившейся вкладке, следует указать файл, начальный адрес и нажать кнопку “Load”. Файл может быть представлен в виде файла инициализации памяти или в бинарном виде. 2.2.1.4 Вкладка Watches В данной вкладке указываются выражения, значения которых представляют интерес для пользователя. В выражениях могут использоваться значения регистров, ячеек памяти, а также логические условия. При каждом останове программы выражения пересчитываются. Ввод выражений выполняется в окне Edit Watch Expression, представленном на рис. 2.7. Чтобы вызвать это окно и добавить выражение, нажмите правой кнопкой мыши по надписи Expression или Value во вкладке Watches, и в появившемся меню выберите пункт “Add”. Синтаксис выражений также описывается в этом окне. Вызов окна Edit Watch Expression для редактирования осуществляется двойным щелчком левой кнопкой мыши по необходимому выражению. Примеры различных выражений приведены на рис. 2.8. В первых двух строках представлены значения регистров процессора. В следующих двух строках – логические условия, которые могут принимать значения “истина” или “ложь”. В последних двух – содержимое ячеек памяти, причем, в первом случае представлено значение байта, во втором – 32 разрядного слова. 2.2.1.5 Вкладка Trace Данная вкладка использует механизм аппаратной трассировки программы для записи недавно выполненных инструкций и возникших ситуаций. Вкладка становится активной при использовании в процессоре модуля отладки не ниже 3 уровня. Пример, содержащий вкладку Trace, представлен на рис. 2.9. При нажатии правой кнопки мыши в области вкладки Trace, появляется меню, в котором можно:
Вкладка Trace в дальнейшем планируется быть расширена компанией Altera. Рис. 2.7 – Окно “Edit watch expression” Рис. 2.8 – Примеры различных выражений Рис. 2.9 – Вкладка Trace
Пункты меню File приложения АМР приведены на рис 2.10. Их назначение следующее: “New Project…” – создание нового проекта; “Open Project…” – открытие существующего проекта; “Open Recent Project” – открытие одного из недавних проектов; “Save Project”- сохранение проекта; Рис. 2.10 – Меню File “Exit” – выход из программы AMP. Пункты меню Settings приведены на рис. 2.11. Их назначение следующее: “System Settings…” – изменение параметров процессорной системы проекта; Рис. 2.11 – Меню Settings “Program Settings…” – изменение программных параметров проекта. Пункты меню Actions приложения АМР приведены на рис 2.12. Их назначение следующее: “Regenerate Device Drivers (BSP)” – пересоздание драйверов для взаимодействия с элементами процессорной системы; “Compile” – компиляция программных файлов проекта; “Load” – загрузка скомпилированного объектного кода в процессорную систему; “Compile & Load” – компиляция программы и загрузка её объектного кода в процессорную систему; “Single Step” – пошаговое выполнение программы; “Step Over Subroutine” – пошаговое выполнение программы с выполнением подпрограмм, как одна инструкция; “Continue” – продолжение непрерывного выполнения программы с текущей позиции; “Stop” – останов программы; “Restart” – установка в счетчике команд (регистр рс) началь- Рис. 2.12 – Меню Actions ного адреса программы без изменения содержимого остальных регистров и памяти; “Reset System” – сброс процессорной системы; “Download SOPC Builder System…” – загрузка файла прошивки с процессорной системой в ПЛИС; “Disconnect” – удаление соединения с процессорной системой (после этого невозможно управлять и отлаживать загруженные в процессорную систему программы); “Reconnect” – удаление и повторное создание соединения с процессорной системой; “Connect to System” – создание соединения с процессорной системой; “Goto instruction…” – переход на инструкцию с заданным адресом; “Goto memory address…” – переход на ячейку памяти с заданным адресом; “Memory fill…” – вызов окна заполнения памяти; “Load file into memory…” – вызов окна загрузки файла в память процессорной системы. Пункты меню Windows показаны на рис. 2.13. Они предназначены для разрешения, либо запрещения показа отдельных вкладок и окон в графическом интерфейсе приложения АМР. Установленная галочка, рядом с именем, разрешает показ соответствующего окна или вкладки. Чтобы установить или удалить галочку нужно кликнуть Рис. 2.13 – Меню Windows левой кнопкой мыши в соответствующем месте меню. Назначение вкладок и окон АМР приведено в разделе 2.2.1 настоящего пособия. Пункты меню “Help” приведены на рис. 2.14. Их назначение следующее: “Tutorial” – вызов руководства по работе с приложением АМР; “About” – вызов окна с информацией об АМР. Рис. 2.14 – Меню Help
Вначале необходимо создать отдельную папку для нового проекта. Следует учитывать, что приложение AMP предназначено для компиляции, загрузки и отладки программ. Оно не содержит средств редактирования исходных кодов. Эта задача выполняется сторонними средствами.
Рис. 2.15 – Запуск мастера создания новых проектов
Рис. 2.16 – Определение рабочей директории проекта и его имени Рис. 2.17 – Выбор процессорной системы Рис. 2.18 – Выбор раннее созданной процессорной системы
Для разрешения использования образцов программ следует установить галочку в поле Include sample program with the project. В этом случае в следующем поле появятся названия образцов программ, рис. 2.20. После выбора одного из образцов, в окне появится описание выполняемых программой действий (см. рис 2.20). В примере на рис.2.19 выбрана программа на ассемблере. Из предложенных образцов (см. рис. 2.20) выбрана программа тестирования процессорной системы. Для перехода к следующему окну нажмите кнопку “Next”. Рис. 2.19 – Окно выбора типа программы
Рис. 2.20 – Образцы программ Рис. 2.21 – Определение файлов с исходным кодом Рис. 2.22 – Определение системных параметров
Рис. 2.23 – Определение параметров используемой памяти Рис. 2.24 – Окно, предлагающее выполнить загрузку процессорной системы в кристалл ПЛИС На каждом шаге работы New Project Wizard, с помощью кнопок в нижнем правом углу окна, можно вернуться к предыдущему шагу (кнопка “Back”) и изменить его выполнение, перейти к следующему (“Next”), прервать работу мастера создания нового проекта (“Cancel”).
Для загрузки конфигурационного файла в кристалл ПЛИС можно использовать следующие варианты. 1. После создания нового проекта с процессорной системой, предопределенной в АМР, пользователю предлагается выполнить её загрузку в кристалл ПЛИС на стенде (см. рис. 2.24). Для этого он должен нажать кнопку “Yes” в окне Download SOPC Builder System - Prompt. 2. Если в проекте используется специализированная процессорная система, разработанная пользователем, то в этом случае, для загрузки процессорной системы следует воспользоваться командой “Programmer” из меню Tools пакета Quartus II [5]. Процесс конфигурирования кристалла на стенде “Altera® DE2-70” сопровождается свечением голубого светодиода, а включение второго голубого светодиода означает успешное завершение процесса конфигурирования кристалла. 3. Воспользоваться командой “Download SOPC Builder System…” из меню Actions приложения АМР и в появившемся окне Download SOPC Builder System нажать кнопку “Download”.
Компиляция программы осуществляется либо щелчком левой кнопки мыши по пиктограмме на инструментальной панели АМР, либо путем выполнения команды “Compile” из меню Actions, либо нажатием комбинации клавиш Ctrl+Shift+C на клавиатуре инструментального компьютера (см. рис. 2.25). Следующим шагом является загрузка скомпилированной программы в процессорную систему. Следует напомнить, что перед этим необходимо загрузить прошивку процессорной системы в ПЛИС, как описано в разделе 2.4. Загрузка программы осуществляется либо щелчком левой кнопки мыши по пиктограмме на инструментальной панели АМР, либо путем выполнения команды “Load” из меню Actions, либо нажатием комбинации клавиш Ctrl+Shift+L на клавиатуре инструментального компьютера. Для компиляции и загрузки можно воспользоваться командой “Compile & Load” из меню Actions, либо пиктограммой на инструментальной панели, либо клавишей “F5”. Рис. 2.25 – Компиляция проекта 2.6 Отладка программы в АМР После загрузки объектного кода программы в процессорную систему во вкладке Disassembly основного окна АМР появится фрагмент программы, начиная с начального адреса (см. рис. 2.1). Причем желтым цветом выделяется строка, содержащая первую выполняемую команду. На эту команду указывает счетчик команд (регистр pc). Программу можно выполнить целиком. Для этого надо использовать команду “Continue” из меню Action, либо пиктограмму на панели инструментов. Кроме того, AMP позволяет выполнить программу по шагам с заходом в подпрограммы, либо исполняя подпрограммы как одну инструкцию. Для этого следует воспользоваться пиктограммой на панели инструментов, либо командами “Single Step” и “Step Over Subroutine” из меню Actions. Приложение AMP предоставляет пользователю широкие возможности по отладке программы. Оно позволяет в реальном времени изменять содержимое регистров процессора и ячеек памяти, устанавливать точки останова в сегменте кода и контрольные точки по доступу к данным. Кроме этого, приложение AMP дает возможность загружать файлы, как с исполнимыми кодами программ, так и с исходными данными, непосредственно в память процессорной системы с инструментального компьютера. В случае необходимости, в отдельной вкладке можно установить наблюдение за определенными регистрами, ячейками памяти или выражениями, которые будут вычисляться каждый раз при останове программы. 2.7 Редактирование проекта в АМР В процессе работы над проектом в АМР может появиться потребность внести изменения, как в аппаратную, так и в программную части проекта. Для решения этой задачи нужно воспользоваться командами из меню Settings АМР. С помощью команды “System Settings…” выполняется изменение процессорной системы. Выполнение команды приведет к появлению на экране окна Project Settings с открытой вкладкой System Settings (рис.2.26), в котором следует указать файл с описанием модифицированной процессорной системы (*ptf) и файл прошивки (*sof), с указанием пути доступа к ним. Для модификации процессорной системы и создания требуемых файлов понадобится средство SOPC Builder, входящее в состав пакета Quartus II, описанное в первой части настоящего пособия. Рис. 2.26 – Изменение процессорной системы Чтобы выполнить на реализованной в кристалле процессорной системе другую программу, необходимо воспользоваться командой “Program Settings…” из меню Settings АМР. В этом случае в появившемся на экране окне Project Settings с открытой вкладкой Program Settings следует выбрать тип программы, добавить файлы с исходными кодами и задать дополнительные параметры так, как это делалось при создании проекта (рис. 2.27). Рис. 2.27 – Изменение программных установок |
Учебное пособие Москва Издательство Московского государственного... Рекомендовано к изданию Редакционно-издательским советом университета в качестве учебного пособия для студентов направления 230100... |
Учебное пособие Издательство Иркутского государственного технического университета 2012 Тимофеева С. С. Защита литосферы и обращение с опасными отходами : учеб пособие. – Иркутск : Изд-во Иргту, 2012. – 159 с |
||
Учебное пособие Издательство Иркутского государственного технического университета 2012 Тимофеева С. С. Защита литосферы и обращение с опасными отходами : учеб пособие. – Иркутск : Изд-во Иргту, 2012. – 159 с |
2015 удк 378 вестник рыбинского государственного авиационного технического... ... |
||
2015 удк 378 вестник рыбинского государственного авиационного технического... ... |
Учебное пособие «Основы современной социологии» Год издания: 2001... Григорьев С. И., Растов Ю. Е. Основы современной социологии. Учебное пособие. Барнаул: Издательство Алтайского государственного университета,... |
||
Учебное пособие (Краткий курс) Москва Издательство Российского университета дружбы народов Учебное пособие предназначено для студентов, обучающихся в магистратуре и специализирующихся по защите растений |
Учебное пособие Москва Издательство Российского Университета дружбы народов 1998 ... |
||
Учебное пособие Часть 1 Р89 Русский язык и культура речи для студентов-нефилологов. Ч. 1: учебное пособие/ Колпакова Л. В., Максименко Е. В., Михайлова О.... |
Рабочая программа размещена на сайте Университета http :// utmn ru... Н. В. Бакша, А. А. Данилюк. Корпоративная социальная ответственность: учебное пособие. Тюмень: Издательство Тюменского государственного... |
||
Учебное пособие Издание третье, исправленное и дополненное Москва... Б 17 Литературное редактирование: Учеб пособие., изд. 3 – М.: Рудн, 2010. – 249 с |
Учебное пособие. М.: Издательство Московского университета, 2004 «Вся Россия», «Моя провинция», «Новости – время местное» и др Представлены также некоторые особенности совместной работы журналистов... |
||
Учебное пособие Часть II РФ, заведующая кафедрой детских болезней лечебного факультета I московского Государственного Медицинского университета им. И. М.... |
Учебное пособие Издательство Иркутского государственного технического университета 2014 Курышова И. В. История и теория местного самоуправления : учеб пособие. – Иркутск : Изд-во Иргту, 2014. – 112 с |
||
Методические рекомендации по подготовке и защите выпускной квалификационной... Печатается по решению Ученого совета Московского государственного медико-стоматологического университета им. А. И. Евдокимова (г.... |
Бурлюкина Е. В., Васильченко Н. Г. Экономика отрасли Учебное пособие... Рецензенты: Кафедра «Экономики и управления предприятием» Московского государственного университета инженерной экологии, зав кафедрой:... |
Поиск |