This is an automated email from the ASF dual-hosted git repository. jerzy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit 416e41f58c6a5c96f50eb891465fa0a741be2342 Author: Jerzy Kasenberg <[email protected]> AuthorDate: Wed Apr 10 09:57:06 2024 +0200 hw/mcu/stm32u5: Use common startup code for cortex-m33 This: - adds vectors definitions for all stm32u5 MCU's - fixes MSI ranges (system_stm32u5xx.c taken verbatim from st repo) - mynewt related code moved from system_stm32u5xx.c to hal_system_init Signed-off-by: Jerzy Kasenberg <[email protected]> --- hw/mcu/stm/stm32u5xx/include/mcu/mcu_vectors.h | 38 +++++ .../include/mcu/vectors/stm32u535xx_vectors.h | 161 +++++++++++++++++++ .../include/mcu/vectors/stm32u545xx_vectors.h | 161 +++++++++++++++++++ .../include/mcu/vectors/stm32u575xx_vectors.h | 161 +++++++++++++++++++ .../include/mcu/vectors/stm32u585xx_vectors.h | 161 +++++++++++++++++++ .../include/mcu/vectors/stm32u595xx_vectors.h | 167 ++++++++++++++++++++ .../include/mcu/vectors/stm32u599xx_vectors.h | 174 +++++++++++++++++++++ .../include/mcu/vectors/stm32u5a5xx_vectors.h | 167 ++++++++++++++++++++ .../include/mcu/vectors/stm32u5a9xx_vectors.h | 174 +++++++++++++++++++++ hw/mcu/stm/stm32u5xx/pkg.yml | 1 + hw/mcu/stm/stm32u5xx/src/hal_system_init.c | 42 +++++ hw/mcu/stm/stm32u5xx/src/system_stm32u5xx.c | 25 ++- 12 files changed, 1416 insertions(+), 16 deletions(-) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/mcu_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/mcu_vectors.h new file mode 100644 index 000000000..4915b4b41 --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/mcu_vectors.h @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#if defined(STM32U575xx) +#include "vectors/stm32u575xx_vectors.h" +#elif defined(STM32U585xx) +#include "vectors/stm32u585xx_vectors.h" +#elif defined(STM32U595xx) +#include "vectors/stm32u595xx_vectors.h" +#elif defined(STM32U599xx) +#include "vectors/stm32u599xx_vectors.h" +#elif defined(STM32U5A5xx) +#include "vectors/stm32u5a5xx_vectors.h" +#elif defined(STM32U5A9xx) +#include "vectors/stm32u5a9xx_vectors.h" +#elif defined(STM32U535xx) +#include "vectors/stm32u535xx_vectors.h" +#elif defined(STM32U545xx) +#include "vectors/stm32u545xx_vectors.h" +#else +#error "Please select first the target STM32U5xx device used in your application (in stm32u5xx.h file)" +#endif diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u535xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u535xx_vectors.h new file mode 100644 index 000000000..24db124a9 --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u535xx_vectors.h @@ -0,0 +1,161 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(USB_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u545xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u545xx_vectors.h new file mode 100644 index 000000000..322bddcbe --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u545xx_vectors.h @@ -0,0 +1,161 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR(SAES_IRQHandler) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(USB_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(AES_IRQHandler) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR(PKA_IRQHandler) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR(OTFDEC1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u575xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u575xx_vectors.h new file mode 100644 index 000000000..cb9ef011d --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u575xx_vectors.h @@ -0,0 +1,161 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(OTG_FS_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR(FMC_IRQHandler) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR(SDMMC2_IRQHandler) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR(SAI2_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR(MDF1_FLT2_IRQHandler) +INT_VECTOR(MDF1_FLT3_IRQHandler) +INT_VECTOR(UCPD1_IRQHandler) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR(DMA2D_IRQHandler) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR(OCTOSPI2_IRQHandler) +INT_VECTOR(MDF1_FLT4_IRQHandler) +INT_VECTOR(MDF1_FLT5_IRQHandler) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u585xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u585xx_vectors.h new file mode 100644 index 000000000..5eee5c4a6 --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u585xx_vectors.h @@ -0,0 +1,161 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR(SAES_IRQHandler) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(OTG_FS_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR(FMC_IRQHandler) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR(SDMMC2_IRQHandler) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR(SAI2_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(AES_IRQHandler) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR(PKA_IRQHandler) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR(MDF1_FLT2_IRQHandler) +INT_VECTOR(MDF1_FLT3_IRQHandler) +INT_VECTOR(UCPD1_IRQHandler) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR(OTFDEC1_IRQHandler) +INT_VECTOR(OTFDEC2_IRQHandler) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR(DMA2D_IRQHandler) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR(OCTOSPI2_IRQHandler) +INT_VECTOR(MDF1_FLT4_IRQHandler) +INT_VECTOR(MDF1_FLT5_IRQHandler) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u595xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u595xx_vectors.h new file mode 100644 index 000000000..ef294c808 --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u595xx_vectors.h @@ -0,0 +1,167 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_2_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(OTG_HS_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR(FMC_IRQHandler) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR(SDMMC2_IRQHandler) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR(SAI2_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR(MDF1_FLT2_IRQHandler) +INT_VECTOR(MDF1_FLT3_IRQHandler) +INT_VECTOR(UCPD1_IRQHandler) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR(DMA2D_IRQHandler) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR(OCTOSPI2_IRQHandler) +INT_VECTOR(MDF1_FLT4_IRQHandler) +INT_VECTOR(MDF1_FLT5_IRQHandler) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) +INT_VECTOR(USART6_IRQHandler) +INT_VECTOR(I2C5_ER_IRQHandler) +INT_VECTOR(I2C5_EV_IRQHandler) +INT_VECTOR(I2C6_ER_IRQHandler) +INT_VECTOR(I2C6_EV_IRQHandler) +INT_VECTOR(HSPI1_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u599xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u599xx_vectors.h new file mode 100644 index 000000000..23aac5e04 --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u599xx_vectors.h @@ -0,0 +1,174 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_2_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(OTG_HS_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR(FMC_IRQHandler) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR(SDMMC2_IRQHandler) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR(SAI2_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR(MDF1_FLT2_IRQHandler) +INT_VECTOR(MDF1_FLT3_IRQHandler) +INT_VECTOR(UCPD1_IRQHandler) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR(DMA2D_IRQHandler) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR(OCTOSPI2_IRQHandler) +INT_VECTOR(MDF1_FLT4_IRQHandler) +INT_VECTOR(MDF1_FLT5_IRQHandler) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) +INT_VECTOR(USART6_IRQHandler) +INT_VECTOR(I2C5_ER_IRQHandler) +INT_VECTOR(I2C5_EV_IRQHandler) +INT_VECTOR(I2C6_ER_IRQHandler) +INT_VECTOR(I2C6_EV_IRQHandler) +INT_VECTOR(HSPI1_IRQHandler) +INT_VECTOR(GPU2D_IRQHandler) +INT_VECTOR(GPU2D_ER_IRQHandler) +INT_VECTOR(GFXMMU_IRQHandler) +INT_VECTOR(LTDC_IRQHandler) +INT_VECTOR(LTDC_ER_IRQHandler) +INT_VECTOR(DSI_IRQHandler) +INT_VECTOR(DCACHE2_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u5a5xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u5a5xx_vectors.h new file mode 100644 index 000000000..b6adff096 --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u5a5xx_vectors.h @@ -0,0 +1,167 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR(SAES_IRQHandler) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_2_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(OTG_HS_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR(FMC_IRQHandler) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR(SDMMC2_IRQHandler) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR(SAI2_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(AES_IRQHandler) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR(PKA_IRQHandler) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR(MDF1_FLT2_IRQHandler) +INT_VECTOR(MDF1_FLT3_IRQHandler) +INT_VECTOR(UCPD1_IRQHandler) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR(OTFDEC1_IRQHandler) +INT_VECTOR(OTFDEC2_IRQHandler) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR(DMA2D_IRQHandler) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR(OCTOSPI2_IRQHandler) +INT_VECTOR(MDF1_FLT4_IRQHandler) +INT_VECTOR(MDF1_FLT5_IRQHandler) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) +INT_VECTOR(USART6_IRQHandler) +INT_VECTOR(I2C5_ER_IRQHandler) +INT_VECTOR(I2C5_EV_IRQHandler) +INT_VECTOR(I2C6_ER_IRQHandler) +INT_VECTOR(I2C6_EV_IRQHandler) +INT_VECTOR(HSPI1_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u5a9xx_vectors.h b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u5a9xx_vectors.h new file mode 100644 index 000000000..df87564b9 --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/include/mcu/vectors/stm32u5a9xx_vectors.h @@ -0,0 +1,174 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +INT_VECTOR_STACK_TOP(__StackTop) +INT_VECTOR_RESET_HANDLER(Reset_Handler) +INT_VECTOR_NMI_HANDLER(NMI_Handler) +INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler) +INT_VECTOR_MEMMANAGE_HANDLER(MemManage_Handler) +INT_VECTOR_BUSFAULT_HANDLER(BusFault_Handler) +INT_VECTOR_USAGEFAULT_HANDLER(UsageFault_Handler) +INT_VECTOR_SECUREFAULT_HANDLER(SecureFault_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_PVM_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(RTC_S_IRQHandler) +INT_VECTOR(TAMP_IRQHandler) +INT_VECTOR(RAMCFG_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(FLASH_S_IRQHandler) +INT_VECTOR(GTZC_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(RCC_S_IRQHandler) +INT_VECTOR(EXTI0_IRQHandler) +INT_VECTOR(EXTI1_IRQHandler) +INT_VECTOR(EXTI2_IRQHandler) +INT_VECTOR(EXTI3_IRQHandler) +INT_VECTOR(EXTI4_IRQHandler) +INT_VECTOR(EXTI5_IRQHandler) +INT_VECTOR(EXTI6_IRQHandler) +INT_VECTOR(EXTI7_IRQHandler) +INT_VECTOR(EXTI8_IRQHandler) +INT_VECTOR(EXTI9_IRQHandler) +INT_VECTOR(EXTI10_IRQHandler) +INT_VECTOR(EXTI11_IRQHandler) +INT_VECTOR(EXTI12_IRQHandler) +INT_VECTOR(EXTI13_IRQHandler) +INT_VECTOR(EXTI14_IRQHandler) +INT_VECTOR(EXTI15_IRQHandler) +INT_VECTOR(IWDG_IRQHandler) +INT_VECTOR(SAES_IRQHandler) +INT_VECTOR(GPDMA1_Channel0_IRQHandler) +INT_VECTOR(GPDMA1_Channel1_IRQHandler) +INT_VECTOR(GPDMA1_Channel2_IRQHandler) +INT_VECTOR(GPDMA1_Channel3_IRQHandler) +INT_VECTOR(GPDMA1_Channel4_IRQHandler) +INT_VECTOR(GPDMA1_Channel5_IRQHandler) +INT_VECTOR(GPDMA1_Channel6_IRQHandler) +INT_VECTOR(GPDMA1_Channel7_IRQHandler) +INT_VECTOR(ADC1_2_IRQHandler) +INT_VECTOR(DAC1_IRQHandler) +INT_VECTOR(FDCAN1_IT0_IRQHandler) +INT_VECTOR(FDCAN1_IT1_IRQHandler) +INT_VECTOR(TIM1_BRK_IRQHandler) +INT_VECTOR(TIM1_UP_IRQHandler) +INT_VECTOR(TIM1_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM4_IRQHandler) +INT_VECTOR(TIM5_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM8_BRK_IRQHandler) +INT_VECTOR(TIM8_UP_IRQHandler) +INT_VECTOR(TIM8_TRG_COM_IRQHandler) +INT_VECTOR(TIM8_CC_IRQHandler) +INT_VECTOR(I2C1_EV_IRQHandler) +INT_VECTOR(I2C1_ER_IRQHandler) +INT_VECTOR(I2C2_EV_IRQHandler) +INT_VECTOR(I2C2_ER_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_IRQHandler) +INT_VECTOR(UART4_IRQHandler) +INT_VECTOR(UART5_IRQHandler) +INT_VECTOR(LPUART1_IRQHandler) +INT_VECTOR(LPTIM1_IRQHandler) +INT_VECTOR(LPTIM2_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(COMP_IRQHandler) +INT_VECTOR(OTG_HS_IRQHandler) +INT_VECTOR(CRS_IRQHandler) +INT_VECTOR(FMC_IRQHandler) +INT_VECTOR(OCTOSPI1_IRQHandler) +INT_VECTOR(PWR_S3WU_IRQHandler) +INT_VECTOR(SDMMC1_IRQHandler) +INT_VECTOR(SDMMC2_IRQHandler) +INT_VECTOR(GPDMA1_Channel8_IRQHandler) +INT_VECTOR(GPDMA1_Channel9_IRQHandler) +INT_VECTOR(GPDMA1_Channel10_IRQHandler) +INT_VECTOR(GPDMA1_Channel11_IRQHandler) +INT_VECTOR(GPDMA1_Channel12_IRQHandler) +INT_VECTOR(GPDMA1_Channel13_IRQHandler) +INT_VECTOR(GPDMA1_Channel14_IRQHandler) +INT_VECTOR(GPDMA1_Channel15_IRQHandler) +INT_VECTOR(I2C3_EV_IRQHandler) +INT_VECTOR(I2C3_ER_IRQHandler) +INT_VECTOR(SAI1_IRQHandler) +INT_VECTOR(SAI2_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(AES_IRQHandler) +INT_VECTOR(RNG_IRQHandler) +INT_VECTOR(FPU_IRQHandler) +INT_VECTOR(HASH_IRQHandler) +INT_VECTOR(PKA_IRQHandler) +INT_VECTOR(LPTIM3_IRQHandler) +INT_VECTOR(SPI3_IRQHandler) +INT_VECTOR(I2C4_ER_IRQHandler) +INT_VECTOR(I2C4_EV_IRQHandler) +INT_VECTOR(MDF1_FLT0_IRQHandler) +INT_VECTOR(MDF1_FLT1_IRQHandler) +INT_VECTOR(MDF1_FLT2_IRQHandler) +INT_VECTOR(MDF1_FLT3_IRQHandler) +INT_VECTOR(UCPD1_IRQHandler) +INT_VECTOR(ICACHE_IRQHandler) +INT_VECTOR(OTFDEC1_IRQHandler) +INT_VECTOR(OTFDEC2_IRQHandler) +INT_VECTOR(LPTIM4_IRQHandler) +INT_VECTOR(DCACHE1_IRQHandler) +INT_VECTOR(ADF1_IRQHandler) +INT_VECTOR(ADC4_IRQHandler) +INT_VECTOR(LPDMA1_Channel0_IRQHandler) +INT_VECTOR(LPDMA1_Channel1_IRQHandler) +INT_VECTOR(LPDMA1_Channel2_IRQHandler) +INT_VECTOR(LPDMA1_Channel3_IRQHandler) +INT_VECTOR(DMA2D_IRQHandler) +INT_VECTOR(DCMI_PSSI_IRQHandler) +INT_VECTOR(OCTOSPI2_IRQHandler) +INT_VECTOR(MDF1_FLT4_IRQHandler) +INT_VECTOR(MDF1_FLT5_IRQHandler) +INT_VECTOR(CORDIC_IRQHandler) +INT_VECTOR(FMAC_IRQHandler) +INT_VECTOR(LSECSSD_IRQHandler) +INT_VECTOR(USART6_IRQHandler) +INT_VECTOR(I2C5_ER_IRQHandler) +INT_VECTOR(I2C5_EV_IRQHandler) +INT_VECTOR(I2C6_ER_IRQHandler) +INT_VECTOR(I2C6_EV_IRQHandler) +INT_VECTOR(HSPI1_IRQHandler) +INT_VECTOR(GPU2D_IRQHandler) +INT_VECTOR(GPU2D_ER_IRQHandler) +INT_VECTOR(GFXMMU_IRQHandler) +INT_VECTOR(LTDC_IRQHandler) +INT_VECTOR(LTDC_ER_IRQHandler) +INT_VECTOR(DSI_IRQHandler) +INT_VECTOR(DCACHE2_IRQHandler) diff --git a/hw/mcu/stm/stm32u5xx/pkg.yml b/hw/mcu/stm/stm32u5xx/pkg.yml index b639b4c45..8cbd127f8 100644 --- a/hw/mcu/stm/stm32u5xx/pkg.yml +++ b/hw/mcu/stm/stm32u5xx/pkg.yml @@ -45,6 +45,7 @@ pkg.deps: - "@apache-mynewt-core/hw/hal" - "@apache-mynewt-core/hw/mcu/stm/stm32_common" - "@apache-mynewt-core/hw/cmsis-core" + - "@apache-mynewt-core/boot/startup" pkg.deps.'(SPI_0_MASTER || SPI_1_MASTER || SPI_2_MASTER) && BUS_DRIVER_PRESENT': - "@apache-mynewt-core/hw/bus/drivers/spi_stm32" diff --git a/hw/mcu/stm/stm32u5xx/src/hal_system_init.c b/hw/mcu/stm/stm32u5xx/src/hal_system_init.c new file mode 100644 index 000000000..46d6e4bbc --- /dev/null +++ b/hw/mcu/stm/stm32u5xx/src/hal_system_init.c @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include "os/mynewt.h" +#include "mcu/stm32_hal.h" +#include <hal/hal_system.h> + +extern char __vector_tbl_reloc__[]; + +void SystemClock_Config(void); + +void +hal_system_init(void) +{ + SCB->VTOR = (uint32_t)&__vector_tbl_reloc__; + + /* Configure System Clock */ + SystemClock_Config(); + + /* Update SystemCoreClock global variable */ + SystemCoreClockUpdate(); + + /* Relocate the vector table */ + NVIC_Relocate(); +} + diff --git a/hw/mcu/stm/stm32u5xx/src/system_stm32u5xx.c b/hw/mcu/stm/stm32u5xx/src/system_stm32u5xx.c index 5a4aae695..c93ac0fa3 100644 --- a/hw/mcu/stm/stm32u5xx/src/system_stm32u5xx.c +++ b/hw/mcu/stm/stm32u5xx/src/system_stm32u5xx.c @@ -100,8 +100,8 @@ * @{ */ +#include "stm32u5xx.h" #include <math.h> -#include <mcu/cmsis_nvic.h> /** * @} @@ -166,8 +166,8 @@ const uint8_t AHBPrescTable[16] = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U, 6U, 7U, 8U, 9U}; const uint8_t APBPrescTable[8] = {0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U}; - const uint32_t MSIRangeTable[16] = {48000000U,24000000U,16000000U,12000000U, 4000000U, 2000000U, 1500000U,\ - 1000000U, 3072000U, 1536000U,1024000U, 768000U, 400000U, 200000U, 150000U, 100000U}; + const uint32_t MSIRangeTable[16] = {48000000U,24000000U,16000000U,12000000U, 4000000U, 2000000U, 1330000U,\ + 1000000U, 3072000U, 1536000U,1024000U, 768000U, 400000U, 200000U, 133000U, 100000U}; /** * @} */ @@ -184,11 +184,6 @@ * @{ */ -/* - * XXX BSP specific - */ -void SystemClock_Config(void); - /** * @brief Setup the microcontroller system. * @param None @@ -223,14 +218,12 @@ void SystemInit(void) /* Disable all interrupts */ RCC->CIER = 0U; - /* Configure System Clock */ - SystemClock_Config(); - - /* Update SystemCoreClock global variable */ - SystemCoreClockUpdate(); - - /* Relocate the vector table */ - NVIC_Relocate(); + /* Configure the Vector Table location add offset address ------------------*/ + #ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM1_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ + #else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ + #endif } /**
