- •Содержание:
- •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 Содержание отчета.
5.6 Начало моделирования.
Запустите IAR C-SPY Debugger для старта ващего проекта. Нажмите на окно “Interrupt.c” для того чтобы сделать его активным.
Посмотрите на окно «Log». Обратите внимание, что макро файл был загружен, и что функция execUserSetup вызвалась.
Определение моделируемого прерывания. Теперь Вы определите ваше прерывание, чтобы заставить C-SPY моделировать прерывание каждые 2000 циклов. Выберите в верхнем меню Simulator>Interrupts и в диалоговом окне Interrupts нажмите “Add”, для того чтобы вызвать окно настройки прерываний. Настройте Ваше прерывание в соответствии с таблицей 3:
Таблица 3 – Настройки свойств симулируемого прерывания.
|
Настраиваемая величина |
Значение величины |
Описание |
|
Interrupt |
INTSR0 |
Определяет прерывания,которые нужно использовать; название определено в *.ddf файле. |
|
Description |
As Is |
Определение прерывания, которое использует симулятор,для того чтобы правильно моделировать прерывание . |
|
First activation |
4000 |
Определяет первый момент активации прерывания. Прерывание активизировано, когда счетчик цикла достиг этого значения. |
|
Repeat Interval |
2000 |
Определяет повторный интервал для прерывания (количество тактовых циклов) |
|
Hold time |
Infinite |
Время задержки |
|
Probability % |
100 |
Определяет вероятность. 100 % определяют, что прерывание будет происходить с заданной частотой. Можно использовать другое значение этого параметра,если необходимо придать прерыванию более случайный характер. |
|
Variance % |
0 |
Дисперсия времени здесь не используется. |

Рисунок 26 – Установка режимов прерываний.
В течение выполнения программы, C-SPY будет ждать, пока счетчик цикла не достигнет первого раза активации прерывения. Когда текущая команда ассемблера будет выполнена, C-SPY генерирует прерывание. Прерывание будет повторено приблизительно каждые 2000 циклов.
После установки всех этих значений, нажмите «ОК», чтобы закрыть диалоговое окно Interrupts.
В конце этой главы будет показано, как Вы можете вместо данных настроек использовать системную макрокоманду __ orderInterrupt в файле установки C-SPY, чтобы автоматизировать процедуру определения прерывания.
5.7 Установка контрольной точки.
Определяя макрокоманду и подключая её к непосредственной контрольной точке, Вы можете заставить макрокоманду моделировать поведение аппаратного устройства, например порт ввода - вывода, как в этой обучающей программе. Непосредственная контрольная точка не будет останавливать выполнение, а только лишь временно приостанавливать его, чтобы увидеть состояния и выполнить любую связанную макрокоманду.
В верхнем меню выберите Edit>Breakpoint , откроется диалоговое окно Breakpoints. В этом окне перейдите к закладке Immediate и добавьте следующие параметры для вашей контрольной точки,согласно таблице 4:
Таблица 4 – Настройки свойств контрольной точки.
|
Настраиваемая величина |
Значение величины |
Описание |
|
Break at |
RXB0 |
Адрес буфера приёмника |
|
Access Type |
Read |
Тип контрольной точки (чтение или запись) |
|
Action |
Access() |
Макрокоманда, связанная с контрольной точкой. |

Рисунок 27 – Установка режимов контрольной точки.
Теперь нажмите кнопку «Apply», затем «ОК» для закрытия этого диалогового окна. Чтобы автоматизировать настройку контрольной точки, можно использовать системную макрокоманду __ setSimBreak в файле установки C-SPY. В конце этой главы будет рассмотрено, как эта макрокоманда может использоваться, чтобы автоматизировать процесс.
