Изучение программно-аппаратных средств разработки на базе 78K0/KF1+

 

МИНОБРНАУКИ РФ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Ижевский государственный технический университет имени М.Т. Калашникова»

Кафедра «Радиотехника»









Лабораторная работа №1.

по курсу Цифровые устройства и микропроцессоры

«Изучение программно-аппаратных средств разработки на базе 78K0/KF1+»



Выполнил: Марков М.М.







Ижевск 2013


Изучение программно-аппаратных средств разработки на базе 78K0/KF1+


Цель: Ознакомиться со средой IAR Embendded Workbench для контроллера NEC 78K . Получить базовые навыки создания проектов и собственных программ. Научиться отлаживать программы, а так же работе с моделированием прерываний. Ознакомиться с отладочным модулем K_Line Play it! -2 и программой для записи флешь - памяти контроллера.

В данной лабораторной работе мы рассмотрели комплекс программно-аппаратных средств, предназначенных для отладки программ для микроконтроллеров семейства 78К0/KF1+ фирмы «NEC». Структурная схема рабочего места для отладки программ и устройств на базе 78К0/KF1+ приведена на рисунке 1.


Рис.1. Структурная схема рабочего места.


В состав рабочего места входят:

·Компьютер типа IBM PC, обеспечивающий программирование микроконтроллера;

·Отладочный модуль позволяющий, загружать и выполнять программы во встроенном ПЗУ микроконтроллера. Общий вид отладочного модуля приведен на рисунке 2.

Рис.2. Отладочный модуль.


Программа IAR Embendded Workbench


При открытии программы появляется диалоговое окно. В этом окне программа предлагает выбрать одно из следующих действий:

) Создание нового проекта в текущем рабочем пространстве

) Добавление существующего проекта к текущему рабочему пространству

) Открытие ранее созданного рабочего пространства

) Примеры рабочих пространств (содержат исходные тексты демонстрационных программ.)

Ниже содержится список ранее созданных проектов.


Рис.3. Окно начала работы.


Новое рабочее пространство создается так же, как и в тысячах других программ: File > New выбрать «Workspace» в диалоговом окне «NEW». Сохраняется - File > Save Workspace. При этом создается файл рабочего пространства с расширением *.eww. Он содержит список всех проектов, относящихся к данному рабочему пространству. Информация о контрольных точках и текущем расположении окон (для данной сессии) располагается в папке settings.


Рис.4. Папка с проектом.


Новый проект создается - Project > Create new project. В диалоговом окне, как показано на рисунке 5, появляется список шаблонов, на базе которых можно писать программный код.


Рис.5. Создание нового проекта.


Проект располагается в окне рабочего пространства, представленном на рисунке 6.


Рис.6. Окно рабочего пространства.


Звёздочка в имени проекта указывает, что изменения небыли сохранены.

На данном этапе в папке проектов создаётся файл проекта с расширением .ewp (смотри рисунок 4). Этот файл содержит информацию о специфических настройках проекта.

Добавление файлов в проект осуществляется путем Project > Add files.

Настройка проекта осуществляется путем Project > Options.


Рис.7. Основные настройки.


Появляется окно с основными настройками.

«Category» > «C/C++ Compiler», как показано на рисунке 8, выбираются основные настройки компилятора.

контроллер программный память утилита

Рис.8. Настройки компилятора.


Компиляция программы осуществляется путем ее выбора в дереве проекта и нажатием Project > Compile. Прогресс компиляции будет отображён внизу, в окне сообщений, как показано на рисунке 9.


Рис.9. Сообщения компилятора.


По завершению компиляции система IAR создает новые папки, там где располагается проект.


Рис.10. Папка отладки созданная при компилировании.


Папка List содержит файлы списков.

Папка Obj содержит объектные файлы компилятора и ассемблера, эти файлы имеют расширение .r26 будут использованы Компоновщиком.

Папка Exe содержит исполняемые файлы для IAR C-SPY Debugger.


Рис.10. Дерево проекта в окне рабочего пространства.


Просмотр файлов списков (листингов ассемблер кода) осуществляется открытием лист-файла двойным нажатием левой кнопкой мыши в окне рабочего пространства.

Данный фаил можно оптимизировать, выставив необходимые настройки Tools > Options . («C/C++ compiler» в закладке «Code»> галочка на «Override inherited settings». Программа предоставляет выбор уровня оптимизации от «none» до «High» в «Optimization» из раскрывающегося списка).

При оптимизации фаила, откомпилировав его, происходит 2 изменения: автоматическое обновление открытого файла и изменение размера кода, в следствии изменения оптимизации.

Компоновка программ.(«Options» > «Linker»)

Что бы связать объектный файл, для того чтобы сгенерировать код для отладки выбирается Project > Make . Прогресс выполнения будет отображён в окне сообщений (рисунок 11). В результате соединения программа создает файлы .d26 - файл кода с информацией для отладки и map-файл .map (рисунок 10).

Рис.11. Прогресс выполнения компановки программы в окне сообщений.


Отладка программы с использованием IAR C-SPY™ Debugger (Project>Debug) осуществляется с файлом .d26. В нем можно просматривать содержимое ассемблер-кода в режиме дизассемблера, просмотреть переменные, устанавливать контрольные точки останова выполнения кода, работать с монитором памяти и данных.


Рис.12. Окно отладчика C-SPY.


Debug>Step Over ( в панели инструментов) позволяет отлаживать проект в покомандном режиме.


Рис.13. Шаги при отладке.

>Step Into или кнопка в панели инструментов осуществляет вход в выбранную функцию.

Debug>Next statement (кнопка в панели инструментов) осуществляет вход в функцию и выполнение ее.

С-SPY позволяет отслеживать значения переменных в любой момент выполнения кода программы.

Для использования «Автоокон» выбирается View>Auto. Окно «Auto» показывает текущее значение недавно изменяемых выражений, окно представлено на рисунке 14.


Рис.14. Просмотр переменных в окне Auto.

Самый удобный способ установки контрольной точки останова - это установка её в интерактивном режиме, просто позиционируя курсор мыши около инструкции и выбирая команду Toggle Breakpoint.

Контрольная точка будет установлена на этой инструкции, сама инструкция будет подсвечена, а слева появится красный крестик, который указывает, что есть точка останова.


Рис.15. Установка контрольной точки.


Информацию о прохождении контрольной точки программа отображает в окне «Debug Log».

Чтобы выполнить программу до контрольной точки используется команда Debug>Go или кнопкой в панели инструментов.

Для того чтобы убрать контрольную точку, надо щёлкнуть по ней и нажать команду Edit>Toggle Breakpoint.

Отладка с помощью C-SPY в режиме исходного кода (дизассемблера) на С/ЕС++ обычно более быстрая и прямая (View>Disassembly). Программа позволяет отслеживать непосредственное содержимое регистров и памяти. Здесь каждый шаг соответствует одной команде ассемблера. C-SPY позволяет свободно переключаться между этими двумя режимами.


Рис.16. Отладка в режиме дизассемблера.


Окно «Register» позволяет контролировать и изменять содержание регистраторов процессора (View>Register), окно представлено на рисунке 17.


Рис.17. Окно содержимого регистров.


При нажатии Step Over программа позволяет пронаблюдать, как меняется содержимое регистров в окне «Register».

Окно «Memory» позволяет контролировать выбранные области памяти (View>Memory).


Рис.18. Окно содержимого памяти.


Рис.19. Окно содержимого памяти («x2 Units»).


Программа позволяет отладить конструкции в коде, которые используют «stdin» и «stdout» (стандартные функции ввода-вывода) при отсутствии аппаратных средств, то есть симулировать работу с внешними устройствами ввода-вывода.

Для открытия окна Terminal I/O существует команда View>Terminal I/O . Вид окна представлен на рисунке 20.


Рис. 20. Окно содержимого буфера ввода-вывода.


Чтобы выйти из C-SPY , выбирается команда Debug>Stop Debugging в верхнем меню или кнопка в панели инструментов.

Моделирование прерываний

Программа использует 78K IAR C/C++ Compiler interrupt (прерывания компилятора) и векторную директиву #pragma.

Программа обработки прерывания считывает значения с порта последовательной передачи данных в приёмный регистр RXB0 (UART). Затем выводится принятое значение. Основная программа разрешает прерывания и начинает печатать периоды (.) в приоритетном процессе при ожидании запросов прерываний.

Векторная директива #pragma используется для того, чтобы определить адрес вектора прерывания.

Система прерываний C-SPY основана на счетчике цикла. Программа позволяет самим определять количество необходимых циклов которые нужно пройти, прежде чем C-SPY сгенерирует прерывание.


Рис.21. Установка режимов прерываний.


First activation - определяет первый момент активации прерывания.

Repeat interval - определяет повторный интервал для прерывания.

В течение выполнения программы, C-SPY будет ждать, пока счетчик цикла не достигнет первого раза активации прерывения. Когда текущая команда ассемблера будет выполнена, C-SPY генерирует прерывание.

Определяя макрокоманду и подключая её к непосредственной контрольной точке, можно заставить макрокоманду моделировать поведение аппаратного устройства, например порта ввода - вывода. Непосредственная контрольная точка не будет останавливать выполнение, а только лишь временно приостанавливать его, чтобы увидеть состояния и выполнить любую связанную макрокоманду.


Программирование Флэш-памяти контроллера с помощью утилиты FPL


Панель инструментов Окно параметров программатора. Панель меню


Панель состояния

Рис.22. Рабочее окно программатора.


Для того чтобы открыть файл для записи его в контроллер, необходимо выбрать команду [Load]…или нажать кнопку в панели задач. Появится стандартное окно открытия файла, представленное на рисунке 23.


Рис.23. Окно выбора HEX - файла.


Выбранный файл может быть запрограммирован во флешь- память контроллера посредствам команд [Device] >[Program] или [Device] >[Autoprocedure(EPV)]. (Значки и панели инструментов соответственно).

Для того чтобы закончить работу с FPL GUI необходимо использовать команду [Quit ] .

У программы есть несколько основных фунций-команд:

Команда [Blank Check] или кнопка панели инструментов, используется для проверки флешь памяти контроллера после стирания.

Команда [Erase] или кнопка панели инструментов, используется для стирания флешь-памяти на подключенном контроллере.

Команда [Program] или кнопка панели инструментов, используется для посылки программы в подключенный контроллер, с последующей её записью во флешь-память.

Команда [Verify] или кнопка панели инструментов, используется для проверки программы пользователя, записанной во флешь-памяти контроллера. Команда [Autoprocedure(EPV)] или кнопка панели инструментов, используется для пакетного последовательного выполнения трёх команд [Erase] ; [Program] ; [Verify] в пределах одной сессии.

Прогресс стирания, записи и проверки программы будет отображаться в процентах в окне регистрации действий. По завершении этих операций программа FPL GUI сообщит об этом.

Команда [Setup] или кнопка панели инструментов, используется для настройки пользовательских установок подключенного контроллера.


Рис.24. Окно настроек устройства.


Рис.25. Окно информации программатора.

Окно информации содержит в себе несколько полей, которые несут различную информацию, такую как параметры подключенного контроллера, информация о загружаемом в контроллер файле и параметры подключения к ПК.


Использование пакета FPL GUI непосредственно для комплекта K_Line Play it -2


Рис.26. Установка отладочного модуля во флешь - режим.


SW1 используется для полного сброса и перехода во флешь - режим.

Всего на выбор представлено 4 файла-программы: часы, замеритель скорости реакции, термометр и вольтметр.

После того, как все необходимые настройки были сделаны и открыт файл для записи во флешь - память, можно приступить к программированию контроллера. Для этого лучше воспользоваться пакетной командой [Autoprocedure(EPV)] Прогресс записи памяти и окончание процесса записи будет отображается в окне регистрации действий. Пример вида окна представлен на рисунке 27.

Рис.27. Отображение прогресса записи памяти.


По окончании записи памяти, отключается USB - кабель от отладочного модуля и переводится переключатель SW4/S1 на плате в положение OFF, для перевода платы в нормальный режим. Контроллер приступает к выполнению загруженной в него программы.


Вывод


Мы ознакомились со средой IAR Embendded Workbench для контроллера NEC 78K. Данная программа позволяет создавать новый проекта, добавлять в него файлы, детально его настраивать, компилировать и компоновать программы, просматривать файлы списков (листингов ассемблер кода). Так же она позволяет отлаживать программы с использованием IAR C-SPY™ Debugger, управлять переменными, устанавливать и следить за контрольными точками, работать в режиме дизассемблера, следить и редактировать содержимое памяти, просматривать окна ввода-вывода (Terminal I/O), а так же работать с моделированием прерываний (добавлять программы обработки прерывания, определять установки файла макрокоманды С-SPY, детально настраивать специфические опций C-SPY, моделировать прерывания, использовать системные макрокоманды для настройки свойств контрольных точек и прерываний).

Так же мы ознакомились с отладочным модулем K_Line Play it! -2 (узнали краткие характеристики микроконтроллера, компоненты и характеристики платы отладочного и процессорного модулей) и программой для записи флешь - памяти контроллера FPL. Они позволяют стирать, записывать и тестировать пользовательские программы на микроконтроллере(4 программы - часы, замеритель скорости реакции, термометр и вольтмет).


МИНОБРНАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Ижевский государственный техни

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ