Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с EWARM v4.20
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Tramp
Может, кто сталкивался...
Прооблема такая: в разных файлах проекта я написал несколько обработчиков прерываний следующим образом:

#pragma vector=17
__irq __arm void WizNet_IRQ(void)
{
...
}
При компиляции один файл компилится нормально, на двух других компилятор выдает ошибку:
Internal Error: [AsmLine - OgAsm]: Error[414]: Bad instruction alignment. ARM instructions must be 32-bit-aligned and Thumb instructions must be 16-bit-ali
LDR PC,[PC,#24]

Никто не подскажет, отчего это может происходить (пакет EWARM v4.20a)?
Andy Mozzhevilov
Цитата(Tramp @ May 18 2005, 14:34)
Может, кто сталкивался...
Прооблема такая: в разных файлах проекта я написал несколько обработчиков прерываний следующим образом:

#pragma vector=17
*


vector - суть адрес, он не может быть не кратным 4.
0men
для LPC, к примеру, vector может быть:
#define RESETV 0x00 /* Reset */
#define UNDEFV 0x04 /* Undefined instruction */
#define SWIV 0x08 /* Software interrupt */
#define PABORTV 0x0c /* Prefetch abort */
#define DABORTV 0x10 /* Data abort */
#define IRQV 0x18 /* Normal interrupt */
#define FIQV 0x1c /* Fast interrupt */

У вас, судя по __irq , должно быть так
#pragma vector=IRQV
__irq __arm void WizNet_IRQ(void)
{
...
}
Tramp
Спасибо, понял
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.