[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Paparazzi-devel] Libopencm3 - STM32-F1 change interrupt priority
From: |
Piotr Esden-Tempski |
Subject: |
Re: [Paparazzi-devel] Libopencm3 - STM32-F1 change interrupt priority |
Date: |
Fri, 19 Apr 2013 15:01:51 -0700 |
Hi Michal,
I think you are mistaking the vector table slot numbers there for priorities.
These are the positions of the function pointers inside the vector table. If
you change those numbers then things will obviously explode.
(just for reference, here the defines get their weak functions assigned:
sw/ext/libopencm3/lib/stm32/f1/vector_nvic.c, and here the vector is being put
together: sw/ext/libopencm3/lib/cm3/vector.c)
IRQ priorities are set using the NVIC_IPR register, or using nvic_set_priority
function.
I hope this helps.
Cheers Esden
P.S. both files nvic.h and vector_nvic.c are generated using the
sw/ext/libopencm3/scripts/irq2nvic_h from
sw/ext/libopencm3/include/libopencm3/stm32/f1/irq.yaml so you should not edit
those files by hand.
On Apr 19, 2013, at 2:12 PM, Michal Podhradsky <address@hidden> wrote:
> Hi folks,
>
> I have a question about interrupt priorities for STM32F1 chip (Lia 1.1/Lisa_M
> 2.0).
>
> In sw/ext/libopencm3/include/libopencm3/stm32/f1/nvic.h are defined
> priorities for user interrupts. However, if I try to change the priority for
> example for NVIC_USART2_IRQ (let's say make it higher priority than
> NVIC_USART1_IRQ), the code compiles, but then the program hangs up instantly
> in usart_isr interrupt routine (debugged with JTAG).
>
> Can the priorities be set somewhere else or is it a feature to have
> "hardcoded" priorities?
>
> Thanks
> Michal
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/paparazzi-devel