[an error occurred while processing this directive]
По ссылке вроде ответил...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Сергей Борщ 08 января 2006 г. 21:37
В ответ на: Опять по Boot Loader для AVR. Так что, в xcl файле должно быть две строчки с INTVEC. Одна для BLS другая для AS. ??? отправлено <font color=gray>oleg&kor</font> 08 января 2006 г. 17:01

Если хочешь в одном проекте совместить и загрузчик и приложение, то в xcl должны быть описаны две секции векторов прерываний. Одна из них имеет зарезервированное компилятором имя INTVEC, вторую обзываешь как тебе больше нравится. Остается только каким-то образим объяснить компилятору, что какие-то из векторов надо класть в твою вторую секцию. Я знаю, как это сделать используя асм:


file.c
#include < iom8.h >
#pragma vector = USART_RXC_vect
__interrupt void Rx232Handler(void) { // обработчик располагается в CODE, вектор на этот обработчик будет располагаться в INTVEC
......
}

__interrupt void BootRx232Handler(void) @ "BOOT_CODE" { // обработчик располагается в BOOT_CODE, вектор на этот обработчик будет в BOOT_INTVEC
....
}

BootVec.asm
; таблица векторов BOOT - секции.
NAME BOOT_VECTORS
#include < iom8.h >

EXTERN BootRx232Handler

COMMON BOOT_INVEC:CODE:ROOT(1)
ORG USART_RXC_vect
JMP BootRx232Handler


ENDMOD
END



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru