- •Содержание:
- •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 Содержание отчета.
3.6 Просмотр окна ввода-вывода (Terminal I/o)
Часто возникает необходимость отладить конструкции в вашем коде, которые используют «stdin» и «stdout» (стандартные функции ввода-вывода) при отсутствии аппаратных средств.
То есть симулировать работу с внешними устройствами ввода-вывода.
Окно “Terminal I/O” доступно только в C-SPY если вы компоновали вашу программу используя включенную опцию «With I/O emulation modules»,
настройки «With» в закладке «Output» опций компоновщика.
(см. п 2.6 Компоновка программ, стр.11 )
Для открытия окна “Terminal I/O” воспользуйтесь командой View>Terminal I/O . Вид окна представлен на рисунке 22.


Рисунок 23 – Информационное окно отладчика.
Рисунок 22 – Окно содержимого буфера ввода-вывоа.
Содержимое окна зависит от того, как выполнялась программа и какие значения были во входном файле .
3.7 Достижение конца программы.
Чтобы завершить выполнение вашей программы, выберите, Debug> Go.
Или
нажмите кнопку
в панели инструментов.
Сообщения о ходе выполнения программы, контрольных точках и достижения конца программы, будут отображаться в окне “Debug Log”, как показано на рисунке 23.
Если
Вы хотите запустить программу снова,
выберите команду
Debug> Reset в
верхнем меню,
или нажмите кнопку
в панели инструментов.
Чтобы
выйти из C-SPY
, выберите команду Debug>Stop
Debugging
в
верхнем меню
или нажмите кнопку
в панели инструментов.
4. Соединение программных модулей на языках с и ассемблера.
В некоторых проектах бывает необходимо написать некоторые части программы на языке ассемблера. При написании подпрограммы на языке ассемблера, которую будет вызывать программа на языке С, необходимо знать о соглашении о вызовах, используемом компилятором. В этом примере Вы воспользуетесь функцией компилятора , которая создаст выходной файл ассемблера из файла “Utilities.c”.
Создайте новый проект в рабочем пространстве “tutorials” , используемом в предыдущих главах, и назовите проект project2. Добавьте файлы "Tutor.c" и "Utilities.c" к проекту.
Для того чтобы отображался краткий обзор рабочего пространства, нажмите закладку Overview, расположенную внизу окна рабочего пространства. Чтобы видеть только недавно созданный проект, нажмите закладку project2. Для данного этапа, окно project2 должно быть активным.
Чтобы установить настройки, выберите Project> Options, и выберите категорию Общих параметров (General Options).
Выберите Project> Options. Обратите внимание, что доступны только C/C++ Compiler и Custom Build категории .
В категории "C/C++ Compiler", выберите "Override inherited settings" и проверьте следующие параметры настройки, согласно таблице 2:
Таблица 2 – Настройки C/EC++ compiler.
|
Закладка |
Настройки |
|
Code |
Size: None |
|
List
|
Output assembler file Include source Include compiler runtime information (должно быть отключено). |
В этом примере необходимо использовать низкий уровень оптимизации при компилировании кода, чтобы показать компилятору доступ к местной и глобальной переменной. Если используется более высокий уровень оптимизации, требуемые ссылки на местные переменные могут быть удалены. Фактическое функциональное объявление не изменено уровнем оптимизации.
Нажмите «ОК», чтобы вернутся к окну рабочего пространства.
Откомпилируйте файл "Utilities.c". После этого выходной файл “Utilities.s26” будет находиться в подкаталоге projects\debug\list. Для того чтобы убедиться, как компилятор создал файл на языке ассемблера, по исходному коду на зыке С, откройте файл Utilities.s26. Исследуйте этот код и посмотрите где и как вызываются подпрограммы и функции ассемблера, и как осуществляется выход из них.
