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).
Iх |
||
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 ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |