interrupt: port to STM32F4

This commit is contained in:
King Kévin 2020-12-11 20:56:41 +01:00
parent 4f89a6a8ef
commit 2976f59622
2 changed files with 92 additions and 70 deletions

View File

@ -36,73 +36,96 @@ static void isr_handler(void)
/** use the isr_handler as default ISR
* @note the ISR can still point to other defined function
* @remark from libopencm3/stm32/f1/vector_nvic.c
* @remark from libopencm3/lib/stm32/f4/vector_nvic.c
*/
#pragma weak wwdg_isr = isr_handler
#pragma weak pvd_isr = isr_handler
#pragma weak tamper_isr = isr_handler
#pragma weak rtc_isr = isr_handler
#pragma weak flash_isr = isr_handler
#pragma weak rcc_isr = isr_handler
#pragma weak exti0_isr = isr_handler
#pragma weak exti1_isr = isr_handler
#pragma weak exti2_isr = isr_handler
#pragma weak exti3_isr = isr_handler
#pragma weak exti4_isr = isr_handler
#pragma weak dma1_channel1_isr = isr_handler
#pragma weak dma1_channel2_isr = isr_handler
#pragma weak dma1_channel3_isr = isr_handler
#pragma weak dma1_channel4_isr = isr_handler
#pragma weak dma1_channel5_isr = isr_handler
#pragma weak dma1_channel6_isr = isr_handler
#pragma weak dma1_channel7_isr = isr_handler
#pragma weak adc1_2_isr = isr_handler
#pragma weak usb_hp_can_tx_isr = isr_handler
#pragma weak usb_lp_can_rx0_isr = isr_handler
#pragma weak can_rx1_isr = isr_handler
#pragma weak can_sce_isr = isr_handler
#pragma weak exti9_5_isr = isr_handler
#pragma weak tim1_brk_isr = isr_handler
#pragma weak tim1_up_isr = isr_handler
#pragma weak tim1_trg_com_isr = isr_handler
#pragma weak tim1_cc_isr = isr_handler
#pragma weak tim2_isr = isr_handler
#pragma weak tim3_isr = isr_handler
#pragma weak tim4_isr = isr_handler
#pragma weak i2c1_ev_isr = isr_handler
#pragma weak i2c1_er_isr = isr_handler
#pragma weak i2c2_ev_isr = isr_handler
#pragma weak i2c2_er_isr = isr_handler
#pragma weak spi1_isr = isr_handler
#pragma weak spi2_isr = isr_handler
#pragma weak usart1_isr = isr_handler
#pragma weak usart2_isr = isr_handler
#pragma weak usart3_isr = isr_handler
#pragma weak exti15_10_isr = isr_handler
#pragma weak rtc_alarm_isr = isr_handler
#pragma weak usb_wakeup_isr = isr_handler
#pragma weak tim8_brk_isr = isr_handler
#pragma weak tim8_up_isr = isr_handler
#pragma weak tim8_trg_com_isr = isr_handler
#pragma weak tim8_cc_isr = isr_handler
#pragma weak adc3_isr = isr_handler
#pragma weak fsmc_isr = isr_handler
#pragma weak sdio_isr = isr_handler
#pragma weak tim5_isr = isr_handler
#pragma weak spi3_isr = isr_handler
#pragma weak uart4_isr = isr_handler
#pragma weak uart5_isr = isr_handler
#pragma weak tim6_isr = isr_handler
#pragma weak tim7_isr = isr_handler
#pragma weak dma2_channel1_isr = isr_handler
#pragma weak dma2_channel2_isr = isr_handler
#pragma weak dma2_channel3_isr = isr_handler
#pragma weak dma2_channel4_5_isr = isr_handler
#pragma weak dma2_channel5_isr = isr_handler
#pragma weak eth_isr = isr_handler
#pragma weak eth_wkup_isr = isr_handler
#pragma weak can2_tx_isr = isr_handler
#pragma weak can2_rx0_isr = isr_handler
#pragma weak can2_rx1_isr = isr_handler
#pragma weak can2_sce_isr = isr_handler
#pragma weak otg_fs_isr = isr_handler
void nvic_wwdg_isr(void) __attribute__((weak, alias("isr_handler")));
void pvd_isr(void) __attribute__((weak, alias("isr_handler")));
void tamp_stamp_isr(void) __attribute__((weak, alias("isr_handler")));
void rtc_wkup_isr(void) __attribute__((weak, alias("isr_handler")));
void flash_isr(void) __attribute__((weak, alias("isr_handler")));
void rcc_isr(void) __attribute__((weak, alias("isr_handler")));
void exti0_isr(void) __attribute__((weak, alias("isr_handler")));
void exti1_isr(void) __attribute__((weak, alias("isr_handler")));
void exti2_isr(void) __attribute__((weak, alias("isr_handler")));
void exti3_isr(void) __attribute__((weak, alias("isr_handler")));
void exti4_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream0_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream1_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream2_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream3_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream4_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream5_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream6_isr(void) __attribute__((weak, alias("isr_handler")));
void adc_isr(void) __attribute__((weak, alias("isr_handler")));
void can1_tx_isr(void) __attribute__((weak, alias("isr_handler")));
void can1_rx0_isr(void) __attribute__((weak, alias("isr_handler")));
void can1_rx1_isr(void) __attribute__((weak, alias("isr_handler")));
void can1_sce_isr(void) __attribute__((weak, alias("isr_handler")));
void exti9_5_isr(void) __attribute__((weak, alias("isr_handler")));
void tim1_brk_tim9_isr(void) __attribute__((weak, alias("isr_handler")));
void tim1_up_tim10_isr(void) __attribute__((weak, alias("isr_handler")));
void tim1_trg_com_tim11_isr(void) __attribute__((weak, alias("isr_handler")));
void tim1_cc_isr(void) __attribute__((weak, alias("isr_handler")));
void tim2_isr(void) __attribute__((weak, alias("isr_handler")));
void tim3_isr(void) __attribute__((weak, alias("isr_handler")));
void tim4_isr(void) __attribute__((weak, alias("isr_handler")));
void i2c1_ev_isr(void) __attribute__((weak, alias("isr_handler")));
void i2c1_er_isr(void) __attribute__((weak, alias("isr_handler")));
void i2c2_ev_isr(void) __attribute__((weak, alias("isr_handler")));
void i2c2_er_isr(void) __attribute__((weak, alias("isr_handler")));
void spi1_isr(void) __attribute__((weak, alias("isr_handler")));
void spi2_isr(void) __attribute__((weak, alias("isr_handler")));
void usart1_isr(void) __attribute__((weak, alias("isr_handler")));
void usart2_isr(void) __attribute__((weak, alias("isr_handler")));
void usart3_isr(void) __attribute__((weak, alias("isr_handler")));
void exti15_10_isr(void) __attribute__((weak, alias("isr_handler")));
void rtc_alarm_isr(void) __attribute__((weak, alias("isr_handler")));
void usb_fs_wkup_isr(void) __attribute__((weak, alias("isr_handler")));
void tim8_brk_tim12_isr(void) __attribute__((weak, alias("isr_handler")));
void tim8_up_tim13_isr(void) __attribute__((weak, alias("isr_handler")));
void tim8_trg_com_tim14_isr(void) __attribute__((weak, alias("isr_handler")));
void tim8_cc_isr(void) __attribute__((weak, alias("isr_handler")));
void dma1_stream7_isr(void) __attribute__((weak, alias("isr_handler")));
void fsmc_isr(void) __attribute__((weak, alias("isr_handler")));
void sdio_isr(void) __attribute__((weak, alias("isr_handler")));
void tim5_isr(void) __attribute__((weak, alias("isr_handler")));
void spi3_isr(void) __attribute__((weak, alias("isr_handler")));
void uart4_isr(void) __attribute__((weak, alias("isr_handler")));
void uart5_isr(void) __attribute__((weak, alias("isr_handler")));
void tim6_dac_isr(void) __attribute__((weak, alias("isr_handler")));
void tim7_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream0_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream1_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream2_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream3_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream4_isr(void) __attribute__((weak, alias("isr_handler")));
void eth_isr(void) __attribute__((weak, alias("isr_handler")));
void eth_wkup_isr(void) __attribute__((weak, alias("isr_handler")));
void can2_tx_isr(void) __attribute__((weak, alias("isr_handler")));
void can2_rx0_isr(void) __attribute__((weak, alias("isr_handler")));
void can2_rx1_isr(void) __attribute__((weak, alias("isr_handler")));
void can2_sce_isr(void) __attribute__((weak, alias("isr_handler")));
void otg_fs_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream5_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream6_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2_stream7_isr(void) __attribute__((weak, alias("isr_handler")));
void usart6_isr(void) __attribute__((weak, alias("isr_handler")));
void i2c3_ev_isr(void) __attribute__((weak, alias("isr_handler")));
void i2c3_er_isr(void) __attribute__((weak, alias("isr_handler")));
void otg_hs_ep1_out_isr(void) __attribute__((weak, alias("isr_handler")));
void otg_hs_ep1_in_isr(void) __attribute__((weak, alias("isr_handler")));
void otg_hs_wkup_isr(void) __attribute__((weak, alias("isr_handler")));
void otg_hs_isr(void) __attribute__((weak, alias("isr_handler")));
void dcmi_isr(void) __attribute__((weak, alias("isr_handler")));
void cryp_isr(void) __attribute__((weak, alias("isr_handler")));
void hash_rng_isr(void) __attribute__((weak, alias("isr_handler")));
void fpu_isr(void) __attribute__((weak, alias("isr_handler")));
void uart7_isr(void) __attribute__((weak, alias("isr_handler")));
void uart8_isr(void) __attribute__((weak, alias("isr_handler")));
void spi4_isr(void) __attribute__((weak, alias("isr_handler")));
void spi5_isr(void) __attribute__((weak, alias("isr_handler")));
void spi6_isr(void) __attribute__((weak, alias("isr_handler")));
void sai1_isr(void) __attribute__((weak, alias("isr_handler")));
void lcd_tft_isr(void) __attribute__((weak, alias("isr_handler")));
void lcd_tft_err_isr(void) __attribute__((weak, alias("isr_handler")));
void dma2d_isr(void) __attribute__((weak, alias("isr_handler")));

View File

@ -5,7 +5,6 @@
* @date 2018-2020
*/
#pragma once
#error not converted for STM32F4
#include "libopencm3/cm3/nvic.h"
#include "libopencm3/cm3/vector.h"