[an error occurred while processing this directive]
|
Если хочешь в одном проекте совместить и загрузчик и приложение, то в 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: info@telesys.ru