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 790cd5867535770d11195d2090342aad45edac20 Author: Jerzy Kasenberg <jerzy.kasenb...@codecoup.pl> AuthorDate: Tue May 7 10:17:34 2024 +0200 hw/mcu: STM32F0 use autogenerated linker script This converts MCU to use autogenerated linker script Signed-off-by: Jerzy Kasenberg <jerzy.kasenb...@codecoup.pl> --- hw/mcu/stm/stm32f0xx/include/mcu/mcu_vectors.h | 54 +++++++++++++++++ .../include/mcu/vectors/stm32f030x6_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f030x8_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f030xc_vectors.h | 66 +++++++++++++++++++++ .../include/mcu/vectors/stm32f031x6_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f038xx_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f042x6_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f048xx_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f051x8_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f058xx_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f070x6_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f070xb_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f071xb_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f072xb_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f078xx_vectors.h | 67 ++++++++++++++++++++++ .../include/mcu/vectors/stm32f091xc_vectors.h | 66 +++++++++++++++++++++ .../include/mcu/vectors/stm32f098xx_vectors.h | 66 +++++++++++++++++++++ hw/mcu/stm/stm32f0xx/src/hal_system_init.c | 46 +++++++++++++++ hw/mcu/stm/stm32f0xx/src/system_stm32f0xx.c | 16 ------ 19 files changed, 1169 insertions(+), 16 deletions(-) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/mcu_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/mcu_vectors.h new file mode 100644 index 000000000..793ebcf2b --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/mcu_vectors.h @@ -0,0 +1,54 @@ +/* + * 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(STM32F030x6) +#include "vectors/stm32f030x6_vectors.h" +#elif defined(STM32F030x8) +#include "vectors/stm32f030x8_vectors.h" +#elif defined(STM32F031x6) +#include "vectors/stm32f031x6_vectors.h" +#elif defined(STM32F038xx) +#include "vectors/stm32f038xx_vectors.h" +#elif defined(STM32F042x6) +#include "vectors/stm32f042x6_vectors.h" +#elif defined(STM32F048xx) +#include "vectors/stm32f048xx_vectors.h" +#elif defined(STM32F051x8) +#include "vectors/stm32f051x8_vectors.h" +#elif defined(STM32F058xx) +#include "vectors/stm32f058xx_vectors.h" +#elif defined(STM32F070x6) +#include "vectors/stm32f070x6_vectors.h" +#elif defined(STM32F070xB) +#include "vectors/stm32f070xb_vectors.h" +#elif defined(STM32F071xB) +#include "vectors/stm32f071xb_vectors.h" +#elif defined(STM32F072xB) +#include "vectors/stm32f072xb_vectors.h" +#elif defined(STM32F078xx) +#include "vectors/stm32f078xx_vectors.h" +#elif defined(STM32F091xC) +#include "vectors/stm32f091xc_vectors.h" +#elif defined(STM32F098xx) +#include "vectors/stm32f098xx_vectors.h" +#elif defined(STM32F030xC) +#include "vectors/stm32f030xc_vectors.h" +#else +#error "Please select first the target STM32F0xx device used in your application (in stm32f0xx.h file)" +#endif diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030x6_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030x6_vectors.h new file mode 100644 index 000000000..7e1c476c1 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030x6_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030x8_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030x8_vectors.h new file mode 100644 index 000000000..bec37419d --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030x8_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030xc_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030xc_vectors.h new file mode 100644 index 000000000..a6fb10a73 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f030xc_vectors.h @@ -0,0 +1,66 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_6_IRQHandler) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f031x6_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f031x6_vectors.h new file mode 100644 index 000000000..78fba288f --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f031x6_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f038xx_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f038xx_vectors.h new file mode 100644 index 000000000..85f526c8d --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f038xx_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f042x6_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f042x6_vectors.h new file mode 100644 index 000000000..f756bd210 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f042x6_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_VDDIO2_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(CEC_CAN_IRQHandler) +INT_VECTOR(USB_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f048xx_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f048xx_vectors.h new file mode 100644 index 000000000..a63430466 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f048xx_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(VDDIO2_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(CEC_CAN_IRQHandler) +INT_VECTOR(USB_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f051x8_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f051x8_vectors.h new file mode 100644 index 000000000..41457c389 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f051x8_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_COMP_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_DAC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(CEC_CAN_IRQHandler) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f058xx_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f058xx_vectors.h new file mode 100644 index 000000000..32214d5e8 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f058xx_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_COMP_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_DAC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(CEC_CAN_IRQHandler) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f070x6_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f070x6_vectors.h new file mode 100644 index 000000000..f37d272aa --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f070x6_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USB_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f070xb_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f070xb_vectors.h new file mode 100644 index 000000000..a8137bf5a --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f070xb_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_IRQHandler) +INT_VECTOR(ADC1_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_4_IRQHandler) +INT_VECTOR_UNUSED(0) +INT_VECTOR(USB_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f071xb_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f071xb_vectors.h new file mode 100644 index 000000000..6a2566138 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f071xb_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_VDDIO2_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_6_7_IRQHandler) +INT_VECTOR(ADC1_COMP_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_DAC_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_4_IRQHandler) +INT_VECTOR(CEC_CAN_IRQHandler) +INT_VECTOR_UNUSED(0) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f072xb_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f072xb_vectors.h new file mode 100644 index 000000000..e8a48ff57 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f072xb_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_VDDIO2_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_6_7_IRQHandler) +INT_VECTOR(ADC1_COMP_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_DAC_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_4_IRQHandler) +INT_VECTOR(CEC_CAN_IRQHandler) +INT_VECTOR(USB_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f078xx_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f078xx_vectors.h new file mode 100644 index 000000000..0fc150879 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f078xx_vectors.h @@ -0,0 +1,67 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(VDDIO2_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Channel1_IRQHandler) +INT_VECTOR(DMA1_Channel2_3_IRQHandler) +INT_VECTOR(DMA1_Channel4_5_6_7_IRQHandler) +INT_VECTOR(ADC1_COMP_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_DAC_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_4_IRQHandler) +INT_VECTOR(CEC_CAN_IRQHandler) +INT_VECTOR(USB_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f091xc_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f091xc_vectors.h new file mode 100644 index 000000000..06b09eaff --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f091xc_vectors.h @@ -0,0 +1,66 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(PVD_VDDIO2_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Ch1_IRQHandler) +INT_VECTOR(DMA1_Ch2_3_DMA2_Ch1_2_IRQHandler) +INT_VECTOR(DMA1_Ch4_7_DMA2_Ch3_5_IRQHandler) +INT_VECTOR(ADC1_COMP_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_DAC_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_8_IRQHandler) +INT_VECTOR(CEC_CAN_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f098xx_vectors.h b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f098xx_vectors.h new file mode 100644 index 000000000..a66fe1d36 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/include/mcu/vectors/stm32f098xx_vectors.h @@ -0,0 +1,66 @@ +/* + * 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_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_UNUSED(0) +INT_VECTOR_SVC_HANDLER(SVC_Handler) +INT_VECTOR_DEBUGMON_HANDLER(DebugMon_Handler) +INT_VECTOR_UNUSED(0) +INT_VECTOR_PENDSV_HANDLER(PendSV_Handler) +INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler) +INT_VECTOR(WWDG_IRQHandler) +INT_VECTOR(VDDIO2_IRQHandler) +INT_VECTOR(RTC_IRQHandler) +INT_VECTOR(FLASH_IRQHandler) +INT_VECTOR(RCC_CRS_IRQHandler) +INT_VECTOR(EXTI0_1_IRQHandler) +INT_VECTOR(EXTI2_3_IRQHandler) +INT_VECTOR(EXTI4_15_IRQHandler) +INT_VECTOR(TSC_IRQHandler) +INT_VECTOR(DMA1_Ch1_IRQHandler) +INT_VECTOR(DMA1_Ch2_3_DMA2_Ch1_2_IRQHandler) +INT_VECTOR(DMA1_Ch4_7_DMA2_Ch3_5_IRQHandler) +INT_VECTOR(ADC1_COMP_IRQHandler) +INT_VECTOR(TIM1_BRK_UP_TRG_COM_IRQHandler) +INT_VECTOR(TIM1_CC_IRQHandler) +INT_VECTOR(TIM2_IRQHandler) +INT_VECTOR(TIM3_IRQHandler) +INT_VECTOR(TIM6_DAC_IRQHandler) +INT_VECTOR(TIM7_IRQHandler) +INT_VECTOR(TIM14_IRQHandler) +INT_VECTOR(TIM15_IRQHandler) +INT_VECTOR(TIM16_IRQHandler) +INT_VECTOR(TIM17_IRQHandler) +INT_VECTOR(I2C1_IRQHandler) +INT_VECTOR(I2C2_IRQHandler) +INT_VECTOR(SPI1_IRQHandler) +INT_VECTOR(SPI2_IRQHandler) +INT_VECTOR(USART1_IRQHandler) +INT_VECTOR(USART2_IRQHandler) +INT_VECTOR(USART3_8_IRQHandler) +INT_VECTOR(CEC_CAN_IRQHandler) diff --git a/hw/mcu/stm/stm32f0xx/src/hal_system_init.c b/hw/mcu/stm/stm32f0xx/src/hal_system_init.c new file mode 100644 index 000000000..4206b8da9 --- /dev/null +++ b/hw/mcu/stm/stm32f0xx/src/hal_system_init.c @@ -0,0 +1,46 @@ +/* + * 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> + +void SystemClock_Config(void); + +void +hal_system_init(void) +{ + /* Configure System Clock */ + SystemClock_Config(); + + /* Update SystemCoreClock global variable */ + SystemCoreClockUpdate(); + + /* Relocate the vector table */ + NVIC_Relocate(); + + STM32_HAL_FLASH_REMAP(); + + if (PREFETCH_ENABLE) { + __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); + } else { + __HAL_FLASH_PREFETCH_BUFFER_DISABLE(); + } +} + diff --git a/hw/mcu/stm/stm32f0xx/src/system_stm32f0xx.c b/hw/mcu/stm/stm32f0xx/src/system_stm32f0xx.c index 634481478..336c97090 100644 --- a/hw/mcu/stm/stm32f0xx/src/system_stm32f0xx.c +++ b/hw/mcu/stm/stm32f0xx/src/system_stm32f0xx.c @@ -119,22 +119,6 @@ void SystemInit(void) /* Disable all interrupts */ RCC->CIR = 0x00000000U; - - /* Configure System Clock */ - SystemClock_Config(); - - /* Update SystemCoreClock global variable */ - SystemCoreClockUpdate(); - - /* - * TODO: Currently the supported BSPs don't use a bootloader, so - * the flash remapping is done here. This should be updated to allow - * for bootloader use. - */ - STM32_HAL_FLASH_REMAP(); - - /* Relocate the vector table */ - NVIC_Relocate(); } /**