- •Содержание:
- •8) Программирование Флеш-памяти контроллера
- •1. Начало работы
- •2. Создание нового рабочего пространства.
- •2.1 Создание нового проекта.
- •2.2 Добавление файлов в проект.
- •2.3 Настройка проекта.
- •2.4 Компиляция и компоновка программ.
- •2.5 Просмотр файлов списков (листингов ассемблер кода).
- •2.6 Компоновка программ.
- •3. Отладка программы с использованием iar c-spy™ Debugger
- •3.1 Управление переменными.
- •3.2Установка и мониторинг контрольных точек (Breakpoints).
- •3.3 Отладка в режиме дизассемблера.
- •3.4 Просмотр содержимого регистров.
- •3.5 Просмотр содержимого памяти.
- •3.6 Просмотр окна ввода-вывода (Terminal I/o)
- •3.7 Достижение конца программы.
- •4. Соединение программных модулей на языках с и ассемблера.
- •4.1 Добавление модуля на языке ассемблера к проекту.
- •4.2 Просмотр list – файла ассемблера.
- •5. Моделирование прерываний
- •5.1 Добавление программы обработки прерывания.
- •5.2Настройка проекта.
- •5.3 Настройка среды моделирования.
- •5.4 Определение установок файла макрокоманды с-spy.
- •5.5 Настройка специфических опций c-spy.
- •5.6 Начало моделирования.
- •5.7 Установка контрольной точки.
- •5.8 Моделирование прерывания.
- •5.9 Использование системных макрокоманд для настройки свойств контрольных точек и прерываний.
- •6.Типы файлов, поддерживаемых системой iar
- •7.Аппаратные средства
- •7.1 Краткая характеристика микроконтроллера.
- •7.2 Компоненты платы отладочного модуля:
- •7.3 Жки индикатор wh1202a-nfa-et.
- •7.4 Внешний Потенциометр r14.
- •7.5 Температурный датчик.
- •7.6 Внешние светодиоды d1- d4.
- •7.7 Процессорный модуль.
- •8. Программирование Флэш-памяти контроллера с помощью утилиты fpl.
- •8.1 Работа с основными элементами управления программы.
- •8.1.2 Пункт меню [Device] . В данном пункте меню доступны следующие команды:
- •8.1.4 Окно параметров программатора.
- •8.2 Использование пакета fpl gui непосредственно для комплекта k_Line Play it -2.
- •9 Содержание отчета.
4.1 Добавление модуля на языке ассемблера к проекту.
На данном этапе обучения демонстрируется, как Вы можете легко создать проект, содержащий и модули ассемблера и C - модули. Вы также откомпилируете проект и рассмотрите файл вывода ассемблера.
Настройка проекта.
Измените project2, удалив файл "Utilites.c". (Выберите файл в окне рабочего пространства и нажмите клавишу Delete.) Добавте файл " Utilites.s26".
Чтобы видеть файлы ассемблера в диалоговых окнах добавления файлов, выберите, Project> Add Files и выберите Assembler Files из раскрывающегося списка "типы файлов".
Выберите проект в окне рабочего пространства , выберите Project> Options. Используйте настройки по умолчанию в General Options, C/C++ Compiler, и категории Linker. Выберите категорию Assembler, нажмите закладку List, и включите опцию Output list file, как показано на рисунке 24 . Нажмите «ОК».

Рисунок 24 – Настройки ассемблера.
Далее кликните по файлу "Utilites.s26" в окне рабочего пространства и нажмите Project>Compile для того чтобы файл оттранслировался.
Если исходный файл был собран успешно, будет создан файл “Utilites.r26”, содержащий пригодный для редактирования объектный код.
4.2 Просмотр list – файла ассемблера.
Откройте файл списка, дважды кликнув файл Utilities.lst в папке "Output" в окне рабочего пространства. Конец файла содержит статистику ошибок и предупреждений, которые были получены в ходе генерирования файла.
Выберите Project>Make , чтобы повторно скомпоновать проект project2.
Запустите C-SPY (как в предыдущих уроках), чтобы выполнить project2.d26 . Выйдите из отладчика, когда закончите.
5. Моделирование прерываний
В этой главе обучающей программы, добавляется к проекту программа обработки прерывания последовательного порта . Числа ряда Фибоначчи будут читаться периферийным устройства связи (UART - УНИВЕРСАЛЬНЫЙ АСИНХРОННЫЙ ПРИЕМОПЕРЕДАТЧИК).
Здесь рассматривается как используются 78K IAR C/C++ Compiler interrupt ( прерывания компилятора ) и векторная директива #pragma . Обучающая программа также покажет, как это прерывание может моделироваться, используя особенности, которые поддерживают прерывания, контрольные точки, и макросы. Обратите внимание, что этот пример не описывает точное моделирование; цель состоит в том, чтобы иллюстрировать ситуацию, где макрос C-SPY, контрольные точки, и система прерываний могут применяться для моделирования аппаратных средств. Предполагается, что Вы знакомы с основами IAR Embedded Workbench™ , описанных в предыдущих главах обучающей программы. Обратите внимание, что моделирование прерываний возможно только при использовании IAR C-SPY Simulator.
5.1 Добавление программы обработки прерывания.
Краткое описание: Программа обработки прерывания будет читать значения с порта последовательной передачи данных в приёмный регистр RXB0 (UART). Затем будет выводиться принятое значение. Основная программа разрешает прерывания и начинает печатать периоды (.) в приоритетном процессе при ожидании запросов прерываний.
Написание подпрограммы обработки прерывания.
Данные строки определяют подпрограмму обработки прерывания, используемую в этой обучающей программе (законченный исходный текст находится в файле Interrupt.c в каталоге 78k/tutor):
// опредиление программы обработки прерывания
#pragma vector=INTSR0_vect
__interrupt void uartReceiveHandler( void )
векторная директива #pragma используется для того, чтобы определить адрес вектора прерывания - в этом случае, вектор прерывания для UART . Ключевое слово __interrupt используется для того, чтобы направить компилятор на использование соглашения о вызовах, необходимое для функций обработки прерываний.
