Предыдущая Следующая

4. Выберите в опции Run to значение main и «кликните» на кнопке ОК. Это гарантирует, что сеанс отладки начнется с выполнения функции main. Теперь проект готов к формированию.

27.2.4. Формирование проекта

Откомпилируйте и скомпонуйте проект, выбрав Project>Make. Альтернативно, можно «кликнуть» на кнопке Make на инструментальной панели. Команда Make скомпилирует и скомпонует те файлы, которые изменились.

27.2.5. Старт симулятора

1. Запустите C-SPY Debugger, чтобы выполнить проект project4. На экране отобразится (среди других окон) окно Interrupts Log. «Кликните» на нем, чтобы сделать его активным.

2. Проанализируйте содержимое окна Debug Log. Обратите внимание, что макрофайл загружен, и что функция execUserSetup была вызвана (Рис. 27.2).

   
 

Sot Apr 22 19 53.19 2006 Londed mono tile: C\IAR_Systems\EmbBdded_Workberich_'I.O_Evoluotiori\orm\tutor\SBtupSimple mac

SatApr221953492006 Loaded debugee c^lAR_Systems\pra|ects\Debug\Exe\pro|ect<l d79

SatApr2219:53492006 TargBtreset

Sat Apr 2219:53 19 2006 execllserResetO called

Sat Apr 22 19.53:49 2006 execUserSetupQ called

   

Рис. 27.2. Старт симуляции прерываний

27.2.6. Определение симулируемого прерывания

Теперь можно определить прерывание, чтобы заставить C-SPY симулировать его каждые 2000 циклов:

1. Выберите Simulator>Interrupts, а в нем New, чтобы отобразить диалоговое окно Interrupts.

2. Установите параметры настройки для прерывания, приведенные в Табл. 27.1, как изображено на Рис. 27.3.

Таблица 27.1. Настройки параметров диалогового окна Interrupts

Установка

Значение

Описание

Interrupt

IRQ

Определяет, какие прерывания будут использоваться

Description

Как есть (по умолчанию)

Определение прерывания, которое использует симулятор, чтобы корректно смоделировать прерывание

Activation Time

4000

Определяет время активации первого прерывания. Прерывание активируется, когда счетчик циклов содержит это значение

Repeat Interval

-' 2000

Определяет повторный интервал прерывания, измеренный в тактовых циклах

Hold time

Infinite

Время задержки (здесь не используется)

Probability %

100

Определяет вероятность. Значение этого параметра, равное 100%, указывает, что прерывание будет происходить с заданной частотой. Меньшие величины процентов используются, чтобы симулировать более случайное поведение прерываний

Variance

0

Время вариаций (здесь не используется)

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

3. После определения параметров настройки, «кликните» ОК, чтобы закрыть диалоговое окно Interrupts.

Чтобы автоматизировать процедуру определения прерывания, разработчик может, вместо вышеописанной процедуры, использовать системную макрокоманду _orderlnterrupt в файле установок С-SPY. Ниже будет показано, как может быть использована эта макрокоманда, чтобы автоматизировать процесс.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz