Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методички к 78К0 / Лаба1-78К0.doc
Скачиваний:
89
Добавлен:
12.03.2015
Размер:
1.61 Mб
Скачать

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. В конце этой главы будет рассмотрено, как эта макрокоманда может использоваться, чтобы автоматизировать процесс.

Соседние файлы в папке методички к 78К0