Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с векторами прерываний stm8l15(6)2
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Gremz
Столкнулся с проблемой: IAR сдвигает вектора прерывай на несколько адресов вверх...
IAR 1.20 kikstart, и 1,30 (30 дневная версия) разницы никакой ...
Кто сталкивался, помогите решить проблему...
CODE
008068 82 DC8 0x82
008069 00 DC8 0x00
00806A 82 DC8 0x82
00806B 91 DC8 0x91
00806C 82 DC8 0x82 // номер прерыв. 25 (TIM4) <-- сюда попадаем по Tx
00806D 00 DC8 0x00
00806E 82 DC8 0x82
00806F 86 DC8 0x86
008070 82 DC8 0x82 // номер прерыв. 26 (SPI1) <-- сюда попадаем по Rx
008071 00 DC8 0x00
008072 82 DC8 0x82
008073 7F DC8 0x7F
008074 82 DC8 0x82 // номер прерыв. 27 (USART1 Tx /TIM5 ) <-- Здесь должен быть адрес по Tx
008075 00 DC8 0x00
008076 82 DC8 0x82
008077 91 DC8 0x91
008078 82 DC8 0x82 // номер прерыв. 28 (USART1 Rx /TIM5 ) <-- Здесь должен быть адрес по Rx
008079 00 DC8 0x00
00807A 82 DC8 0x82
00807B 91 DC8 0x91
00807C 82 DC8 0x82
00807D 00 DC8 0x00
00807E 82 DC8 0x82

//-----------------------------------**----------------------------------------------------------------------------------


UART1_RXE:
_interrupt_28:
00827F C65231 LD A, USART1_DR
008282 C75231 LD USART1_DR, A
}
008285 80 IRET

USART1_T_TXE:
_interrupt_27:
008286 A631 LD A, #0x31
008288 C75231 LD USART1_DR, A
}
00828B 80 IRET
Gremz
В файле iostm8l162m8.h добавил недостающих номеров прерываний, не помогло....
Подскажите, в каких еще файлах присутствуют описания прерываний, где можно подправить адреса?
Dog Pawlowa
Цитата(Gremz @ Sep 29 2011, 07:07) *
Подскажите, в каких еще файлах присутствуют описания прерываний, где можно подправить адреса?


У меня для контроллера S прерывания определены в файле interrupt_vectors.c, я его сам не сочинял, но перенес из среды к файлам проекта.


extern void _stext(); /* startup routine */
void main(void);

struct interrupt_vector const _vectab[] =
{
{
0x82, (interrupt_handler_t)_stext
}
, /* reset */
//{0x82, (interrupt_handler_t)main}, /* reset */
{0x82, NonHandledInterrupt }, /* trap */
{0x82, NonHandledInterrupt }, /* irq0 - tli */
{0x82, NonHandledInterrupt }, /* irq1 - awu */
{0x82, NonHandledInterrupt }, /* irq2 - clk */
{0x82, NonHandledInterrupt }, /* irq3 - exti0 */
{0x82, NonHandledInterrupt }, /* irq4 - exti1 */
{0x82, NonHandledInterrupt }, /* irq5 - exti2 */
{0x82, NonHandledInterrupt }, /* irq6 - exti3 */
{0x82, NonHandledInterrupt }, /* irq7 - exti4 */
{0x82, NonHandledInterrupt }, /* irq8 - can rx */
{0x82, NonHandledInterrupt }, /* irq9 - can tx */
{0x82, NonHandledInterrupt }, /* irq10 - spi*/
{0x82, NonHandledInterrupt }, /* irq11 - tim1 */
{0x82, NonHandledInterrupt }, /* irq12 - tim1 */
{0x82, TIM2_ISR }, /* irq13 - tim2 */
{0x82, TIM2_ISR }, /* irq14 - tim2 */
{0x82, NonHandledInterrupt }, /* irq15 - tim3 */
{0x82, NonHandledInterrupt }, /* irq16 - tim3 */
{0x82, NonHandledInterrupt }, /* irq17 - uart1 */
{0x82, NonHandledInterrupt }, /* irq18 - uart1 */
{0x82, NonHandledInterrupt }, /* irq19 - i2c */
{0x82, NonHandledInterrupt }, /* irq20 - uart2/3 */
{0x82, NonHandledInterrupt }, /* irq21 - uart2/3 */
{0x82, NonHandledInterrupt }, /* irq22 - adc */
{0x82, NonHandledInterrupt }, /* irq23 - tim4 */
{0x82, NonHandledInterrupt }, /* irq24 - flash */
{0x82, NonHandledInterrupt }, /* irq25 - reserved */
{0x82, NonHandledInterrupt }, /* irq26 - reserved */
{0x82, NonHandledInterrupt }, /* irq27 - reserved */
{0x82, NonHandledInterrupt }, /* irq28 - reserved */
{0x82, NonHandledInterrupt } /* irq29 - reserved */
};
Gremz
Цитата(Dog Pawlowa @ Oct 3 2011, 08:21) *
У меня для контроллера S прерывания определены в файле interrupt_vectors.c....


Не нашел такого файла у себя в папке ИАРа...
Для L возможно есть отличия


PS Написал в IAR....
Ответили, что нашли у себя эту ошибку. Обновление IAR должно выйти в течение нескольких недель.
Так что ждем новой версии IARa
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.