@@ -0,0 +1,2 @@ | |||||
Project/Debug/Exe/STM32F407.hex | |||||
*.wsdt |
@@ -0,0 +1,66 @@ | |||||
/*********************************************************************************************/ | |||||
【*】 程序简介 | |||||
-工程名称:GPIO输出--多彩流水灯 | |||||
-实验平台: 野火STM32 F407 开发板 | |||||
-MDK版本:5.16 | |||||
-ST固件库版本:1.8.0 | |||||
【 !】功能简介: | |||||
控制开发板上的RGB彩灯,轮流显示“红绿蓝黄紫青白”颜色。 | |||||
学习目的:了解如何使用库开发以及为库与寄存器操作的区别,学会如何控制GPIO输出。 | |||||
【 !!】注意事项: | |||||
给开发板供电时,注意要用USB接口或DC电源接口供电, | |||||
若只用下载器给开发板供电,功率不足,LED灯是不会亮的。 | |||||
(所以一般不使用下载器供电,可能会出现各种问题) | |||||
/*********************************************************************************************/ | |||||
【*】 引脚分配 | |||||
LED: | |||||
RGB彩灯的三个阴极接到STM32三个引脚上,LED低电平亮。 | |||||
R<--->PF6 | |||||
G<--->PF7 | |||||
B<--->PF8 | |||||
LED4<--->PC3 | |||||
/*********************************************************************************************/ | |||||
【*】 时钟 | |||||
A.晶振: | |||||
-外部高速晶振:25MHz | |||||
-RTC晶振:32.768KHz | |||||
B.各总线运行时钟: | |||||
-系统时钟 = SYCCLK = AHB1 = 168MHz | |||||
-APB2 = 84MHz | |||||
-APB1 = 42MHz | |||||
C.浮点运算单元: | |||||
不使用 | |||||
/*********************************************************************************************/ | |||||
【*】 版本 | |||||
-程序版本:1.0 | |||||
-发布日期:2015-10 | |||||
-版本更新说明:首次发布 | |||||
/*********************************************************************************************/ | |||||
【*】 联系我们 | |||||
-野火论坛 :http://www.firebbs.cn | |||||
-淘宝店铺 :https://fire-stm32.taobao.com | |||||
/*********************************************************************************************/ |
@@ -0,0 +1,269 @@ | |||||
/** | |||||
****************************************************************************** | |||||
* @file stm32f4xx.h | |||||
* @author MCD Application Team | |||||
* @brief CMSIS STM32F4xx Device Peripheral Access Layer Header File. | |||||
* | |||||
* The file is the unique include file that the application programmer | |||||
* is using in the C source code, usually in main.c. This file contains: | |||||
* - Configuration section that allows to select: | |||||
* - The STM32F4xx device used in the target application | |||||
* - To use or not the peripheral’s drivers in application code(i.e. | |||||
* code will be based on direct access to peripheral’s registers | |||||
* rather than drivers API), this option is controlled by | |||||
* "#define USE_HAL_DRIVER" | |||||
* | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modification, | |||||
* are permitted provided that the following conditions are met: | |||||
* 1. Redistributions of source code must retain the above copyright notice, | |||||
* this list of conditions and the following disclaimer. | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | |||||
* this list of conditions and the following disclaimer in the documentation | |||||
* and/or other materials provided with the distribution. | |||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | |||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/** @addtogroup CMSIS | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup stm32f4xx | |||||
* @{ | |||||
*/ | |||||
#ifndef __STM32F4xx_H | |||||
#define __STM32F4xx_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif /* __cplusplus */ | |||||
/** @addtogroup Library_configuration_section | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief STM32 Family | |||||
*/ | |||||
#if !defined (STM32F4) | |||||
#define STM32F4 | |||||
#endif /* STM32F4 */ | |||||
/* Uncomment the line below according to the target STM32 device used in your | |||||
application | |||||
*/ | |||||
#if !defined (STM32F405xx) && !defined (STM32F415xx) && !defined (STM32F407xx) && !defined (STM32F417xx) && \ | |||||
!defined (STM32F427xx) && !defined (STM32F437xx) && !defined (STM32F429xx) && !defined (STM32F439xx) && \ | |||||
!defined (STM32F401xC) && !defined (STM32F401xE) && !defined (STM32F410Tx) && !defined (STM32F410Cx) && \ | |||||
!defined (STM32F410Rx) && !defined (STM32F411xE) && !defined (STM32F446xx) && !defined (STM32F469xx) && \ | |||||
!defined (STM32F479xx) && !defined (STM32F412Cx) && !defined (STM32F412Rx) && !defined (STM32F412Vx) && \ | |||||
!defined (STM32F412Zx) && !defined (STM32F413xx) && !defined (STM32F423xx) | |||||
/* #define STM32F405xx */ /*!< STM32F405RG, STM32F405VG and STM32F405ZG Devices */ | |||||
/* #define STM32F415xx */ /*!< STM32F415RG, STM32F415VG and STM32F415ZG Devices */ | |||||
/* #define STM32F407xx */ /*!< STM32F407VG, STM32F407VE, STM32F407ZG, STM32F407ZE, STM32F407IG and STM32F407IE Devices */ | |||||
/* #define STM32F417xx */ /*!< STM32F417VG, STM32F417VE, STM32F417ZG, STM32F417ZE, STM32F417IG and STM32F417IE Devices */ | |||||
/* #define STM32F427xx */ /*!< STM32F427VG, STM32F427VI, STM32F427ZG, STM32F427ZI, STM32F427IG and STM32F427II Devices */ | |||||
/* #define STM32F437xx */ /*!< STM32F437VG, STM32F437VI, STM32F437ZG, STM32F437ZI, STM32F437IG and STM32F437II Devices */ | |||||
/* #define STM32F429xx */ /*!< STM32F429VG, STM32F429VI, STM32F429ZG, STM32F429ZI, STM32F429BG, STM32F429BI, STM32F429NG, | |||||
STM32F439NI, STM32F429IG and STM32F429II Devices */ | |||||
/* #define STM32F439xx */ /*!< STM32F439VG, STM32F439VI, STM32F439ZG, STM32F439ZI, STM32F439BG, STM32F439BI, STM32F439NG, | |||||
STM32F439NI, STM32F439IG and STM32F439II Devices */ | |||||
/* #define STM32F401xC */ /*!< STM32F401CB, STM32F401CC, STM32F401RB, STM32F401RC, STM32F401VB and STM32F401VC Devices */ | |||||
/* #define STM32F401xE */ /*!< STM32F401CD, STM32F401RD, STM32F401VD, STM32F401CE, STM32F401RE and STM32F401VE Devices */ | |||||
/* #define STM32F410Tx */ /*!< STM32F410T8 and STM32F410TB Devices */ | |||||
/* #define STM32F410Cx */ /*!< STM32F410C8 and STM32F410CB Devices */ | |||||
/* #define STM32F410Rx */ /*!< STM32F410R8 and STM32F410RB Devices */ | |||||
/* #define STM32F411xE */ /*!< STM32F411CC, STM32F411RC, STM32F411VC, STM32F411CE, STM32F411RE and STM32F411VE Devices */ | |||||
/* #define STM32F446xx */ /*!< STM32F446MC, STM32F446ME, STM32F446RC, STM32F446RE, STM32F446VC, STM32F446VE, STM32F446ZC, | |||||
and STM32F446ZE Devices */ | |||||
/* #define STM32F469xx */ /*!< STM32F469AI, STM32F469II, STM32F469BI, STM32F469NI, STM32F469AG, STM32F469IG, STM32F469BG, | |||||
STM32F469NG, STM32F469AE, STM32F469IE, STM32F469BE and STM32F469NE Devices */ | |||||
/* #define STM32F479xx */ /*!< STM32F479AI, STM32F479II, STM32F479BI, STM32F479NI, STM32F479AG, STM32F479IG, STM32F479BG | |||||
and STM32F479NG Devices */ | |||||
/* #define STM32F412Cx */ /*!< STM32F412CEU and STM32F412CGU Devices */ | |||||
/* #define STM32F412Zx */ /*!< STM32F412ZET, STM32F412ZGT, STM32F412ZEJ and STM32F412ZGJ Devices */ | |||||
/* #define STM32F412Vx */ /*!< STM32F412VET, STM32F412VGT, STM32F412VEH and STM32F412VGH Devices */ | |||||
/* #define STM32F412Rx */ /*!< STM32F412RET, STM32F412RGT, STM32F412REY and STM32F412RGY Devices */ | |||||
/* #define STM32F413xx */ /*!< STM32F413CH, STM32F413MH, STM32F413RH, STM32F413VH, STM32F413ZH, STM32F413CG, STM32F413MG, | |||||
STM32F413RG, STM32F413VG and STM32F413ZG Devices */ | |||||
/* #define STM32F423xx */ /*!< STM32F423CH, STM32F423RH, STM32F423VH and STM32F423ZH Devices */ | |||||
#endif | |||||
/* Tip: To avoid modifying this file each time you need to switch between these | |||||
devices, you can define the device in your toolchain compiler preprocessor. | |||||
*/ | |||||
#if !defined (USE_HAL_DRIVER) | |||||
/** | |||||
* @brief Comment the line below if you will not use the peripherals drivers. | |||||
In this case, these drivers will not be included and the application code will | |||||
be based on direct access to peripherals registers | |||||
*/ | |||||
/*#define USE_HAL_DRIVER */ | |||||
#endif /* USE_HAL_DRIVER */ | |||||
/** | |||||
* @brief CMSIS version number V2.6.3 | |||||
*/ | |||||
#define __STM32F4xx_CMSIS_VERSION_MAIN (0x02U) /*!< [31:24] main version */ | |||||
#define __STM32F4xx_CMSIS_VERSION_SUB1 (0x06U) /*!< [23:16] sub1 version */ | |||||
#define __STM32F4xx_CMSIS_VERSION_SUB2 (0x03U) /*!< [15:8] sub2 version */ | |||||
#define __STM32F4xx_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */ | |||||
#define __STM32F4xx_CMSIS_VERSION ((__STM32F4xx_CMSIS_VERSION_MAIN << 24)\ | |||||
|(__STM32F4xx_CMSIS_VERSION_SUB1 << 16)\ | |||||
|(__STM32F4xx_CMSIS_VERSION_SUB2 << 8 )\ | |||||
|(__STM32F4xx_CMSIS_VERSION)) | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup Device_Included | |||||
* @{ | |||||
*/ | |||||
#if defined(STM32F405xx) | |||||
#include "stm32f405xx.h" | |||||
#elif defined(STM32F415xx) | |||||
#include "stm32f415xx.h" | |||||
#elif defined(STM32F407xx) | |||||
#include "stm32f407xx.h" | |||||
#elif defined(STM32F417xx) | |||||
#include "stm32f417xx.h" | |||||
#elif defined(STM32F427xx) | |||||
#include "stm32f427xx.h" | |||||
#elif defined(STM32F437xx) | |||||
#include "stm32f437xx.h" | |||||
#elif defined(STM32F429xx) | |||||
#include "stm32f429xx.h" | |||||
#elif defined(STM32F439xx) | |||||
#include "stm32f439xx.h" | |||||
#elif defined(STM32F401xC) | |||||
#include "stm32f401xc.h" | |||||
#elif defined(STM32F401xE) | |||||
#include "stm32f401xe.h" | |||||
#elif defined(STM32F410Tx) | |||||
#include "stm32f410tx.h" | |||||
#elif defined(STM32F410Cx) | |||||
#include "stm32f410cx.h" | |||||
#elif defined(STM32F410Rx) | |||||
#include "stm32f410rx.h" | |||||
#elif defined(STM32F411xE) | |||||
#include "stm32f411xe.h" | |||||
#elif defined(STM32F446xx) | |||||
#include "stm32f446xx.h" | |||||
#elif defined(STM32F469xx) | |||||
#include "stm32f469xx.h" | |||||
#elif defined(STM32F479xx) | |||||
#include "stm32f479xx.h" | |||||
#elif defined(STM32F412Cx) | |||||
#include "stm32f412cx.h" | |||||
#elif defined(STM32F412Zx) | |||||
#include "stm32f412zx.h" | |||||
#elif defined(STM32F412Rx) | |||||
#include "stm32f412rx.h" | |||||
#elif defined(STM32F412Vx) | |||||
#include "stm32f412vx.h" | |||||
#elif defined(STM32F413xx) | |||||
#include "stm32f413xx.h" | |||||
#elif defined(STM32F423xx) | |||||
#include "stm32f423xx.h" | |||||
#else | |||||
#error "Please select first the target STM32F4xx device used in your application (in stm32f4xx.h file)" | |||||
#endif | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup Exported_types | |||||
* @{ | |||||
*/ | |||||
typedef enum | |||||
{ | |||||
RESET = 0U, | |||||
SET = !RESET | |||||
} FlagStatus, ITStatus; | |||||
typedef enum | |||||
{ | |||||
DISABLE = 0U, | |||||
ENABLE = !DISABLE | |||||
} FunctionalState; | |||||
#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE)) | |||||
typedef enum | |||||
{ | |||||
SUCCESS = 0U, | |||||
ERROR = !SUCCESS | |||||
} ErrorStatus; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup Exported_macro | |||||
* @{ | |||||
*/ | |||||
#define SET_BIT(REG, BIT) ((REG) |= (BIT)) | |||||
#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT)) | |||||
#define READ_BIT(REG, BIT) ((REG) & (BIT)) | |||||
#define CLEAR_REG(REG) ((REG) = (0x0)) | |||||
#define WRITE_REG(REG, VAL) ((REG) = (VAL)) | |||||
#define READ_REG(REG) ((REG)) | |||||
#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK))) | |||||
#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL))) | |||||
/** | |||||
* @} | |||||
*/ | |||||
#if defined (USE_HAL_DRIVER) | |||||
#include "stm32f4xx_hal.h" | |||||
#endif /* USE_HAL_DRIVER */ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif /* __cplusplus */ | |||||
#endif /* __STM32F4xx_H */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,122 @@ | |||||
/** | |||||
****************************************************************************** | |||||
* @file system_stm32f4xx.h | |||||
* @author MCD Application Team | |||||
* @brief CMSIS Cortex-M4 Device System Source File for STM32F4xx devices. | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modification, | |||||
* are permitted provided that the following conditions are met: | |||||
* 1. Redistributions of source code must retain the above copyright notice, | |||||
* this list of conditions and the following disclaimer. | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | |||||
* this list of conditions and the following disclaimer in the documentation | |||||
* and/or other materials provided with the distribution. | |||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | |||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/** @addtogroup CMSIS | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup stm32f4xx_system | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief Define to prevent recursive inclusion | |||||
*/ | |||||
#ifndef __SYSTEM_STM32F4XX_H | |||||
#define __SYSTEM_STM32F4XX_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/** @addtogroup STM32F4xx_System_Includes | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Exported_types | |||||
* @{ | |||||
*/ | |||||
/* This variable is updated in three ways: | |||||
1) by calling CMSIS function SystemCoreClockUpdate() | |||||
2) by calling HAL API function HAL_RCC_GetSysClockFreq() | |||||
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency | |||||
Note: If you use this function to configure the system clock; then there | |||||
is no need to call the 2 first functions listed above, since SystemCoreClock | |||||
variable is updated automatically. | |||||
*/ | |||||
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ | |||||
extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */ | |||||
extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Exported_Constants | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Exported_Macros | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Exported_Functions | |||||
* @{ | |||||
*/ | |||||
extern void SystemInit(void); | |||||
extern void SystemCoreClockUpdate(void); | |||||
/** | |||||
* @} | |||||
*/ | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /*__SYSTEM_STM32F4XX_H */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x20007FFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20008000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x20003FFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20004000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x20003FFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20004000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x20003FFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20004000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0817FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20030000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0817FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20030000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2001FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,31 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2003FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20040000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x08000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,34 @@ | |||||
/*###ICF### Section handled by ICF editor, don't touch! ****/ | |||||
/*-Editor annotation file-*/ | |||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ | |||||
/*-Specials-*/ | |||||
define symbol __ICFEDIT_intvec_start__ = 0x20000000; | |||||
/*-Memory Regions-*/ | |||||
define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; | |||||
define symbol __ICFEDIT_region_ROM_end__ = 0x2003FFFF; | |||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20040000; | |||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF; | |||||
define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000; | |||||
define symbol __ICFEDIT_region_CCMRAM_end__ = 0x1000FFFF; | |||||
/*-Sizes-*/ | |||||
define symbol __ICFEDIT_size_cstack__ = 0x400; | |||||
define symbol __ICFEDIT_size_heap__ = 0x200; | |||||
/**** End of ICF editor section. ###ICF###*/ | |||||
define memory mem with size = 4G; | |||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; | |||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; | |||||
define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__]; | |||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; | |||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; | |||||
initialize by copy { readwrite }; | |||||
do not initialize { section .noinit }; | |||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; | |||||
place in ROM_region { readonly }; | |||||
place in RAM_region { readwrite, | |||||
block CSTACK, block HEAP }; |
@@ -0,0 +1,502 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f401xc.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F401xCxx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD 0 ; Reserved | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,502 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f401xe.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F401xExx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD 0 ; Reserved | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,608 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f405xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F405xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FSMC_IRQHandler ; FSMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD HASH_RNG_IRQHandler ; Hash and RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FSMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FSMC_IRQHandler | |||||
B FSMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,623 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f407xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F407xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FSMC_IRQHandler ; FSMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD 0 ; Reserved | |||||
DCD HASH_RNG_IRQHandler ; Hash and RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FSMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FSMC_IRQHandler | |||||
B FSMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,495 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f410cx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F410Cx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_IRQHandler ; TIM1 Update | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD 0 ; Reserved | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
DCD LPTIM1_IRQHandler ; LP TIM1 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_IRQHandler | |||||
B TIM1_UP_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
PUBWEAK LPTIM1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LPTIM1_IRQHandler | |||||
B LPTIM1_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,495 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f410rx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F410Rx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_IRQHandler ; TIM1 Update | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD 0 ; Reserved | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
DCD LPTIM1_IRQHandler ; LP TIM1 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_IRQHandler | |||||
B TIM1_UP_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
PUBWEAK LPTIM1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LPTIM1_IRQHandler | |||||
B LPTIM1_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,480 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f410tx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F410Tx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_IRQHandler ; TIM1 Update | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD 0 ; Reserved | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD 0 ; Reserved | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
DCD LPTIM1_IRQHandler ; LP TIM1 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_IRQHandler | |||||
B TIM1_UP_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
PUBWEAK LPTIM1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LPTIM1_IRQHandler | |||||
B LPTIM1_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,508 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f411xe.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F411xExx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD 0 ; Reserved | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,615 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f412cx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F412Cx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD 0 ; Reserved | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM6_IRQHandler ; TIM6 | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter0 | |||||
DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter1 | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK TIM6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_IRQHandler | |||||
B TIM6_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DFSDM1_FLT0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT0_IRQHandler | |||||
B DFSDM1_FLT0_IRQHandler | |||||
PUBWEAK DFSDM1_FLT1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT1_IRQHandler | |||||
B DFSDM1_FLT1_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,625 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f412rx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F412Rx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM6_IRQHandler ; TIM6 | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter0 | |||||
DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter1 | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD QUADSPI_IRQHandler ; QuadSPI | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK TIM6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_IRQHandler | |||||
B TIM6_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DFSDM1_FLT0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT0_IRQHandler | |||||
B DFSDM1_FLT0_IRQHandler | |||||
PUBWEAK DFSDM1_FLT1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT1_IRQHandler | |||||
B DFSDM1_FLT1_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,624 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f412vx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F412Vx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM6_IRQHandler ; TIM6 | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter0 | |||||
DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter1 | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD QUADSPI_IRQHandler ; QuadSPI | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK TIM6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_IRQHandler | |||||
B TIM6_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DFSDM1_FLT0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT0_IRQHandler | |||||
B DFSDM1_FLT0_IRQHandler | |||||
PUBWEAK DFSDM1_FLT1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT1_IRQHandler | |||||
B DFSDM1_FLT1_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,624 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f412zx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F412Zx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD 0 ; Reserved | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD TIM6_IRQHandler ; TIM6 | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter0 | |||||
DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter1 | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD QUADSPI_IRQHandler ; QuadSPI | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK TIM6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_IRQHandler | |||||
B TIM6_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DFSDM1_FLT0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT0_IRQHandler | |||||
B DFSDM1_FLT0_IRQHandler | |||||
PUBWEAK DFSDM1_FLT1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT1_IRQHandler | |||||
B DFSDM1_FLT1_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,714 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f413xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F413xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FSMC_IRQHandler ; FSMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6, DAC1 and DAC2 | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter0 | |||||
DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter1 | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD CAN3_TX_IRQHandler ; CAN3 TX | |||||
DCD CAN3_RX0_IRQHandler ; CAN3 RX0 | |||||
DCD CAN3_RX1_IRQHandler ; CAN3 RX1 | |||||
DCD CAN3_SCE_IRQHandler ; CAN3 SCE | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD UART9_IRQHandler ; UART9 | |||||
DCD UART10_IRQHandler ; UART10 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD QUADSPI_IRQHandler ; QuadSPI | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
DCD LPTIM1_IRQHandler ; LPTIM1 | |||||
DCD DFSDM2_FLT0_IRQHandler ; DFSDM2 Filter0 | |||||
DCD DFSDM2_FLT1_IRQHandler ; DFSDM2 Filter1 | |||||
DCD DFSDM2_FLT2_IRQHandler ; DFSDM2 Filter2 | |||||
DCD DFSDM2_FLT3_IRQHandler ; DFSDM2 Filter3 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FSMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FSMC_IRQHandler | |||||
B FSMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DFSDM1_FLT0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT0_IRQHandler | |||||
B DFSDM1_FLT0_IRQHandler | |||||
PUBWEAK DFSDM1_FLT1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT1_IRQHandler | |||||
B DFSDM1_FLT1_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK CAN3_TX_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_TX_IRQHandler | |||||
B CAN3_TX_IRQHandler | |||||
PUBWEAK CAN3_RX0_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_RX0_IRQHandler | |||||
B CAN3_RX0_IRQHandler | |||||
PUBWEAK CAN3_RX1_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_RX1_IRQHandler | |||||
B CAN3_RX1_IRQHandler | |||||
PUBWEAK CAN3_SCE_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_SCE_IRQHandler | |||||
B CAN3_SCE_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK UART9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART9_IRQHandler | |||||
B UART9_IRQHandler | |||||
PUBWEAK UART10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART10_IRQHandler | |||||
B UART10_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
PUBWEAK LPTIM1_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
LPTIM1_IRQHandler | |||||
B LPTIM1_IRQHandler | |||||
PUBWEAK DFSDM2_FLT0_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT0_IRQHandler | |||||
B DFSDM2_FLT0_IRQHandler | |||||
PUBWEAK DFSDM2_FLT1_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT1_IRQHandler | |||||
B DFSDM2_FLT1_IRQHandler | |||||
PUBWEAK DFSDM2_FLT2_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT2_IRQHandler | |||||
B DFSDM2_FLT2_IRQHandler | |||||
PUBWEAK DFSDM2_FLT3_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT3_IRQHandler | |||||
B DFSDM2_FLT3_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,613 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f415xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F415xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FSMC_IRQHandler ; FSMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD 0 ; Reserved | |||||
DCD CRYP_IRQHandler ; CRYP crypto | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FSMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FSMC_IRQHandler | |||||
B FSMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK CRYP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CRYP_IRQHandler | |||||
B CRYP_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,628 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f417xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F417xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FSMC_IRQHandler ; FSMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD CRYP_IRQHandler ; CRYP crypto | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FSMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FSMC_IRQHandler | |||||
B FSMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK CRYP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CRYP_IRQHandler | |||||
B CRYP_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,719 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f423xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F423xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Configure the system clock | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1 | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FSMC_IRQHandler ; FSMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6, DAC1 and DAC2 | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter0 | |||||
DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter1 | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD CAN3_TX_IRQHandler ; CAN3 TX | |||||
DCD CAN3_RX0_IRQHandler ; CAN3 RX0 | |||||
DCD CAN3_RX1_IRQHandler ; CAN3 RX1 | |||||
DCD CAN3_SCE_IRQHandler ; CAN3 SCE | |||||
DCD 0 ; Reserved | |||||
DCD AES_IRQHandler ; AES | |||||
DCD RNG_IRQHandler ; RNG | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD 0 ; Reserved | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD UART9_IRQHandler ; UART9 | |||||
DCD UART10_IRQHandler ; UART10 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD QUADSPI_IRQHandler ; QuadSPI | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
DCD LPTIM1_IRQHandler ; LPTIM1 | |||||
DCD DFSDM2_FLT0_IRQHandler ; DFSDM2 Filter0 | |||||
DCD DFSDM2_FLT1_IRQHandler ; DFSDM2 Filter1 | |||||
DCD DFSDM2_FLT2_IRQHandler ; DFSDM2 Filter2 | |||||
DCD DFSDM2_FLT3_IRQHandler ; DFSDM2 Filter3 | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FSMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FSMC_IRQHandler | |||||
B FSMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK DFSDM1_FLT0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT0_IRQHandler | |||||
B DFSDM1_FLT0_IRQHandler | |||||
PUBWEAK DFSDM1_FLT1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DFSDM1_FLT1_IRQHandler | |||||
B DFSDM1_FLT1_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK CAN3_TX_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_TX_IRQHandler | |||||
B CAN3_TX_IRQHandler | |||||
PUBWEAK CAN3_RX0_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_RX0_IRQHandler | |||||
B CAN3_RX0_IRQHandler | |||||
PUBWEAK CAN3_RX1_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_RX1_IRQHandler | |||||
B CAN3_RX1_IRQHandler | |||||
PUBWEAK CAN3_SCE_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
CAN3_SCE_IRQHandler | |||||
B CAN3_SCE_IRQHandler | |||||
PUBWEAK AES_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
AES_IRQHandler | |||||
B AES_IRQHandler | |||||
PUBWEAK RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RNG_IRQHandler | |||||
B RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK UART9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART9_IRQHandler | |||||
B UART9_IRQHandler | |||||
PUBWEAK UART10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART10_IRQHandler | |||||
B UART10_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
PUBWEAK LPTIM1_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
LPTIM1_IRQHandler | |||||
B LPTIM1_IRQHandler | |||||
PUBWEAK DFSDM2_FLT0_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT0_IRQHandler | |||||
B DFSDM2_FLT0_IRQHandler | |||||
PUBWEAK DFSDM2_FLT1_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT1_IRQHandler | |||||
B DFSDM2_FLT1_IRQHandler | |||||
PUBWEAK DFSDM2_FLT2_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT2_IRQHandler | |||||
B DFSDM2_FLT2_IRQHandler | |||||
PUBWEAK DFSDM2_FLT3_IRQHandler | |||||
SECTION .text:CODE:NOROOT:REORDER(1) | |||||
DFSDM2_FLT3_IRQHandler | |||||
B DFSDM2_FLT3_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,668 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f427xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F427xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FMC_IRQHandler ; FMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD 0 ; Reserved | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD SPI6_IRQHandler ; SPI6 | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2D_IRQHandler ; DMA2D | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMC_IRQHandler | |||||
B FMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SPI6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI6_IRQHandler | |||||
B SPI6_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK DMA2D_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2D_IRQHandler | |||||
B DMA2D_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,678 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f429xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F429xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FMC_IRQHandler ; FMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD 0 ; Reserved | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD SPI6_IRQHandler ; SPI6 | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD LTDC_IRQHandler ; LTDC | |||||
DCD LTDC_ER_IRQHandler ; LTDC error | |||||
DCD DMA2D_IRQHandler ; DMA2D | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMC_IRQHandler | |||||
B FMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SPI6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI6_IRQHandler | |||||
B SPI6_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK LTDC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_IRQHandler | |||||
B LTDC_IRQHandler | |||||
PUBWEAK LTDC_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_ER_IRQHandler | |||||
B LTDC_ER_IRQHandler | |||||
PUBWEAK DMA2D_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2D_IRQHandler | |||||
B DMA2D_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,673 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f437xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F437xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FMC_IRQHandler ; FMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD CRYP_IRQHandler ; CRYP crypto | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD SPI6_IRQHandler ; SPI6 | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD DMA2D_IRQHandler ; DMA2D | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMC_IRQHandler | |||||
B FMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK CRYP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CRYP_IRQHandler | |||||
B CRYP_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SPI6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI6_IRQHandler | |||||
B SPI6_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK DMA2D_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2D_IRQHandler | |||||
B DMA2D_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,683 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f439xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F439xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FMC_IRQHandler ; FMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD CRYP_IRQHandler ; CRYP crypto | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD SPI6_IRQHandler ; SPI6 | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD LTDC_IRQHandler ; LTDC | |||||
DCD LTDC_ER_IRQHandler ; LTDC error | |||||
DCD DMA2D_IRQHandler ; DMA2D | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMC_IRQHandler | |||||
B FMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK CRYP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CRYP_IRQHandler | |||||
B CRYP_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SPI6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI6_IRQHandler | |||||
B SPI6_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK LTDC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_IRQHandler | |||||
B LTDC_IRQHandler | |||||
PUBWEAK LTDC_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_ER_IRQHandler | |||||
B LTDC_ER_IRQHandler | |||||
PUBWEAK DMA2D_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2D_IRQHandler | |||||
B DMA2D_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,663 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f446xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F446xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FMC_IRQHandler ; FMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SAI2_IRQHandler ; SAI2 | |||||
DCD QUADSPI_IRQHandler ; QuadSPI | |||||
DCD CEC_IRQHandler ; CEC | |||||
DCD SPDIF_RX_IRQHandler ; SPDIF RX | |||||
DCD FMPI2C1_EV_IRQHandler ; FMPI2C1 Event | |||||
DCD FMPI2C1_ER_IRQHandler ; FMPI2C1 Error | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMC_IRQHandler | |||||
B FMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK SAI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI2_IRQHandler | |||||
B SAI2_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK CEC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CEC_IRQHandler | |||||
B CEC_IRQHandler | |||||
PUBWEAK SPDIF_RX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPDIF_RX_IRQHandler | |||||
B SPDIF_RX_IRQHandler | |||||
PUBWEAK FMPI2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_EV_IRQHandler | |||||
B FMPI2C1_EV_IRQHandler | |||||
PUBWEAK FMPI2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMPI2C1_ER_IRQHandler | |||||
B FMPI2C1_ER_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,689 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f469xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F469xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FMC_IRQHandler ; FMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD 0 ; Reserved | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD SPI6_IRQHandler ; SPI6 | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD LTDC_IRQHandler ; LTDC | |||||
DCD LTDC_ER_IRQHandler ; LTDC error | |||||
DCD DMA2D_IRQHandler ; DMA2D | |||||
DCD QUADSPI_IRQHandler ; QUADSPI | |||||
DCD DSI_IRQHandler ; DSI Controller | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMC_IRQHandler | |||||
B FMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SPI6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI6_IRQHandler | |||||
B SPI6_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK LTDC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_IRQHandler | |||||
B LTDC_IRQHandler | |||||
PUBWEAK LTDC_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_ER_IRQHandler | |||||
B LTDC_ER_IRQHandler | |||||
PUBWEAK DMA2D_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2D_IRQHandler | |||||
B DMA2D_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK DSI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DSI_IRQHandler | |||||
B DSI_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,694 @@ | |||||
;******************************************************************************** | |||||
;* File Name : startup_stm32f479xx.s | |||||
;* Author : MCD Application Team | |||||
;* Description : STM32F479xx devices vector table for EWARM toolchain. | |||||
;* This module performs: | |||||
;* - Set the initial SP | |||||
;* - Set the initial PC == _iar_program_start, | |||||
;* - Set the vector table entries with the exceptions ISR | |||||
;* address. | |||||
;* - Branches to main in the C library (which eventually | |||||
;* calls main()). | |||||
;* After Reset the Cortex-M4 processor is in Thread mode, | |||||
;* priority is Privileged, and the Stack is set to Main. | |||||
;******************************************************************************** | |||||
;* @attention | |||||
;* | |||||
;* <h2><center>© Copyright (c) 2017 STMicroelectronics. | |||||
;* All rights reserved.</center></h2> | |||||
;* | |||||
;* This software component is licensed by ST under BSD 3-Clause license, | |||||
;* the "License"; You may not use this file except in compliance with the | |||||
;* License. You may obtain a copy of the License at: | |||||
;* opensource.org/licenses/BSD-3-Clause | |||||
;* | |||||
;******************************************************************************* | |||||
; | |||||
; | |||||
; The modules in this file are included in the libraries, and may be replaced | |||||
; by any user-defined modules that define the PUBLIC symbol _program_start or | |||||
; a user defined start symbol. | |||||
; To override the cstartup defined in the library, simply add your modified | |||||
; version to the workbench project. | |||||
; | |||||
; The vector table is normally located at address 0. | |||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |||||
; The name "__vector_table" has special meaning for C-SPY: | |||||
; it is where the SP start value is found, and the NVIC vector | |||||
; table register (VTOR) is initialized to this address if != 0. | |||||
; | |||||
; Cortex-M version | |||||
; | |||||
MODULE ?cstartup | |||||
;; Forward declaration of sections. | |||||
SECTION CSTACK:DATA:NOROOT(3) | |||||
SECTION .intvec:CODE:NOROOT(2) | |||||
EXTERN __iar_program_start | |||||
EXTERN SystemInit | |||||
PUBLIC __vector_table | |||||
DATA | |||||
__vector_table | |||||
DCD sfe(CSTACK) | |||||
DCD Reset_Handler ; Reset Handler | |||||
DCD NMI_Handler ; NMI Handler | |||||
DCD HardFault_Handler ; Hard Fault Handler | |||||
DCD MemManage_Handler ; MPU Fault Handler | |||||
DCD BusFault_Handler ; Bus Fault Handler | |||||
DCD UsageFault_Handler ; Usage Fault Handler | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD 0 ; Reserved | |||||
DCD SVC_Handler ; SVCall Handler | |||||
DCD DebugMon_Handler ; Debug Monitor Handler | |||||
DCD 0 ; Reserved | |||||
DCD PendSV_Handler ; PendSV Handler | |||||
DCD SysTick_Handler ; SysTick Handler | |||||
; External Interrupts | |||||
DCD WWDG_IRQHandler ; Window WatchDog | |||||
DCD PVD_IRQHandler ; PVD through EXTI Line detection | |||||
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line | |||||
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line | |||||
DCD FLASH_IRQHandler ; FLASH | |||||
DCD RCC_IRQHandler ; RCC | |||||
DCD EXTI0_IRQHandler ; EXTI Line0 | |||||
DCD EXTI1_IRQHandler ; EXTI Line1 | |||||
DCD EXTI2_IRQHandler ; EXTI Line2 | |||||
DCD EXTI3_IRQHandler ; EXTI Line3 | |||||
DCD EXTI4_IRQHandler ; EXTI Line4 | |||||
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 | |||||
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 | |||||
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 | |||||
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 | |||||
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 | |||||
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 | |||||
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 | |||||
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s | |||||
DCD CAN1_TX_IRQHandler ; CAN1 TX | |||||
DCD CAN1_RX0_IRQHandler ; CAN1 RX0 | |||||
DCD CAN1_RX1_IRQHandler ; CAN1 RX1 | |||||
DCD CAN1_SCE_IRQHandler ; CAN1 SCE | |||||
DCD EXTI9_5_IRQHandler ; External Line[9:5]s | |||||
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 | |||||
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 | |||||
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 | |||||
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |||||
DCD TIM2_IRQHandler ; TIM2 | |||||
DCD TIM3_IRQHandler ; TIM3 | |||||
DCD TIM4_IRQHandler ; TIM4 | |||||
DCD I2C1_EV_IRQHandler ; I2C1 Event | |||||
DCD I2C1_ER_IRQHandler ; I2C1 Error | |||||
DCD I2C2_EV_IRQHandler ; I2C2 Event | |||||
DCD I2C2_ER_IRQHandler ; I2C2 Error | |||||
DCD SPI1_IRQHandler ; SPI1 | |||||
DCD SPI2_IRQHandler ; SPI2 | |||||
DCD USART1_IRQHandler ; USART1 | |||||
DCD USART2_IRQHandler ; USART2 | |||||
DCD USART3_IRQHandler ; USART3 | |||||
DCD EXTI15_10_IRQHandler ; External Line[15:10]s | |||||
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line | |||||
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line | |||||
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 | |||||
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 | |||||
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 | |||||
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare | |||||
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 | |||||
DCD FMC_IRQHandler ; FMC | |||||
DCD SDIO_IRQHandler ; SDIO | |||||
DCD TIM5_IRQHandler ; TIM5 | |||||
DCD SPI3_IRQHandler ; SPI3 | |||||
DCD UART4_IRQHandler ; UART4 | |||||
DCD UART5_IRQHandler ; UART5 | |||||
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors | |||||
DCD TIM7_IRQHandler ; TIM7 | |||||
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 | |||||
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 | |||||
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 | |||||
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 | |||||
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 | |||||
DCD ETH_IRQHandler ; Ethernet | |||||
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line | |||||
DCD CAN2_TX_IRQHandler ; CAN2 TX | |||||
DCD CAN2_RX0_IRQHandler ; CAN2 RX0 | |||||
DCD CAN2_RX1_IRQHandler ; CAN2 RX1 | |||||
DCD CAN2_SCE_IRQHandler ; CAN2 SCE | |||||
DCD OTG_FS_IRQHandler ; USB OTG FS | |||||
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 | |||||
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 | |||||
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 | |||||
DCD USART6_IRQHandler ; USART6 | |||||
DCD I2C3_EV_IRQHandler ; I2C3 event | |||||
DCD I2C3_ER_IRQHandler ; I2C3 error | |||||
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out | |||||
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In | |||||
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI | |||||
DCD OTG_HS_IRQHandler ; USB OTG HS | |||||
DCD DCMI_IRQHandler ; DCMI | |||||
DCD CRYP_IRQHandler ; CRYP crypto | |||||
DCD HASH_RNG_IRQHandler ; Hash and Rng | |||||
DCD FPU_IRQHandler ; FPU | |||||
DCD UART7_IRQHandler ; UART7 | |||||
DCD UART8_IRQHandler ; UART8 | |||||
DCD SPI4_IRQHandler ; SPI4 | |||||
DCD SPI5_IRQHandler ; SPI5 | |||||
DCD SPI6_IRQHandler ; SPI6 | |||||
DCD SAI1_IRQHandler ; SAI1 | |||||
DCD LTDC_IRQHandler ; LTDC | |||||
DCD LTDC_ER_IRQHandler ; LTDC error | |||||
DCD DMA2D_IRQHandler ; DMA2D | |||||
DCD QUADSPI_IRQHandler ; QUADSPI | |||||
DCD DSI_IRQHandler ; DSI Controller | |||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |||||
;; | |||||
;; Default interrupt handlers. | |||||
;; | |||||
THUMB | |||||
PUBWEAK Reset_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(2) | |||||
Reset_Handler | |||||
LDR R0, =SystemInit | |||||
BLX R0 | |||||
LDR R0, =__iar_program_start | |||||
BX R0 | |||||
PUBWEAK NMI_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
NMI_Handler | |||||
B NMI_Handler | |||||
PUBWEAK HardFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HardFault_Handler | |||||
B HardFault_Handler | |||||
PUBWEAK MemManage_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
MemManage_Handler | |||||
B MemManage_Handler | |||||
PUBWEAK BusFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
BusFault_Handler | |||||
B BusFault_Handler | |||||
PUBWEAK UsageFault_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UsageFault_Handler | |||||
B UsageFault_Handler | |||||
PUBWEAK SVC_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SVC_Handler | |||||
B SVC_Handler | |||||
PUBWEAK DebugMon_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DebugMon_Handler | |||||
B DebugMon_Handler | |||||
PUBWEAK PendSV_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PendSV_Handler | |||||
B PendSV_Handler | |||||
PUBWEAK SysTick_Handler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SysTick_Handler | |||||
B SysTick_Handler | |||||
PUBWEAK WWDG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
WWDG_IRQHandler | |||||
B WWDG_IRQHandler | |||||
PUBWEAK PVD_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
PVD_IRQHandler | |||||
B PVD_IRQHandler | |||||
PUBWEAK TAMP_STAMP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TAMP_STAMP_IRQHandler | |||||
B TAMP_STAMP_IRQHandler | |||||
PUBWEAK RTC_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_WKUP_IRQHandler | |||||
B RTC_WKUP_IRQHandler | |||||
PUBWEAK FLASH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FLASH_IRQHandler | |||||
B FLASH_IRQHandler | |||||
PUBWEAK RCC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RCC_IRQHandler | |||||
B RCC_IRQHandler | |||||
PUBWEAK EXTI0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI0_IRQHandler | |||||
B EXTI0_IRQHandler | |||||
PUBWEAK EXTI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI1_IRQHandler | |||||
B EXTI1_IRQHandler | |||||
PUBWEAK EXTI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI2_IRQHandler | |||||
B EXTI2_IRQHandler | |||||
PUBWEAK EXTI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI3_IRQHandler | |||||
B EXTI3_IRQHandler | |||||
PUBWEAK EXTI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI4_IRQHandler | |||||
B EXTI4_IRQHandler | |||||
PUBWEAK DMA1_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream0_IRQHandler | |||||
B DMA1_Stream0_IRQHandler | |||||
PUBWEAK DMA1_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream1_IRQHandler | |||||
B DMA1_Stream1_IRQHandler | |||||
PUBWEAK DMA1_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream2_IRQHandler | |||||
B DMA1_Stream2_IRQHandler | |||||
PUBWEAK DMA1_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream3_IRQHandler | |||||
B DMA1_Stream3_IRQHandler | |||||
PUBWEAK DMA1_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream4_IRQHandler | |||||
B DMA1_Stream4_IRQHandler | |||||
PUBWEAK DMA1_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream5_IRQHandler | |||||
B DMA1_Stream5_IRQHandler | |||||
PUBWEAK DMA1_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream6_IRQHandler | |||||
B DMA1_Stream6_IRQHandler | |||||
PUBWEAK ADC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ADC_IRQHandler | |||||
B ADC_IRQHandler | |||||
PUBWEAK CAN1_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_TX_IRQHandler | |||||
B CAN1_TX_IRQHandler | |||||
PUBWEAK CAN1_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX0_IRQHandler | |||||
B CAN1_RX0_IRQHandler | |||||
PUBWEAK CAN1_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_RX1_IRQHandler | |||||
B CAN1_RX1_IRQHandler | |||||
PUBWEAK CAN1_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN1_SCE_IRQHandler | |||||
B CAN1_SCE_IRQHandler | |||||
PUBWEAK EXTI9_5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI9_5_IRQHandler | |||||
B EXTI9_5_IRQHandler | |||||
PUBWEAK TIM1_BRK_TIM9_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_BRK_TIM9_IRQHandler | |||||
B TIM1_BRK_TIM9_IRQHandler | |||||
PUBWEAK TIM1_UP_TIM10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_UP_TIM10_IRQHandler | |||||
B TIM1_UP_TIM10_IRQHandler | |||||
PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_TRG_COM_TIM11_IRQHandler | |||||
B TIM1_TRG_COM_TIM11_IRQHandler | |||||
PUBWEAK TIM1_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM1_CC_IRQHandler | |||||
B TIM1_CC_IRQHandler | |||||
PUBWEAK TIM2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM2_IRQHandler | |||||
B TIM2_IRQHandler | |||||
PUBWEAK TIM3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM3_IRQHandler | |||||
B TIM3_IRQHandler | |||||
PUBWEAK TIM4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM4_IRQHandler | |||||
B TIM4_IRQHandler | |||||
PUBWEAK I2C1_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_EV_IRQHandler | |||||
B I2C1_EV_IRQHandler | |||||
PUBWEAK I2C1_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C1_ER_IRQHandler | |||||
B I2C1_ER_IRQHandler | |||||
PUBWEAK I2C2_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_EV_IRQHandler | |||||
B I2C2_EV_IRQHandler | |||||
PUBWEAK I2C2_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C2_ER_IRQHandler | |||||
B I2C2_ER_IRQHandler | |||||
PUBWEAK SPI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI1_IRQHandler | |||||
B SPI1_IRQHandler | |||||
PUBWEAK SPI2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI2_IRQHandler | |||||
B SPI2_IRQHandler | |||||
PUBWEAK USART1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART1_IRQHandler | |||||
B USART1_IRQHandler | |||||
PUBWEAK USART2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART2_IRQHandler | |||||
B USART2_IRQHandler | |||||
PUBWEAK USART3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART3_IRQHandler | |||||
B USART3_IRQHandler | |||||
PUBWEAK EXTI15_10_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
EXTI15_10_IRQHandler | |||||
B EXTI15_10_IRQHandler | |||||
PUBWEAK RTC_Alarm_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
RTC_Alarm_IRQHandler | |||||
B RTC_Alarm_IRQHandler | |||||
PUBWEAK OTG_FS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_WKUP_IRQHandler | |||||
B OTG_FS_WKUP_IRQHandler | |||||
PUBWEAK TIM8_BRK_TIM12_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_BRK_TIM12_IRQHandler | |||||
B TIM8_BRK_TIM12_IRQHandler | |||||
PUBWEAK TIM8_UP_TIM13_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_UP_TIM13_IRQHandler | |||||
B TIM8_UP_TIM13_IRQHandler | |||||
PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_TRG_COM_TIM14_IRQHandler | |||||
B TIM8_TRG_COM_TIM14_IRQHandler | |||||
PUBWEAK TIM8_CC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM8_CC_IRQHandler | |||||
B TIM8_CC_IRQHandler | |||||
PUBWEAK DMA1_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA1_Stream7_IRQHandler | |||||
B DMA1_Stream7_IRQHandler | |||||
PUBWEAK FMC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FMC_IRQHandler | |||||
B FMC_IRQHandler | |||||
PUBWEAK SDIO_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SDIO_IRQHandler | |||||
B SDIO_IRQHandler | |||||
PUBWEAK TIM5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM5_IRQHandler | |||||
B TIM5_IRQHandler | |||||
PUBWEAK SPI3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI3_IRQHandler | |||||
B SPI3_IRQHandler | |||||
PUBWEAK UART4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART4_IRQHandler | |||||
B UART4_IRQHandler | |||||
PUBWEAK UART5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART5_IRQHandler | |||||
B UART5_IRQHandler | |||||
PUBWEAK TIM6_DAC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM6_DAC_IRQHandler | |||||
B TIM6_DAC_IRQHandler | |||||
PUBWEAK TIM7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
TIM7_IRQHandler | |||||
B TIM7_IRQHandler | |||||
PUBWEAK DMA2_Stream0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream0_IRQHandler | |||||
B DMA2_Stream0_IRQHandler | |||||
PUBWEAK DMA2_Stream1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream1_IRQHandler | |||||
B DMA2_Stream1_IRQHandler | |||||
PUBWEAK DMA2_Stream2_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream2_IRQHandler | |||||
B DMA2_Stream2_IRQHandler | |||||
PUBWEAK DMA2_Stream3_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream3_IRQHandler | |||||
B DMA2_Stream3_IRQHandler | |||||
PUBWEAK DMA2_Stream4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream4_IRQHandler | |||||
B DMA2_Stream4_IRQHandler | |||||
PUBWEAK ETH_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_IRQHandler | |||||
B ETH_IRQHandler | |||||
PUBWEAK ETH_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
ETH_WKUP_IRQHandler | |||||
B ETH_WKUP_IRQHandler | |||||
PUBWEAK CAN2_TX_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_TX_IRQHandler | |||||
B CAN2_TX_IRQHandler | |||||
PUBWEAK CAN2_RX0_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX0_IRQHandler | |||||
B CAN2_RX0_IRQHandler | |||||
PUBWEAK CAN2_RX1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_RX1_IRQHandler | |||||
B CAN2_RX1_IRQHandler | |||||
PUBWEAK CAN2_SCE_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CAN2_SCE_IRQHandler | |||||
B CAN2_SCE_IRQHandler | |||||
PUBWEAK OTG_FS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_FS_IRQHandler | |||||
B OTG_FS_IRQHandler | |||||
PUBWEAK DMA2_Stream5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream5_IRQHandler | |||||
B DMA2_Stream5_IRQHandler | |||||
PUBWEAK DMA2_Stream6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream6_IRQHandler | |||||
B DMA2_Stream6_IRQHandler | |||||
PUBWEAK DMA2_Stream7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2_Stream7_IRQHandler | |||||
B DMA2_Stream7_IRQHandler | |||||
PUBWEAK USART6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
USART6_IRQHandler | |||||
B USART6_IRQHandler | |||||
PUBWEAK I2C3_EV_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_EV_IRQHandler | |||||
B I2C3_EV_IRQHandler | |||||
PUBWEAK I2C3_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
I2C3_ER_IRQHandler | |||||
B I2C3_ER_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_OUT_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_OUT_IRQHandler | |||||
B OTG_HS_EP1_OUT_IRQHandler | |||||
PUBWEAK OTG_HS_EP1_IN_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_EP1_IN_IRQHandler | |||||
B OTG_HS_EP1_IN_IRQHandler | |||||
PUBWEAK OTG_HS_WKUP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_WKUP_IRQHandler | |||||
B OTG_HS_WKUP_IRQHandler | |||||
PUBWEAK OTG_HS_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
OTG_HS_IRQHandler | |||||
B OTG_HS_IRQHandler | |||||
PUBWEAK DCMI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DCMI_IRQHandler | |||||
B DCMI_IRQHandler | |||||
PUBWEAK CRYP_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
CRYP_IRQHandler | |||||
B CRYP_IRQHandler | |||||
PUBWEAK HASH_RNG_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
HASH_RNG_IRQHandler | |||||
B HASH_RNG_IRQHandler | |||||
PUBWEAK FPU_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
FPU_IRQHandler | |||||
B FPU_IRQHandler | |||||
PUBWEAK UART7_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART7_IRQHandler | |||||
B UART7_IRQHandler | |||||
PUBWEAK UART8_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
UART8_IRQHandler | |||||
B UART8_IRQHandler | |||||
PUBWEAK SPI4_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI4_IRQHandler | |||||
B SPI4_IRQHandler | |||||
PUBWEAK SPI5_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI5_IRQHandler | |||||
B SPI5_IRQHandler | |||||
PUBWEAK SPI6_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SPI6_IRQHandler | |||||
B SPI6_IRQHandler | |||||
PUBWEAK SAI1_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
SAI1_IRQHandler | |||||
B SAI1_IRQHandler | |||||
PUBWEAK LTDC_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_IRQHandler | |||||
B LTDC_IRQHandler | |||||
PUBWEAK LTDC_ER_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
LTDC_ER_IRQHandler | |||||
B LTDC_ER_IRQHandler | |||||
PUBWEAK DMA2D_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DMA2D_IRQHandler | |||||
B DMA2D_IRQHandler | |||||
PUBWEAK QUADSPI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
QUADSPI_IRQHandler | |||||
B QUADSPI_IRQHandler | |||||
PUBWEAK DSI_IRQHandler | |||||
SECTION .text:CODE:REORDER:NOROOT(1) | |||||
DSI_IRQHandler | |||||
B DSI_IRQHandler | |||||
END | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,761 @@ | |||||
/** | |||||
****************************************************************************** | |||||
* @file system_stm32f4xx.c | |||||
* @author MCD Application Team | |||||
* @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. | |||||
* | |||||
* This file provides two functions and one global variable to be called from | |||||
* user application: | |||||
* - SystemInit(): This function is called at startup just after reset and | |||||
* before branch to main program. This call is made inside | |||||
* the "startup_stm32f4xx.s" file. | |||||
* | |||||
* - SystemCoreClock variable: Contains the core clock (HCLK), it can be used | |||||
* by the user application to setup the SysTick | |||||
* timer or configure other parameters. | |||||
* | |||||
* - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must | |||||
* be called whenever the core clock is changed | |||||
* during program execution. | |||||
* | |||||
* | |||||
****************************************************************************** | |||||
* @attention | |||||
* | |||||
* <h2><center>© COPYRIGHT 2017 STMicroelectronics</center></h2> | |||||
* | |||||
* Redistribution and use in source and binary forms, with or without modification, | |||||
* are permitted provided that the following conditions are met: | |||||
* 1. Redistributions of source code must retain the above copyright notice, | |||||
* this list of conditions and the following disclaimer. | |||||
* 2. Redistributions in binary form must reproduce the above copyright notice, | |||||
* this list of conditions and the following disclaimer in the documentation | |||||
* and/or other materials provided with the distribution. | |||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors | |||||
* may be used to endorse or promote products derived from this software | |||||
* without specific prior written permission. | |||||
* | |||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | |||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
* | |||||
****************************************************************************** | |||||
*/ | |||||
/** @addtogroup CMSIS | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup stm32f4xx_system | |||||
* @{ | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Includes | |||||
* @{ | |||||
*/ | |||||
#include "stm32f4xx.h" | |||||
#if !defined (HSE_VALUE) | |||||
#define HSE_VALUE ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */ | |||||
#endif /* HSE_VALUE */ | |||||
#if !defined (HSI_VALUE) | |||||
#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ | |||||
#endif /* HSI_VALUE */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_TypesDefinitions | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Defines | |||||
* @{ | |||||
*/ | |||||
/************************* Miscellaneous Configuration ************************/ | |||||
/*!< Uncomment the following line if you need to use external SRAM or SDRAM as data memory */ | |||||
#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx)\ | |||||
|| defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ | |||||
|| defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) | |||||
/* #define DATA_IN_ExtSRAM */ | |||||
#endif /* STM32F40xxx || STM32F41xxx || STM32F42xxx || STM32F43xxx || STM32F469xx || STM32F479xx ||\ | |||||
STM32F412Zx || STM32F412Vx */ | |||||
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ | |||||
|| defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) | |||||
/* #define DATA_IN_ExtSDRAM */ | |||||
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx ||\ | |||||
STM32F479xx */ | |||||
/*!< Uncomment the following line if you need to relocate your vector Table in | |||||
Internal SRAM. */ | |||||
/* #define VECT_TAB_SRAM */ | |||||
#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. | |||||
This value must be a multiple of 0x200. */ | |||||
/******************************************************************************/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Macros | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Variables | |||||
* @{ | |||||
*/ | |||||
/* This variable is updated in three ways: | |||||
1) by calling CMSIS function SystemCoreClockUpdate() | |||||
2) by calling HAL API function HAL_RCC_GetHCLKFreq() | |||||
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency | |||||
Note: If you use this function to configure the system clock; then there | |||||
is no need to call the 2 first functions listed above, since SystemCoreClock | |||||
variable is updated automatically. | |||||
*/ | |||||
uint32_t SystemCoreClock = 16000000; | |||||
const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; | |||||
const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4}; | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_FunctionPrototypes | |||||
* @{ | |||||
*/ | |||||
#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) | |||||
static void SystemInit_ExtMemCtl(void); | |||||
#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** @addtogroup STM32F4xx_System_Private_Functions | |||||
* @{ | |||||
*/ | |||||
/** | |||||
* @brief Setup the microcontroller system | |||||
* Initialize the FPU setting, vector table location and External memory | |||||
* configuration. | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SystemInit(void) | |||||
{ | |||||
/* FPU settings ------------------------------------------------------------*/ | |||||
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) | |||||
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ | |||||
#endif | |||||
/* Reset the RCC clock configuration to the default reset state ------------*/ | |||||
/* Set HSION bit */ | |||||
RCC->CR |= (uint32_t)0x00000001; | |||||
/* Reset CFGR register */ | |||||
RCC->CFGR = 0x00000000; | |||||
/* Reset HSEON, CSSON and PLLON bits */ | |||||
RCC->CR &= (uint32_t)0xFEF6FFFF; | |||||
/* Reset PLLCFGR register */ | |||||
RCC->PLLCFGR = 0x24003010; | |||||
/* Reset HSEBYP bit */ | |||||
RCC->CR &= (uint32_t)0xFFFBFFFF; | |||||
/* Disable all interrupts */ | |||||
RCC->CIR = 0x00000000; | |||||
#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) | |||||
SystemInit_ExtMemCtl(); | |||||
#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */ | |||||
/* Configure the Vector Table location add offset address ------------------*/ | |||||
#ifdef VECT_TAB_SRAM | |||||
SCB->VTOR = SRAM_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 | |||||
} | |||||
/** | |||||
* @brief Update SystemCoreClock variable according to Clock Register Values. | |||||
* The SystemCoreClock variable contains the core clock (HCLK), it can | |||||
* be used by the user application to setup the SysTick timer or configure | |||||
* other parameters. | |||||
* | |||||
* @note Each time the core clock (HCLK) changes, this function must be called | |||||
* to update SystemCoreClock variable value. Otherwise, any configuration | |||||
* based on this variable will be incorrect. | |||||
* | |||||
* @note - The system frequency computed by this function is not the real | |||||
* frequency in the chip. It is calculated based on the predefined | |||||
* constant and the selected clock source: | |||||
* | |||||
* - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) | |||||
* | |||||
* - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) | |||||
* | |||||
* - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) | |||||
* or HSI_VALUE(*) multiplied/divided by the PLL factors. | |||||
* | |||||
* (*) HSI_VALUE is a constant defined in stm32f4xx_hal_conf.h file (default value | |||||
* 16 MHz) but the real value may vary depending on the variations | |||||
* in voltage and temperature. | |||||
* | |||||
* (**) HSE_VALUE is a constant defined in stm32f4xx_hal_conf.h file (its value | |||||
* depends on the application requirements), user has to ensure that HSE_VALUE | |||||
* is same as the real frequency of the crystal used. Otherwise, this function | |||||
* may have wrong result. | |||||
* | |||||
* - The result of this function could be not correct when using fractional | |||||
* value for HSE crystal. | |||||
* | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SystemCoreClockUpdate(void) | |||||
{ | |||||
uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; | |||||
/* Get SYSCLK source -------------------------------------------------------*/ | |||||
tmp = RCC->CFGR & RCC_CFGR_SWS; | |||||
switch (tmp) | |||||
{ | |||||
case 0x00: /* HSI used as system clock source */ | |||||
SystemCoreClock = HSI_VALUE; | |||||
break; | |||||
case 0x04: /* HSE used as system clock source */ | |||||
SystemCoreClock = HSE_VALUE; | |||||
break; | |||||
case 0x08: /* PLL used as system clock source */ | |||||
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N | |||||
SYSCLK = PLL_VCO / PLL_P | |||||
*/ | |||||
pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; | |||||
pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; | |||||
if (pllsource != 0) | |||||
{ | |||||
/* HSE used as PLL clock source */ | |||||
pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); | |||||
} | |||||
else | |||||
{ | |||||
/* HSI used as PLL clock source */ | |||||
pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); | |||||
} | |||||
pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; | |||||
SystemCoreClock = pllvco/pllp; | |||||
break; | |||||
default: | |||||
SystemCoreClock = HSI_VALUE; | |||||
break; | |||||
} | |||||
/* Compute HCLK frequency --------------------------------------------------*/ | |||||
/* Get HCLK prescaler */ | |||||
tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; | |||||
/* HCLK frequency */ | |||||
SystemCoreClock >>= tmp; | |||||
} | |||||
#if defined (DATA_IN_ExtSRAM) && defined (DATA_IN_ExtSDRAM) | |||||
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ | |||||
|| defined(STM32F469xx) || defined(STM32F479xx) | |||||
/** | |||||
* @brief Setup the external memory controller. | |||||
* Called in startup_stm32f4xx.s before jump to main. | |||||
* This function configures the external memories (SRAM/SDRAM) | |||||
* This SRAM/SDRAM will be used as program data memory (including heap and stack). | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SystemInit_ExtMemCtl(void) | |||||
{ | |||||
__IO uint32_t tmp = 0x00; | |||||
register uint32_t tmpreg = 0, timeout = 0xFFFF; | |||||
register __IO uint32_t index; | |||||
/* Enable GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface clock */ | |||||
RCC->AHB1ENR |= 0x000001F8; | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN); | |||||
/* Connect PDx pins to FMC Alternate function */ | |||||
GPIOD->AFR[0] = 0x00CCC0CC; | |||||
GPIOD->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PDx pins in Alternate function mode */ | |||||
GPIOD->MODER = 0xAAAA0A8A; | |||||
/* Configure PDx pins speed to 100 MHz */ | |||||
GPIOD->OSPEEDR = 0xFFFF0FCF; | |||||
/* Configure PDx pins Output type to push-pull */ | |||||
GPIOD->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PDx pins */ | |||||
GPIOD->PUPDR = 0x00000000; | |||||
/* Connect PEx pins to FMC Alternate function */ | |||||
GPIOE->AFR[0] = 0xC00CC0CC; | |||||
GPIOE->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PEx pins in Alternate function mode */ | |||||
GPIOE->MODER = 0xAAAA828A; | |||||
/* Configure PEx pins speed to 100 MHz */ | |||||
GPIOE->OSPEEDR = 0xFFFFC3CF; | |||||
/* Configure PEx pins Output type to push-pull */ | |||||
GPIOE->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PEx pins */ | |||||
GPIOE->PUPDR = 0x00000000; | |||||
/* Connect PFx pins to FMC Alternate function */ | |||||
GPIOF->AFR[0] = 0xCCCCCCCC; | |||||
GPIOF->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PFx pins in Alternate function mode */ | |||||
GPIOF->MODER = 0xAA800AAA; | |||||
/* Configure PFx pins speed to 50 MHz */ | |||||
GPIOF->OSPEEDR = 0xAA800AAA; | |||||
/* Configure PFx pins Output type to push-pull */ | |||||
GPIOF->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PFx pins */ | |||||
GPIOF->PUPDR = 0x00000000; | |||||
/* Connect PGx pins to FMC Alternate function */ | |||||
GPIOG->AFR[0] = 0xCCCCCCCC; | |||||
GPIOG->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PGx pins in Alternate function mode */ | |||||
GPIOG->MODER = 0xAAAAAAAA; | |||||
/* Configure PGx pins speed to 50 MHz */ | |||||
GPIOG->OSPEEDR = 0xAAAAAAAA; | |||||
/* Configure PGx pins Output type to push-pull */ | |||||
GPIOG->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PGx pins */ | |||||
GPIOG->PUPDR = 0x00000000; | |||||
/* Connect PHx pins to FMC Alternate function */ | |||||
GPIOH->AFR[0] = 0x00C0CC00; | |||||
GPIOH->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PHx pins in Alternate function mode */ | |||||
GPIOH->MODER = 0xAAAA08A0; | |||||
/* Configure PHx pins speed to 50 MHz */ | |||||
GPIOH->OSPEEDR = 0xAAAA08A0; | |||||
/* Configure PHx pins Output type to push-pull */ | |||||
GPIOH->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PHx pins */ | |||||
GPIOH->PUPDR = 0x00000000; | |||||
/* Connect PIx pins to FMC Alternate function */ | |||||
GPIOI->AFR[0] = 0xCCCCCCCC; | |||||
GPIOI->AFR[1] = 0x00000CC0; | |||||
/* Configure PIx pins in Alternate function mode */ | |||||
GPIOI->MODER = 0x0028AAAA; | |||||
/* Configure PIx pins speed to 50 MHz */ | |||||
GPIOI->OSPEEDR = 0x0028AAAA; | |||||
/* Configure PIx pins Output type to push-pull */ | |||||
GPIOI->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PIx pins */ | |||||
GPIOI->PUPDR = 0x00000000; | |||||
/*-- FMC Configuration -------------------------------------------------------*/ | |||||
/* Enable the FMC interface clock */ | |||||
RCC->AHB3ENR |= 0x00000001; | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); | |||||
FMC_Bank5_6->SDCR[0] = 0x000019E4; | |||||
FMC_Bank5_6->SDTR[0] = 0x01115351; | |||||
/* SDRAM initialization sequence */ | |||||
/* Clock enable command */ | |||||
FMC_Bank5_6->SDCMR = 0x00000011; | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* Delay */ | |||||
for (index = 0; index<1000; index++); | |||||
/* PALL command */ | |||||
FMC_Bank5_6->SDCMR = 0x00000012; | |||||
timeout = 0xFFFF; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* Auto refresh command */ | |||||
FMC_Bank5_6->SDCMR = 0x00000073; | |||||
timeout = 0xFFFF; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* MRD register program */ | |||||
FMC_Bank5_6->SDCMR = 0x00046014; | |||||
timeout = 0xFFFF; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* Set refresh count */ | |||||
tmpreg = FMC_Bank5_6->SDRTR; | |||||
FMC_Bank5_6->SDRTR = (tmpreg | (0x0000027C<<1)); | |||||
/* Disable write protection */ | |||||
tmpreg = FMC_Bank5_6->SDCR[0]; | |||||
FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF); | |||||
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) | |||||
/* Configure and enable Bank1_SRAM2 */ | |||||
FMC_Bank1->BTCR[2] = 0x00001011; | |||||
FMC_Bank1->BTCR[3] = 0x00000201; | |||||
FMC_Bank1E->BWTR[2] = 0x0fffffff; | |||||
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */ | |||||
#if defined(STM32F469xx) || defined(STM32F479xx) | |||||
/* Configure and enable Bank1_SRAM2 */ | |||||
FMC_Bank1->BTCR[2] = 0x00001091; | |||||
FMC_Bank1->BTCR[3] = 0x00110212; | |||||
FMC_Bank1E->BWTR[2] = 0x0fffffff; | |||||
#endif /* STM32F469xx || STM32F479xx */ | |||||
(void)(tmp); | |||||
} | |||||
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx */ | |||||
#elif defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) | |||||
/** | |||||
* @brief Setup the external memory controller. | |||||
* Called in startup_stm32f4xx.s before jump to main. | |||||
* This function configures the external memories (SRAM/SDRAM) | |||||
* This SRAM/SDRAM will be used as program data memory (including heap and stack). | |||||
* @param None | |||||
* @retval None | |||||
*/ | |||||
void SystemInit_ExtMemCtl(void) | |||||
{ | |||||
__IO uint32_t tmp = 0x00; | |||||
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ | |||||
|| defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) | |||||
#if defined (DATA_IN_ExtSDRAM) | |||||
register uint32_t tmpreg = 0, timeout = 0xFFFF; | |||||
register __IO uint32_t index; | |||||
#if defined(STM32F446xx) | |||||
/* Enable GPIOA, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG interface | |||||
clock */ | |||||
RCC->AHB1ENR |= 0x0000007D; | |||||
#else | |||||
/* Enable GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface | |||||
clock */ | |||||
RCC->AHB1ENR |= 0x000001F8; | |||||
#endif /* STM32F446xx */ | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN); | |||||
#if defined(STM32F446xx) | |||||
/* Connect PAx pins to FMC Alternate function */ | |||||
GPIOA->AFR[0] |= 0xC0000000; | |||||
GPIOA->AFR[1] |= 0x00000000; | |||||
/* Configure PDx pins in Alternate function mode */ | |||||
GPIOA->MODER |= 0x00008000; | |||||
/* Configure PDx pins speed to 50 MHz */ | |||||
GPIOA->OSPEEDR |= 0x00008000; | |||||
/* Configure PDx pins Output type to push-pull */ | |||||
GPIOA->OTYPER |= 0x00000000; | |||||
/* No pull-up, pull-down for PDx pins */ | |||||
GPIOA->PUPDR |= 0x00000000; | |||||
/* Connect PCx pins to FMC Alternate function */ | |||||
GPIOC->AFR[0] |= 0x00CC0000; | |||||
GPIOC->AFR[1] |= 0x00000000; | |||||
/* Configure PDx pins in Alternate function mode */ | |||||
GPIOC->MODER |= 0x00000A00; | |||||
/* Configure PDx pins speed to 50 MHz */ | |||||
GPIOC->OSPEEDR |= 0x00000A00; | |||||
/* Configure PDx pins Output type to push-pull */ | |||||
GPIOC->OTYPER |= 0x00000000; | |||||
/* No pull-up, pull-down for PDx pins */ | |||||
GPIOC->PUPDR |= 0x00000000; | |||||
#endif /* STM32F446xx */ | |||||
/* Connect PDx pins to FMC Alternate function */ | |||||
GPIOD->AFR[0] = 0x000000CC; | |||||
GPIOD->AFR[1] = 0xCC000CCC; | |||||
/* Configure PDx pins in Alternate function mode */ | |||||
GPIOD->MODER = 0xA02A000A; | |||||
/* Configure PDx pins speed to 50 MHz */ | |||||
GPIOD->OSPEEDR = 0xA02A000A; | |||||
/* Configure PDx pins Output type to push-pull */ | |||||
GPIOD->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PDx pins */ | |||||
GPIOD->PUPDR = 0x00000000; | |||||
/* Connect PEx pins to FMC Alternate function */ | |||||
GPIOE->AFR[0] = 0xC00000CC; | |||||
GPIOE->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PEx pins in Alternate function mode */ | |||||
GPIOE->MODER = 0xAAAA800A; | |||||
/* Configure PEx pins speed to 50 MHz */ | |||||
GPIOE->OSPEEDR = 0xAAAA800A; | |||||
/* Configure PEx pins Output type to push-pull */ | |||||
GPIOE->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PEx pins */ | |||||
GPIOE->PUPDR = 0x00000000; | |||||
/* Connect PFx pins to FMC Alternate function */ | |||||
GPIOF->AFR[0] = 0xCCCCCCCC; | |||||
GPIOF->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PFx pins in Alternate function mode */ | |||||
GPIOF->MODER = 0xAA800AAA; | |||||
/* Configure PFx pins speed to 50 MHz */ | |||||
GPIOF->OSPEEDR = 0xAA800AAA; | |||||
/* Configure PFx pins Output type to push-pull */ | |||||
GPIOF->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PFx pins */ | |||||
GPIOF->PUPDR = 0x00000000; | |||||
/* Connect PGx pins to FMC Alternate function */ | |||||
GPIOG->AFR[0] = 0xCCCCCCCC; | |||||
GPIOG->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PGx pins in Alternate function mode */ | |||||
GPIOG->MODER = 0xAAAAAAAA; | |||||
/* Configure PGx pins speed to 50 MHz */ | |||||
GPIOG->OSPEEDR = 0xAAAAAAAA; | |||||
/* Configure PGx pins Output type to push-pull */ | |||||
GPIOG->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PGx pins */ | |||||
GPIOG->PUPDR = 0x00000000; | |||||
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ | |||||
|| defined(STM32F469xx) || defined(STM32F479xx) | |||||
/* Connect PHx pins to FMC Alternate function */ | |||||
GPIOH->AFR[0] = 0x00C0CC00; | |||||
GPIOH->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PHx pins in Alternate function mode */ | |||||
GPIOH->MODER = 0xAAAA08A0; | |||||
/* Configure PHx pins speed to 50 MHz */ | |||||
GPIOH->OSPEEDR = 0xAAAA08A0; | |||||
/* Configure PHx pins Output type to push-pull */ | |||||
GPIOH->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PHx pins */ | |||||
GPIOH->PUPDR = 0x00000000; | |||||
/* Connect PIx pins to FMC Alternate function */ | |||||
GPIOI->AFR[0] = 0xCCCCCCCC; | |||||
GPIOI->AFR[1] = 0x00000CC0; | |||||
/* Configure PIx pins in Alternate function mode */ | |||||
GPIOI->MODER = 0x0028AAAA; | |||||
/* Configure PIx pins speed to 50 MHz */ | |||||
GPIOI->OSPEEDR = 0x0028AAAA; | |||||
/* Configure PIx pins Output type to push-pull */ | |||||
GPIOI->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PIx pins */ | |||||
GPIOI->PUPDR = 0x00000000; | |||||
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx */ | |||||
/*-- FMC Configuration -------------------------------------------------------*/ | |||||
/* Enable the FMC interface clock */ | |||||
RCC->AHB3ENR |= 0x00000001; | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); | |||||
/* Configure and enable SDRAM bank1 */ | |||||
#if defined(STM32F446xx) | |||||
FMC_Bank5_6->SDCR[0] = 0x00001954; | |||||
#else | |||||
FMC_Bank5_6->SDCR[0] = 0x000019E4; | |||||
#endif /* STM32F446xx */ | |||||
FMC_Bank5_6->SDTR[0] = 0x01115351; | |||||
/* SDRAM initialization sequence */ | |||||
/* Clock enable command */ | |||||
FMC_Bank5_6->SDCMR = 0x00000011; | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* Delay */ | |||||
for (index = 0; index<1000; index++); | |||||
/* PALL command */ | |||||
FMC_Bank5_6->SDCMR = 0x00000012; | |||||
timeout = 0xFFFF; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* Auto refresh command */ | |||||
#if defined(STM32F446xx) | |||||
FMC_Bank5_6->SDCMR = 0x000000F3; | |||||
#else | |||||
FMC_Bank5_6->SDCMR = 0x00000073; | |||||
#endif /* STM32F446xx */ | |||||
timeout = 0xFFFF; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* MRD register program */ | |||||
#if defined(STM32F446xx) | |||||
FMC_Bank5_6->SDCMR = 0x00044014; | |||||
#else | |||||
FMC_Bank5_6->SDCMR = 0x00046014; | |||||
#endif /* STM32F446xx */ | |||||
timeout = 0xFFFF; | |||||
while((tmpreg != 0) && (timeout-- > 0)) | |||||
{ | |||||
tmpreg = FMC_Bank5_6->SDSR & 0x00000020; | |||||
} | |||||
/* Set refresh count */ | |||||
tmpreg = FMC_Bank5_6->SDRTR; | |||||
#if defined(STM32F446xx) | |||||
FMC_Bank5_6->SDRTR = (tmpreg | (0x0000050C<<1)); | |||||
#else | |||||
FMC_Bank5_6->SDRTR = (tmpreg | (0x0000027C<<1)); | |||||
#endif /* STM32F446xx */ | |||||
/* Disable write protection */ | |||||
tmpreg = FMC_Bank5_6->SDCR[0]; | |||||
FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF); | |||||
#endif /* DATA_IN_ExtSDRAM */ | |||||
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx || STM32F479xx */ | |||||
#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx)\ | |||||
|| defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ | |||||
|| defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) | |||||
#if defined(DATA_IN_ExtSRAM) | |||||
/*-- GPIOs Configuration -----------------------------------------------------*/ | |||||
/* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ | |||||
RCC->AHB1ENR |= 0x00000078; | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIODEN); | |||||
/* Connect PDx pins to FMC Alternate function */ | |||||
GPIOD->AFR[0] = 0x00CCC0CC; | |||||
GPIOD->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PDx pins in Alternate function mode */ | |||||
GPIOD->MODER = 0xAAAA0A8A; | |||||
/* Configure PDx pins speed to 100 MHz */ | |||||
GPIOD->OSPEEDR = 0xFFFF0FCF; | |||||
/* Configure PDx pins Output type to push-pull */ | |||||
GPIOD->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PDx pins */ | |||||
GPIOD->PUPDR = 0x00000000; | |||||
/* Connect PEx pins to FMC Alternate function */ | |||||
GPIOE->AFR[0] = 0xC00CC0CC; | |||||
GPIOE->AFR[1] = 0xCCCCCCCC; | |||||
/* Configure PEx pins in Alternate function mode */ | |||||
GPIOE->MODER = 0xAAAA828A; | |||||
/* Configure PEx pins speed to 100 MHz */ | |||||
GPIOE->OSPEEDR = 0xFFFFC3CF; | |||||
/* Configure PEx pins Output type to push-pull */ | |||||
GPIOE->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PEx pins */ | |||||
GPIOE->PUPDR = 0x00000000; | |||||
/* Connect PFx pins to FMC Alternate function */ | |||||
GPIOF->AFR[0] = 0x00CCCCCC; | |||||
GPIOF->AFR[1] = 0xCCCC0000; | |||||
/* Configure PFx pins in Alternate function mode */ | |||||
GPIOF->MODER = 0xAA000AAA; | |||||
/* Configure PFx pins speed to 100 MHz */ | |||||
GPIOF->OSPEEDR = 0xFF000FFF; | |||||
/* Configure PFx pins Output type to push-pull */ | |||||
GPIOF->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PFx pins */ | |||||
GPIOF->PUPDR = 0x00000000; | |||||
/* Connect PGx pins to FMC Alternate function */ | |||||
GPIOG->AFR[0] = 0x00CCCCCC; | |||||
GPIOG->AFR[1] = 0x000000C0; | |||||
/* Configure PGx pins in Alternate function mode */ | |||||
GPIOG->MODER = 0x00085AAA; | |||||
/* Configure PGx pins speed to 100 MHz */ | |||||
GPIOG->OSPEEDR = 0x000CAFFF; | |||||
/* Configure PGx pins Output type to push-pull */ | |||||
GPIOG->OTYPER = 0x00000000; | |||||
/* No pull-up, pull-down for PGx pins */ | |||||
GPIOG->PUPDR = 0x00000000; | |||||
/*-- FMC/FSMC Configuration --------------------------------------------------*/ | |||||
/* Enable the FMC/FSMC interface clock */ | |||||
RCC->AHB3ENR |= 0x00000001; | |||||
#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); | |||||
/* Configure and enable Bank1_SRAM2 */ | |||||
FMC_Bank1->BTCR[2] = 0x00001011; | |||||
FMC_Bank1->BTCR[3] = 0x00000201; | |||||
FMC_Bank1E->BWTR[2] = 0x0fffffff; | |||||
#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */ | |||||
#if defined(STM32F469xx) || defined(STM32F479xx) | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); | |||||
/* Configure and enable Bank1_SRAM2 */ | |||||
FMC_Bank1->BTCR[2] = 0x00001091; | |||||
FMC_Bank1->BTCR[3] = 0x00110212; | |||||
FMC_Bank1E->BWTR[2] = 0x0fffffff; | |||||
#endif /* STM32F469xx || STM32F479xx */ | |||||
#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx)|| defined(STM32F417xx)\ | |||||
|| defined(STM32F412Zx) || defined(STM32F412Vx) | |||||
/* Delay after an RCC peripheral clock enabling */ | |||||
tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FSMCEN); | |||||
/* Configure and enable Bank1_SRAM2 */ | |||||
FSMC_Bank1->BTCR[2] = 0x00001011; | |||||
FSMC_Bank1->BTCR[3] = 0x00000201; | |||||
FSMC_Bank1E->BWTR[2] = 0x0FFFFFFF; | |||||
#endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F412Zx || STM32F412Vx */ | |||||
#endif /* DATA_IN_ExtSRAM */ | |||||
#endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx ||\ | |||||
STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx || STM32F412Zx || STM32F412Vx */ | |||||
(void)(tmp); | |||||
} | |||||
#endif /* DATA_IN_ExtSRAM && DATA_IN_ExtSDRAM */ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/** | |||||
* @} | |||||
*/ | |||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
@@ -0,0 +1,865 @@ | |||||
/**************************************************************************//** | |||||
* @file cmsis_armcc.h | |||||
* @brief CMSIS compiler ARMCC (Arm Compiler 5) header file | |||||
* @version V5.0.4 | |||||
* @date 10. January 2018 | |||||
******************************************************************************/ | |||||
/* | |||||
* Copyright (c) 2009-2018 Arm Limited. All rights reserved. | |||||
* | |||||
* SPDX-License-Identifier: Apache-2.0 | |||||
* | |||||
* Licensed 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 | |||||
* | |||||
* 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. | |||||
*/ | |||||
#ifndef __CMSIS_ARMCC_H | |||||
#define __CMSIS_ARMCC_H | |||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 400677) | |||||
#error "Please use Arm Compiler Toolchain V4.0.677 or later!" | |||||
#endif | |||||
/* CMSIS compiler control architecture macros */ | |||||
#if ((defined (__TARGET_ARCH_6_M ) && (__TARGET_ARCH_6_M == 1)) || \ | |||||
(defined (__TARGET_ARCH_6S_M ) && (__TARGET_ARCH_6S_M == 1)) ) | |||||
#define __ARM_ARCH_6M__ 1 | |||||
#endif | |||||
#if (defined (__TARGET_ARCH_7_M ) && (__TARGET_ARCH_7_M == 1)) | |||||
#define __ARM_ARCH_7M__ 1 | |||||
#endif | |||||
#if (defined (__TARGET_ARCH_7E_M) && (__TARGET_ARCH_7E_M == 1)) | |||||
#define __ARM_ARCH_7EM__ 1 | |||||
#endif | |||||
/* __ARM_ARCH_8M_BASE__ not applicable */ | |||||
/* __ARM_ARCH_8M_MAIN__ not applicable */ | |||||
/* CMSIS compiler specific defines */ | |||||
#ifndef __ASM | |||||
#define __ASM __asm | |||||
#endif | |||||
#ifndef __INLINE | |||||
#define __INLINE __inline | |||||
#endif | |||||
#ifndef __STATIC_INLINE | |||||
#define __STATIC_INLINE static __inline | |||||
#endif | |||||
#ifndef __STATIC_FORCEINLINE | |||||
#define __STATIC_FORCEINLINE static __forceinline | |||||
#endif | |||||
#ifndef __NO_RETURN | |||||
#define __NO_RETURN __declspec(noreturn) | |||||
#endif | |||||
#ifndef __USED | |||||
#define __USED __attribute__((used)) | |||||
#endif | |||||
#ifndef __WEAK | |||||
#define __WEAK __attribute__((weak)) | |||||
#endif | |||||
#ifndef __PACKED | |||||
#define __PACKED __attribute__((packed)) | |||||
#endif | |||||
#ifndef __PACKED_STRUCT | |||||
#define __PACKED_STRUCT __packed struct | |||||
#endif | |||||
#ifndef __PACKED_UNION | |||||
#define __PACKED_UNION __packed union | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32 /* deprecated */ | |||||
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x))) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_WRITE | |||||
#define __UNALIGNED_UINT16_WRITE(addr, val) ((*((__packed uint16_t *)(addr))) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_READ | |||||
#define __UNALIGNED_UINT16_READ(addr) (*((const __packed uint16_t *)(addr))) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_WRITE | |||||
#define __UNALIGNED_UINT32_WRITE(addr, val) ((*((__packed uint32_t *)(addr))) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_READ | |||||
#define __UNALIGNED_UINT32_READ(addr) (*((const __packed uint32_t *)(addr))) | |||||
#endif | |||||
#ifndef __ALIGNED | |||||
#define __ALIGNED(x) __attribute__((aligned(x))) | |||||
#endif | |||||
#ifndef __RESTRICT | |||||
#define __RESTRICT __restrict | |||||
#endif | |||||
/* ########################### Core Function Access ########################### */ | |||||
/** \ingroup CMSIS_Core_FunctionInterface | |||||
\defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions | |||||
@{ | |||||
*/ | |||||
/** | |||||
\brief Enable IRQ Interrupts | |||||
\details Enables IRQ interrupts by clearing the I-bit in the CPSR. | |||||
Can only be executed in Privileged modes. | |||||
*/ | |||||
/* intrinsic void __enable_irq(); */ | |||||
/** | |||||
\brief Disable IRQ Interrupts | |||||
\details Disables IRQ interrupts by setting the I-bit in the CPSR. | |||||
Can only be executed in Privileged modes. | |||||
*/ | |||||
/* intrinsic void __disable_irq(); */ | |||||
/** | |||||
\brief Get Control Register | |||||
\details Returns the content of the Control Register. | |||||
\return Control Register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_CONTROL(void) | |||||
{ | |||||
register uint32_t __regControl __ASM("control"); | |||||
return(__regControl); | |||||
} | |||||
/** | |||||
\brief Set Control Register | |||||
\details Writes the given value to the Control Register. | |||||
\param [in] control Control Register value to set | |||||
*/ | |||||
__STATIC_INLINE void __set_CONTROL(uint32_t control) | |||||
{ | |||||
register uint32_t __regControl __ASM("control"); | |||||
__regControl = control; | |||||
} | |||||
/** | |||||
\brief Get IPSR Register | |||||
\details Returns the content of the IPSR Register. | |||||
\return IPSR Register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_IPSR(void) | |||||
{ | |||||
register uint32_t __regIPSR __ASM("ipsr"); | |||||
return(__regIPSR); | |||||
} | |||||
/** | |||||
\brief Get APSR Register | |||||
\details Returns the content of the APSR Register. | |||||
\return APSR Register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_APSR(void) | |||||
{ | |||||
register uint32_t __regAPSR __ASM("apsr"); | |||||
return(__regAPSR); | |||||
} | |||||
/** | |||||
\brief Get xPSR Register | |||||
\details Returns the content of the xPSR Register. | |||||
\return xPSR Register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_xPSR(void) | |||||
{ | |||||
register uint32_t __regXPSR __ASM("xpsr"); | |||||
return(__regXPSR); | |||||
} | |||||
/** | |||||
\brief Get Process Stack Pointer | |||||
\details Returns the current value of the Process Stack Pointer (PSP). | |||||
\return PSP Register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_PSP(void) | |||||
{ | |||||
register uint32_t __regProcessStackPointer __ASM("psp"); | |||||
return(__regProcessStackPointer); | |||||
} | |||||
/** | |||||
\brief Set Process Stack Pointer | |||||
\details Assigns the given value to the Process Stack Pointer (PSP). | |||||
\param [in] topOfProcStack Process Stack Pointer value to set | |||||
*/ | |||||
__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) | |||||
{ | |||||
register uint32_t __regProcessStackPointer __ASM("psp"); | |||||
__regProcessStackPointer = topOfProcStack; | |||||
} | |||||
/** | |||||
\brief Get Main Stack Pointer | |||||
\details Returns the current value of the Main Stack Pointer (MSP). | |||||
\return MSP Register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_MSP(void) | |||||
{ | |||||
register uint32_t __regMainStackPointer __ASM("msp"); | |||||
return(__regMainStackPointer); | |||||
} | |||||
/** | |||||
\brief Set Main Stack Pointer | |||||
\details Assigns the given value to the Main Stack Pointer (MSP). | |||||
\param [in] topOfMainStack Main Stack Pointer value to set | |||||
*/ | |||||
__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) | |||||
{ | |||||
register uint32_t __regMainStackPointer __ASM("msp"); | |||||
__regMainStackPointer = topOfMainStack; | |||||
} | |||||
/** | |||||
\brief Get Priority Mask | |||||
\details Returns the current state of the priority mask bit from the Priority Mask Register. | |||||
\return Priority Mask value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_PRIMASK(void) | |||||
{ | |||||
register uint32_t __regPriMask __ASM("primask"); | |||||
return(__regPriMask); | |||||
} | |||||
/** | |||||
\brief Set Priority Mask | |||||
\details Assigns the given value to the Priority Mask Register. | |||||
\param [in] priMask Priority Mask | |||||
*/ | |||||
__STATIC_INLINE void __set_PRIMASK(uint32_t priMask) | |||||
{ | |||||
register uint32_t __regPriMask __ASM("primask"); | |||||
__regPriMask = (priMask); | |||||
} | |||||
#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ | |||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) | |||||
/** | |||||
\brief Enable FIQ | |||||
\details Enables FIQ interrupts by clearing the F-bit in the CPSR. | |||||
Can only be executed in Privileged modes. | |||||
*/ | |||||
#define __enable_fault_irq __enable_fiq | |||||
/** | |||||
\brief Disable FIQ | |||||
\details Disables FIQ interrupts by setting the F-bit in the CPSR. | |||||
Can only be executed in Privileged modes. | |||||
*/ | |||||
#define __disable_fault_irq __disable_fiq | |||||
/** | |||||
\brief Get Base Priority | |||||
\details Returns the current value of the Base Priority register. | |||||
\return Base Priority register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_BASEPRI(void) | |||||
{ | |||||
register uint32_t __regBasePri __ASM("basepri"); | |||||
return(__regBasePri); | |||||
} | |||||
/** | |||||
\brief Set Base Priority | |||||
\details Assigns the given value to the Base Priority register. | |||||
\param [in] basePri Base Priority value to set | |||||
*/ | |||||
__STATIC_INLINE void __set_BASEPRI(uint32_t basePri) | |||||
{ | |||||
register uint32_t __regBasePri __ASM("basepri"); | |||||
__regBasePri = (basePri & 0xFFU); | |||||
} | |||||
/** | |||||
\brief Set Base Priority with condition | |||||
\details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, | |||||
or the new value increases the BASEPRI priority level. | |||||
\param [in] basePri Base Priority value to set | |||||
*/ | |||||
__STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri) | |||||
{ | |||||
register uint32_t __regBasePriMax __ASM("basepri_max"); | |||||
__regBasePriMax = (basePri & 0xFFU); | |||||
} | |||||
/** | |||||
\brief Get Fault Mask | |||||
\details Returns the current value of the Fault Mask register. | |||||
\return Fault Mask register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_FAULTMASK(void) | |||||
{ | |||||
register uint32_t __regFaultMask __ASM("faultmask"); | |||||
return(__regFaultMask); | |||||
} | |||||
/** | |||||
\brief Set Fault Mask | |||||
\details Assigns the given value to the Fault Mask register. | |||||
\param [in] faultMask Fault Mask value to set | |||||
*/ | |||||
__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask) | |||||
{ | |||||
register uint32_t __regFaultMask __ASM("faultmask"); | |||||
__regFaultMask = (faultMask & (uint32_t)1U); | |||||
} | |||||
#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ | |||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ | |||||
/** | |||||
\brief Get FPSCR | |||||
\details Returns the current value of the Floating Point Status/Control register. | |||||
\return Floating Point Status/Control register value | |||||
*/ | |||||
__STATIC_INLINE uint32_t __get_FPSCR(void) | |||||
{ | |||||
#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ | |||||
(defined (__FPU_USED ) && (__FPU_USED == 1U)) ) | |||||
register uint32_t __regfpscr __ASM("fpscr"); | |||||
return(__regfpscr); | |||||
#else | |||||
return(0U); | |||||
#endif | |||||
} | |||||
/** | |||||
\brief Set FPSCR | |||||
\details Assigns the given value to the Floating Point Status/Control register. | |||||
\param [in] fpscr Floating Point Status/Control value to set | |||||
*/ | |||||
__STATIC_INLINE void __set_FPSCR(uint32_t fpscr) | |||||
{ | |||||
#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ | |||||
(defined (__FPU_USED ) && (__FPU_USED == 1U)) ) | |||||
register uint32_t __regfpscr __ASM("fpscr"); | |||||
__regfpscr = (fpscr); | |||||
#else | |||||
(void)fpscr; | |||||
#endif | |||||
} | |||||
/*@} end of CMSIS_Core_RegAccFunctions */ | |||||
/* ########################## Core Instruction Access ######################### */ | |||||
/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface | |||||
Access to dedicated instructions | |||||
@{ | |||||
*/ | |||||
/** | |||||
\brief No Operation | |||||
\details No Operation does nothing. This instruction can be used for code alignment purposes. | |||||
*/ | |||||
#define __NOP __nop | |||||
/** | |||||
\brief Wait For Interrupt | |||||
\details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. | |||||
*/ | |||||
#define __WFI __wfi | |||||
/** | |||||
\brief Wait For Event | |||||
\details Wait For Event is a hint instruction that permits the processor to enter | |||||
a low-power state until one of a number of events occurs. | |||||
*/ | |||||
#define __WFE __wfe | |||||
/** | |||||
\brief Send Event | |||||
\details Send Event is a hint instruction. It causes an event to be signaled to the CPU. | |||||
*/ | |||||
#define __SEV __sev | |||||
/** | |||||
\brief Instruction Synchronization Barrier | |||||
\details Instruction Synchronization Barrier flushes the pipeline in the processor, | |||||
so that all instructions following the ISB are fetched from cache or memory, | |||||
after the instruction has been completed. | |||||
*/ | |||||
#define __ISB() do {\ | |||||
__schedule_barrier();\ | |||||
__isb(0xF);\ | |||||
__schedule_barrier();\ | |||||
} while (0U) | |||||
/** | |||||
\brief Data Synchronization Barrier | |||||
\details Acts as a special kind of Data Memory Barrier. | |||||
It completes when all explicit memory accesses before this instruction complete. | |||||
*/ | |||||
#define __DSB() do {\ | |||||
__schedule_barrier();\ | |||||
__dsb(0xF);\ | |||||
__schedule_barrier();\ | |||||
} while (0U) | |||||
/** | |||||
\brief Data Memory Barrier | |||||
\details Ensures the apparent order of the explicit memory operations before | |||||
and after the instruction, without ensuring their completion. | |||||
*/ | |||||
#define __DMB() do {\ | |||||
__schedule_barrier();\ | |||||
__dmb(0xF);\ | |||||
__schedule_barrier();\ | |||||
} while (0U) | |||||
/** | |||||
\brief Reverse byte order (32 bit) | |||||
\details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. | |||||
\param [in] value Value to reverse | |||||
\return Reversed value | |||||
*/ | |||||
#define __REV __rev | |||||
/** | |||||
\brief Reverse byte order (16 bit) | |||||
\details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. | |||||
\param [in] value Value to reverse | |||||
\return Reversed value | |||||
*/ | |||||
#ifndef __NO_EMBEDDED_ASM | |||||
__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) | |||||
{ | |||||
rev16 r0, r0 | |||||
bx lr | |||||
} | |||||
#endif | |||||
/** | |||||
\brief Reverse byte order (16 bit) | |||||
\details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. | |||||
\param [in] value Value to reverse | |||||
\return Reversed value | |||||
*/ | |||||
#ifndef __NO_EMBEDDED_ASM | |||||
__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value) | |||||
{ | |||||
revsh r0, r0 | |||||
bx lr | |||||
} | |||||
#endif | |||||
/** | |||||
\brief Rotate Right in unsigned value (32 bit) | |||||
\details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. | |||||
\param [in] op1 Value to rotate | |||||
\param [in] op2 Number of Bits to rotate | |||||
\return Rotated value | |||||
*/ | |||||
#define __ROR __ror | |||||
/** | |||||
\brief Breakpoint | |||||
\details Causes the processor to enter Debug state. | |||||
Debug tools can use this to investigate system state when the instruction at a particular address is reached. | |||||
\param [in] value is ignored by the processor. | |||||
If required, a debugger can use it to store additional information about the breakpoint. | |||||
*/ | |||||
#define __BKPT(value) __breakpoint(value) | |||||
/** | |||||
\brief Reverse bit order of value | |||||
\details Reverses the bit order of the given value. | |||||
\param [in] value Value to reverse | |||||
\return Reversed value | |||||
*/ | |||||
#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ | |||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) | |||||
#define __RBIT __rbit | |||||
#else | |||||
__attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t value) | |||||
{ | |||||
uint32_t result; | |||||
uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ | |||||
result = value; /* r will be reversed bits of v; first get LSB of v */ | |||||
for (value >>= 1U; value != 0U; value >>= 1U) | |||||
{ | |||||
result <<= 1U; | |||||
result |= value & 1U; | |||||
s--; | |||||
} | |||||
result <<= s; /* shift when v's highest bits are zero */ | |||||
return result; | |||||
} | |||||
#endif | |||||
/** | |||||
\brief Count leading zeros | |||||
\details Counts the number of leading zeros of a data value. | |||||
\param [in] value Value to count the leading zeros | |||||
\return number of leading zeros in value | |||||
*/ | |||||
#define __CLZ __clz | |||||
#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ | |||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) | |||||
/** | |||||
\brief LDR Exclusive (8 bit) | |||||
\details Executes a exclusive LDR instruction for 8 bit value. | |||||
\param [in] ptr Pointer to data | |||||
\return value of type uint8_t at (*ptr) | |||||
*/ | |||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) | |||||
#define __LDREXB(ptr) ((uint8_t ) __ldrex(ptr)) | |||||
#else | |||||
#define __LDREXB(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint8_t ) __ldrex(ptr)) _Pragma("pop") | |||||
#endif | |||||
/** | |||||
\brief LDR Exclusive (16 bit) | |||||
\details Executes a exclusive LDR instruction for 16 bit values. | |||||
\param [in] ptr Pointer to data | |||||
\return value of type uint16_t at (*ptr) | |||||
*/ | |||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) | |||||
#define __LDREXH(ptr) ((uint16_t) __ldrex(ptr)) | |||||
#else | |||||
#define __LDREXH(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint16_t) __ldrex(ptr)) _Pragma("pop") | |||||
#endif | |||||
/** | |||||
\brief LDR Exclusive (32 bit) | |||||
\details Executes a exclusive LDR instruction for 32 bit values. | |||||
\param [in] ptr Pointer to data | |||||
\return value of type uint32_t at (*ptr) | |||||
*/ | |||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) | |||||
#define __LDREXW(ptr) ((uint32_t ) __ldrex(ptr)) | |||||
#else | |||||
#define __LDREXW(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint32_t ) __ldrex(ptr)) _Pragma("pop") | |||||
#endif | |||||
/** | |||||
\brief STR Exclusive (8 bit) | |||||
\details Executes a exclusive STR instruction for 8 bit values. | |||||
\param [in] value Value to store | |||||
\param [in] ptr Pointer to location | |||||
\return 0 Function succeeded | |||||
\return 1 Function failed | |||||
*/ | |||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) | |||||
#define __STREXB(value, ptr) __strex(value, ptr) | |||||
#else | |||||
#define __STREXB(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") | |||||
#endif | |||||
/** | |||||
\brief STR Exclusive (16 bit) | |||||
\details Executes a exclusive STR instruction for 16 bit values. | |||||
\param [in] value Value to store | |||||
\param [in] ptr Pointer to location | |||||
\return 0 Function succeeded | |||||
\return 1 Function failed | |||||
*/ | |||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) | |||||
#define __STREXH(value, ptr) __strex(value, ptr) | |||||
#else | |||||
#define __STREXH(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") | |||||
#endif | |||||
/** | |||||
\brief STR Exclusive (32 bit) | |||||
\details Executes a exclusive STR instruction for 32 bit values. | |||||
\param [in] value Value to store | |||||
\param [in] ptr Pointer to location | |||||
\return 0 Function succeeded | |||||
\return 1 Function failed | |||||
*/ | |||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) | |||||
#define __STREXW(value, ptr) __strex(value, ptr) | |||||
#else | |||||
#define __STREXW(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") | |||||
#endif | |||||
/** | |||||
\brief Remove the exclusive lock | |||||
\details Removes the exclusive lock which is created by LDREX. | |||||
*/ | |||||
#define __CLREX __clrex | |||||
/** | |||||
\brief Signed Saturate | |||||
\details Saturates a signed value. | |||||
\param [in] value Value to be saturated | |||||
\param [in] sat Bit position to saturate to (1..32) | |||||
\return Saturated value | |||||
*/ | |||||
#define __SSAT __ssat | |||||
/** | |||||
\brief Unsigned Saturate | |||||
\details Saturates an unsigned value. | |||||
\param [in] value Value to be saturated | |||||
\param [in] sat Bit position to saturate to (0..31) | |||||
\return Saturated value | |||||
*/ | |||||
#define __USAT __usat | |||||
/** | |||||
\brief Rotate Right with Extend (32 bit) | |||||
\details Moves each bit of a bitstring right by one bit. | |||||
The carry input is shifted in at the left end of the bitstring. | |||||
\param [in] value Value to rotate | |||||
\return Rotated value | |||||
*/ | |||||
#ifndef __NO_EMBEDDED_ASM | |||||
__attribute__((section(".rrx_text"))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value) | |||||
{ | |||||
rrx r0, r0 | |||||
bx lr | |||||
} | |||||
#endif | |||||
/** | |||||
\brief LDRT Unprivileged (8 bit) | |||||
\details Executes a Unprivileged LDRT instruction for 8 bit value. | |||||
\param [in] ptr Pointer to data | |||||
\return value of type uint8_t at (*ptr) | |||||
*/ | |||||
#define __LDRBT(ptr) ((uint8_t ) __ldrt(ptr)) | |||||
/** | |||||
\brief LDRT Unprivileged (16 bit) | |||||
\details Executes a Unprivileged LDRT instruction for 16 bit values. | |||||
\param [in] ptr Pointer to data | |||||
\return value of type uint16_t at (*ptr) | |||||
*/ | |||||
#define __LDRHT(ptr) ((uint16_t) __ldrt(ptr)) | |||||
/** | |||||
\brief LDRT Unprivileged (32 bit) | |||||
\details Executes a Unprivileged LDRT instruction for 32 bit values. | |||||
\param [in] ptr Pointer to data | |||||
\return value of type uint32_t at (*ptr) | |||||
*/ | |||||
#define __LDRT(ptr) ((uint32_t ) __ldrt(ptr)) | |||||
/** | |||||
\brief STRT Unprivileged (8 bit) | |||||
\details Executes a Unprivileged STRT instruction for 8 bit values. | |||||
\param [in] value Value to store | |||||
\param [in] ptr Pointer to location | |||||
*/ | |||||
#define __STRBT(value, ptr) __strt(value, ptr) | |||||
/** | |||||
\brief STRT Unprivileged (16 bit) | |||||
\details Executes a Unprivileged STRT instruction for 16 bit values. | |||||
\param [in] value Value to store | |||||
\param [in] ptr Pointer to location | |||||
*/ | |||||
#define __STRHT(value, ptr) __strt(value, ptr) | |||||
/** | |||||
\brief STRT Unprivileged (32 bit) | |||||
\details Executes a Unprivileged STRT instruction for 32 bit values. | |||||
\param [in] value Value to store | |||||
\param [in] ptr Pointer to location | |||||
*/ | |||||
#define __STRT(value, ptr) __strt(value, ptr) | |||||
#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ | |||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ | |||||
/** | |||||
\brief Signed Saturate | |||||
\details Saturates a signed value. | |||||
\param [in] value Value to be saturated | |||||
\param [in] sat Bit position to saturate to (1..32) | |||||
\return Saturated value | |||||
*/ | |||||
__attribute__((always_inline)) __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat) | |||||
{ | |||||
if ((sat >= 1U) && (sat <= 32U)) | |||||
{ | |||||
const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); | |||||
const int32_t min = -1 - max ; | |||||
if (val > max) | |||||
{ | |||||
return max; | |||||
} | |||||
else if (val < min) | |||||
{ | |||||
return min; | |||||
} | |||||
} | |||||
return val; | |||||
} | |||||
/** | |||||
\brief Unsigned Saturate | |||||
\details Saturates an unsigned value. | |||||
\param [in] value Value to be saturated | |||||
\param [in] sat Bit position to saturate to (0..31) | |||||
\return Saturated value | |||||
*/ | |||||
__attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat) | |||||
{ | |||||
if (sat <= 31U) | |||||
{ | |||||
const uint32_t max = ((1U << sat) - 1U); | |||||
if (val > (int32_t)max) | |||||
{ | |||||
return max; | |||||
} | |||||
else if (val < 0) | |||||
{ | |||||
return 0U; | |||||
} | |||||
} | |||||
return (uint32_t)val; | |||||
} | |||||
#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ | |||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ | |||||
/*@}*/ /* end of group CMSIS_Core_InstructionInterface */ | |||||
/* ################### Compiler specific Intrinsics ########################### */ | |||||
/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics | |||||
Access to dedicated SIMD instructions | |||||
@{ | |||||
*/ | |||||
#if ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) | |||||
#define __SADD8 __sadd8 | |||||
#define __QADD8 __qadd8 | |||||
#define __SHADD8 __shadd8 | |||||
#define __UADD8 __uadd8 | |||||
#define __UQADD8 __uqadd8 | |||||
#define __UHADD8 __uhadd8 | |||||
#define __SSUB8 __ssub8 | |||||
#define __QSUB8 __qsub8 | |||||
#define __SHSUB8 __shsub8 | |||||
#define __USUB8 __usub8 | |||||
#define __UQSUB8 __uqsub8 | |||||
#define __UHSUB8 __uhsub8 | |||||
#define __SADD16 __sadd16 | |||||
#define __QADD16 __qadd16 | |||||
#define __SHADD16 __shadd16 | |||||
#define __UADD16 __uadd16 | |||||
#define __UQADD16 __uqadd16 | |||||
#define __UHADD16 __uhadd16 | |||||
#define __SSUB16 __ssub16 | |||||
#define __QSUB16 __qsub16 | |||||
#define __SHSUB16 __shsub16 | |||||
#define __USUB16 __usub16 | |||||
#define __UQSUB16 __uqsub16 | |||||
#define __UHSUB16 __uhsub16 | |||||
#define __SASX __sasx | |||||
#define __QASX __qasx | |||||
#define __SHASX __shasx | |||||
#define __UASX __uasx | |||||
#define __UQASX __uqasx | |||||
#define __UHASX __uhasx | |||||
#define __SSAX __ssax | |||||
#define __QSAX __qsax | |||||
#define __SHSAX __shsax | |||||
#define __USAX __usax | |||||
#define __UQSAX __uqsax | |||||
#define __UHSAX __uhsax | |||||
#define __USAD8 __usad8 | |||||
#define __USADA8 __usada8 | |||||
#define __SSAT16 __ssat16 | |||||
#define __USAT16 __usat16 | |||||
#define __UXTB16 __uxtb16 | |||||
#define __UXTAB16 __uxtab16 | |||||
#define __SXTB16 __sxtb16 | |||||
#define __SXTAB16 __sxtab16 | |||||
#define __SMUAD __smuad | |||||
#define __SMUADX __smuadx | |||||
#define __SMLAD __smlad | |||||
#define __SMLADX __smladx | |||||
#define __SMLALD __smlald | |||||
#define __SMLALDX __smlaldx | |||||
#define __SMUSD __smusd | |||||
#define __SMUSDX __smusdx | |||||
#define __SMLSD __smlsd | |||||
#define __SMLSDX __smlsdx | |||||
#define __SMLSLD __smlsld | |||||
#define __SMLSLDX __smlsldx | |||||
#define __SEL __sel | |||||
#define __QADD __qadd | |||||
#define __QSUB __qsub | |||||
#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ | |||||
((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) | |||||
#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ | |||||
((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) | |||||
#define __SMMLA(ARG1,ARG2,ARG3) ( (int32_t)((((int64_t)(ARG1) * (ARG2)) + \ | |||||
((int64_t)(ARG3) << 32U) ) >> 32U)) | |||||
#endif /* ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ | |||||
/*@} end of group CMSIS_SIMD_intrinsics */ | |||||
#endif /* __CMSIS_ARMCC_H */ |
@@ -0,0 +1,266 @@ | |||||
/**************************************************************************//** | |||||
* @file cmsis_compiler.h | |||||
* @brief CMSIS compiler generic header file | |||||
* @version V5.0.4 | |||||
* @date 10. January 2018 | |||||
******************************************************************************/ | |||||
/* | |||||
* Copyright (c) 2009-2018 Arm Limited. All rights reserved. | |||||
* | |||||
* SPDX-License-Identifier: Apache-2.0 | |||||
* | |||||
* Licensed 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 | |||||
* | |||||
* 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. | |||||
*/ | |||||
#ifndef __CMSIS_COMPILER_H | |||||
#define __CMSIS_COMPILER_H | |||||
#include <stdint.h> | |||||
/* | |||||
* Arm Compiler 4/5 | |||||
*/ | |||||
#if defined ( __CC_ARM ) | |||||
#include "cmsis_armcc.h" | |||||
/* | |||||
* Arm Compiler 6 (armclang) | |||||
*/ | |||||
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) | |||||
#include "cmsis_armclang.h" | |||||
/* | |||||
* GNU Compiler | |||||
*/ | |||||
#elif defined ( __GNUC__ ) | |||||
#include "cmsis_gcc.h" | |||||
/* | |||||
* IAR Compiler | |||||
*/ | |||||
#elif defined ( __ICCARM__ ) | |||||
#include <cmsis_iccarm.h> | |||||
/* | |||||
* TI Arm Compiler | |||||
*/ | |||||
#elif defined ( __TI_ARM__ ) | |||||
#include <cmsis_ccs.h> | |||||
#ifndef __ASM | |||||
#define __ASM __asm | |||||
#endif | |||||
#ifndef __INLINE | |||||
#define __INLINE inline | |||||
#endif | |||||
#ifndef __STATIC_INLINE | |||||
#define __STATIC_INLINE static inline | |||||
#endif | |||||
#ifndef __STATIC_FORCEINLINE | |||||
#define __STATIC_FORCEINLINE __STATIC_INLINE | |||||
#endif | |||||
#ifndef __NO_RETURN | |||||
#define __NO_RETURN __attribute__((noreturn)) | |||||
#endif | |||||
#ifndef __USED | |||||
#define __USED __attribute__((used)) | |||||
#endif | |||||
#ifndef __WEAK | |||||
#define __WEAK __attribute__((weak)) | |||||
#endif | |||||
#ifndef __PACKED | |||||
#define __PACKED __attribute__((packed)) | |||||
#endif | |||||
#ifndef __PACKED_STRUCT | |||||
#define __PACKED_STRUCT struct __attribute__((packed)) | |||||
#endif | |||||
#ifndef __PACKED_UNION | |||||
#define __PACKED_UNION union __attribute__((packed)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32 /* deprecated */ | |||||
struct __attribute__((packed)) T_UINT32 { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_WRITE | |||||
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; | |||||
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void*)(addr))->v) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_READ | |||||
__PACKED_STRUCT T_UINT16_READ { uint16_t v; }; | |||||
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_WRITE | |||||
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_READ | |||||
__PACKED_STRUCT T_UINT32_READ { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) | |||||
#endif | |||||
#ifndef __ALIGNED | |||||
#define __ALIGNED(x) __attribute__((aligned(x))) | |||||
#endif | |||||
#ifndef __RESTRICT | |||||
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored. | |||||
#define __RESTRICT | |||||
#endif | |||||
/* | |||||
* TASKING Compiler | |||||
*/ | |||||
#elif defined ( __TASKING__ ) | |||||
/* | |||||
* The CMSIS functions have been implemented as intrinsics in the compiler. | |||||
* Please use "carm -?i" to get an up to date list of all intrinsics, | |||||
* Including the CMSIS ones. | |||||
*/ | |||||
#ifndef __ASM | |||||
#define __ASM __asm | |||||
#endif | |||||
#ifndef __INLINE | |||||
#define __INLINE inline | |||||
#endif | |||||
#ifndef __STATIC_INLINE | |||||
#define __STATIC_INLINE static inline | |||||
#endif | |||||
#ifndef __STATIC_FORCEINLINE | |||||
#define __STATIC_FORCEINLINE __STATIC_INLINE | |||||
#endif | |||||
#ifndef __NO_RETURN | |||||
#define __NO_RETURN __attribute__((noreturn)) | |||||
#endif | |||||
#ifndef __USED | |||||
#define __USED __attribute__((used)) | |||||
#endif | |||||
#ifndef __WEAK | |||||
#define __WEAK __attribute__((weak)) | |||||
#endif | |||||
#ifndef __PACKED | |||||
#define __PACKED __packed__ | |||||
#endif | |||||
#ifndef __PACKED_STRUCT | |||||
#define __PACKED_STRUCT struct __packed__ | |||||
#endif | |||||
#ifndef __PACKED_UNION | |||||
#define __PACKED_UNION union __packed__ | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32 /* deprecated */ | |||||
struct __packed__ T_UINT32 { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_WRITE | |||||
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; | |||||
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_READ | |||||
__PACKED_STRUCT T_UINT16_READ { uint16_t v; }; | |||||
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_WRITE | |||||
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_READ | |||||
__PACKED_STRUCT T_UINT32_READ { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) | |||||
#endif | |||||
#ifndef __ALIGNED | |||||
#define __ALIGNED(x) __align(x) | |||||
#endif | |||||
#ifndef __RESTRICT | |||||
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored. | |||||
#define __RESTRICT | |||||
#endif | |||||
/* | |||||
* COSMIC Compiler | |||||
*/ | |||||
#elif defined ( __CSMC__ ) | |||||
#include <cmsis_csm.h> | |||||
#ifndef __ASM | |||||
#define __ASM _asm | |||||
#endif | |||||
#ifndef __INLINE | |||||
#define __INLINE inline | |||||
#endif | |||||
#ifndef __STATIC_INLINE | |||||
#define __STATIC_INLINE static inline | |||||
#endif | |||||
#ifndef __STATIC_FORCEINLINE | |||||
#define __STATIC_FORCEINLINE __STATIC_INLINE | |||||
#endif | |||||
#ifndef __NO_RETURN | |||||
// NO RETURN is automatically detected hence no warning here | |||||
#define __NO_RETURN | |||||
#endif | |||||
#ifndef __USED | |||||
#warning No compiler specific solution for __USED. __USED is ignored. | |||||
#define __USED | |||||
#endif | |||||
#ifndef __WEAK | |||||
#define __WEAK __weak | |||||
#endif | |||||
#ifndef __PACKED | |||||
#define __PACKED @packed | |||||
#endif | |||||
#ifndef __PACKED_STRUCT | |||||
#define __PACKED_STRUCT @packed struct | |||||
#endif | |||||
#ifndef __PACKED_UNION | |||||
#define __PACKED_UNION @packed union | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32 /* deprecated */ | |||||
@packed struct T_UINT32 { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_WRITE | |||||
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; | |||||
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT16_READ | |||||
__PACKED_STRUCT T_UINT16_READ { uint16_t v; }; | |||||
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_WRITE | |||||
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) | |||||
#endif | |||||
#ifndef __UNALIGNED_UINT32_READ | |||||
__PACKED_STRUCT T_UINT32_READ { uint32_t v; }; | |||||
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) | |||||
#endif | |||||
#ifndef __ALIGNED | |||||
#warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored. | |||||
#define __ALIGNED(x) | |||||
#endif | |||||
#ifndef __RESTRICT | |||||
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored. | |||||
#define __RESTRICT | |||||
#endif | |||||
#else | |||||
#error Unknown compiler. | |||||
#endif | |||||
#endif /* __CMSIS_COMPILER_H */ | |||||