mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Merge pull request #10758 from toyowata/stm32f407xe
Move Seeed ARCH_MAX to TARGET_STM32F407xE MCUpull/10776/head
						commit
						356c4fb7cb
					
				| 
						 | 
					@ -1,8 +1,10 @@
 | 
				
			||||||
/* mbed Microcontroller Library
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
 *******************************************************************************
 | 
					 *******************************************************************************
 | 
				
			||||||
 * Copyright (c) 2014, STMicroelectronics
 | 
					 * Copyright (c) 2014-2019, STMicroelectronics
 | 
				
			||||||
 * All rights reserved.
 | 
					 * All rights reserved.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 * Redistribution and use in source and binary forms, with or without
 | 
					 * Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 * modification, are permitted provided that the following conditions are met:
 | 
					 * modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,10 @@
 | 
				
			||||||
/* mbed Microcontroller Library
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
 *******************************************************************************
 | 
					 *******************************************************************************
 | 
				
			||||||
 * Copyright (c) 2014, STMicroelectronics
 | 
					 * Copyright (c) 2014-2019, STMicroelectronics
 | 
				
			||||||
 * All rights reserved.
 | 
					 * All rights reserved.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 * Redistribution and use in source and binary forms, with or without
 | 
					 * Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 * modification, are permitted provided that the following conditions are met:
 | 
					 * modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,10 @@
 | 
				
			||||||
/* mbed Microcontroller Library
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
 *******************************************************************************
 | 
					 *******************************************************************************
 | 
				
			||||||
 * Copyright (c) 2014, STMicroelectronics
 | 
					 * Copyright (c) 2014-2019, STMicroelectronics
 | 
				
			||||||
 * All rights reserved.
 | 
					 * All rights reserved.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 *  SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 * Redistribution and use in source and binary forms, with or without
 | 
					 * Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 * modification, are permitted provided that the following conditions are met:
 | 
					 * modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
/* mbed Microcontroller Library
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
* Copyright (c) 2006-2017 ARM Limited
 | 
					* Copyright (c) 2006-2019 ARM Limited
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* SPDX-License-Identifier: Apache-2.0
 | 
				
			||||||
*
 | 
					*
 | 
				
			||||||
* Licensed under the Apache License, Version 2.0 (the "License");
 | 
					* Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
* you may not use this file except in compliance with the License.
 | 
					* you may not use this file except in compliance with the License.
 | 
				
			||||||
| 
						 | 
					@ -35,6 +37,7 @@
 | 
				
			||||||
**/
 | 
					**/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "stm32f4xx.h"
 | 
					#include "stm32f4xx.h"
 | 
				
			||||||
 | 
					#include "nvic_addr.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*!< Uncomment the following line if you need to relocate your vector Table in
 | 
					/*!< Uncomment the following line if you need to relocate your vector Table in
 | 
				
			||||||
     Internal SRAM. */
 | 
					     Internal SRAM. */
 | 
				
			||||||
| 
						 | 
					@ -93,7 +96,7 @@ void SystemInit(void)
 | 
				
			||||||
#ifdef VECT_TAB_SRAM
 | 
					#ifdef VECT_TAB_SRAM
 | 
				
			||||||
    SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
 | 
					    SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
    SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
 | 
					    SCB->VTOR = NVIC_FLASH_VECTOR_ADDRESS; /* Vector Table Relocation in Internal FLASH */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,64 @@
 | 
				
			||||||
 | 
					#! armcc -E
 | 
				
			||||||
 | 
					; *****************************************
 | 
				
			||||||
 | 
					; *** Scatter-Loading Description File  ***
 | 
				
			||||||
 | 
					; *****************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_APP_START)
 | 
				
			||||||
 | 
					  #define MBED_APP_START            0x08000000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_APP_SIZE)
 | 
				
			||||||
 | 
					  #define MBED_APP_SIZE             0x00080000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_RAM_START)
 | 
				
			||||||
 | 
					  #define MBED_RAM_START            0x20000000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_RAM_SIZE)
 | 
				
			||||||
 | 
					  #define MBED_RAM_SIZE             0x00020000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MBED_RAM2_START             0x10000000
 | 
				
			||||||
 | 
					#define MBED_RAM2_SIZE              0x00010000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_BOOT_STACK_SIZE)
 | 
				
			||||||
 | 
					  #define MBED_BOOT_STACK_SIZE      0x400
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define VECTOR_SIZE                 0x188
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MBED_CRASH_REPORT_RAM_SIZE  0x100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MBED_IRAM1_START             (MBED_RAM_START + VECTOR_SIZE + MBED_CRASH_REPORT_RAM_SIZE)
 | 
				
			||||||
 | 
					#define MBED_IRAM1_SIZE              (MBED_RAM_SIZE - VECTOR_SIZE - MBED_CRASH_REPORT_RAM_SIZE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RAM_FIXED_SIZE              (MBED_BOOT_STACK_SIZE+VECTOR_SIZE+MBED_CRASH_REPORT_RAM_SIZE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LR_IROM1  MBED_APP_START  MBED_APP_SIZE  {    ; load region size_region
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ER_IROM1  MBED_APP_START  MBED_APP_SIZE  {  ; load address = execution address
 | 
				
			||||||
 | 
					   *.o (RESET, +First)
 | 
				
			||||||
 | 
					   *(InRoot$$Sections)
 | 
				
			||||||
 | 
					   .ANY (+RO)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RW_m_crash_data  (MBED_RAM_START+VECTOR_SIZE)  EMPTY MBED_CRASH_REPORT_RAM_SIZE { ; RW data
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RW_IRAM1  MBED_IRAM1_START  MBED_IRAM1_SIZE  {  ; RW data
 | 
				
			||||||
 | 
					   .ANY (+RW +ZI)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ARM_LIB_HEAP  AlignExpr(+0, 16)  EMPTY  (MBED_RAM_SIZE-RAM_FIXED_SIZE+MBED_RAM_START-AlignExpr(ImageLimit(RW_IRAM1), 16))  {
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RW_IRAM2  MBED_RAM2_START  MBED_RAM2_SIZE  {  ; CCM
 | 
				
			||||||
 | 
					   .ANY (CCMRAM)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ARM_LIB_STACK  (MBED_RAM_START+MBED_RAM_SIZE)  EMPTY  -MBED_BOOT_STACK_SIZE { ; stack
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,387 @@
 | 
				
			||||||
 | 
					;******************** (C) COPYRIGHT 2017 STMicroelectronics ********************
 | 
				
			||||||
 | 
					;* File Name          : startup_stm32f407xx.s
 | 
				
			||||||
 | 
					;* Author             : MCD Application Team
 | 
				
			||||||
 | 
					;* Description        : STM32F407xx devices vector table for MDK-ARM_MICRO toolchain. 
 | 
				
			||||||
 | 
					;*                      This module performs:
 | 
				
			||||||
 | 
					;*                      - Set the initial SP
 | 
				
			||||||
 | 
					;*                      - Set the initial PC == Reset_Handler
 | 
				
			||||||
 | 
					;*                      - Set the vector table entries with the exceptions ISR address
 | 
				
			||||||
 | 
					;*                      - Branches to __main in the C library (which eventually
 | 
				
			||||||
 | 
					;*                        calls main()).
 | 
				
			||||||
 | 
					;*                      After Reset the CortexM4 processor is in Thread mode,
 | 
				
			||||||
 | 
					;*                      priority is Privileged, and the Stack is set to Main.
 | 
				
			||||||
 | 
					;* <<< Use Configuration Wizard in Context Menu >>>   
 | 
				
			||||||
 | 
					;*******************************************************************************
 | 
				
			||||||
 | 
					; 
 | 
				
			||||||
 | 
					;* 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.
 | 
				
			||||||
 | 
					; 
 | 
				
			||||||
 | 
					;*******************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__initial_sp    EQU     0x20020000 ; Top of RAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                PRESERVE8
 | 
				
			||||||
 | 
					                THUMB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; Vector Table Mapped to Address 0 at Reset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                AREA    RESET, DATA, READONLY
 | 
				
			||||||
 | 
					                EXPORT  __Vectors
 | 
				
			||||||
 | 
					                EXPORT  __Vectors_End
 | 
				
			||||||
 | 
					                EXPORT  __Vectors_Size
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__Vectors       DCD     __initial_sp              ; Top of Stack
 | 
				
			||||||
 | 
					                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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                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 
 | 
				
			||||||
 | 
					__Vectors_End
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__Vectors_Size  EQU  __Vectors_End - __Vectors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                AREA    |.text|, CODE, READONLY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; Reset Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Reset_Handler   PROC
 | 
				
			||||||
 | 
					                EXPORT  Reset_Handler             [WEAK]
 | 
				
			||||||
 | 
					                IMPORT  SystemInit
 | 
				
			||||||
 | 
					                IMPORT  __main
 | 
				
			||||||
 | 
					                LDR     R0, =SystemInit
 | 
				
			||||||
 | 
					                BLX     R0
 | 
				
			||||||
 | 
					                LDR     R0, =__main
 | 
				
			||||||
 | 
					                BX      R0
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; Dummy Exception Handlers (infinite loops which can be modified)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NMI_Handler     PROC
 | 
				
			||||||
 | 
					                EXPORT  NMI_Handler               [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					HardFault_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  HardFault_Handler         [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					MemManage_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  MemManage_Handler         [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					BusFault_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  BusFault_Handler          [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					UsageFault_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  UsageFault_Handler        [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					SVC_Handler     PROC
 | 
				
			||||||
 | 
					                EXPORT  SVC_Handler               [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					DebugMon_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  DebugMon_Handler          [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					PendSV_Handler  PROC
 | 
				
			||||||
 | 
					                EXPORT  PendSV_Handler            [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					SysTick_Handler PROC
 | 
				
			||||||
 | 
					                EXPORT  SysTick_Handler           [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Default_Handler PROC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                EXPORT  WWDG_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  PVD_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TAMP_STAMP_IRQHandler           [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  RTC_WKUP_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  FLASH_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  RCC_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI0_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI1_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI2_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI3_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI4_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream0_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream1_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream2_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream3_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream4_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream5_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream6_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  ADC_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_TX_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_RX0_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_RX1_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_SCE_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI9_5_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_BRK_TIM9_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_UP_TIM10_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_TRG_COM_TIM11_IRQHandler   [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_CC_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM2_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM3_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM4_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C1_EV_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C1_ER_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C2_EV_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C2_ER_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SPI1_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SPI2_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART1_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART2_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART3_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI15_10_IRQHandler            [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  RTC_Alarm_IRQHandler            [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_FS_WKUP_IRQHandler          [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_BRK_TIM12_IRQHandler       [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_UP_TIM13_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_TRG_COM_TIM14_IRQHandler   [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_CC_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream7_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  FMC_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SDIO_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM5_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SPI3_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  UART4_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  UART5_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM6_DAC_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM7_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream0_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream1_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream2_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream3_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream4_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  ETH_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  ETH_WKUP_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_TX_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_RX0_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_RX1_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_SCE_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_FS_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream5_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream6_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream7_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART6_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C3_EV_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C3_ER_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_EP1_OUT_IRQHandler       [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_EP1_IN_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_WKUP_IRQHandler          [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DCMI_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  HASH_RNG_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  FPU_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WWDG_IRQHandler
 | 
				
			||||||
 | 
					PVD_IRQHandler
 | 
				
			||||||
 | 
					TAMP_STAMP_IRQHandler
 | 
				
			||||||
 | 
					RTC_WKUP_IRQHandler
 | 
				
			||||||
 | 
					FLASH_IRQHandler
 | 
				
			||||||
 | 
					RCC_IRQHandler
 | 
				
			||||||
 | 
					EXTI0_IRQHandler
 | 
				
			||||||
 | 
					EXTI1_IRQHandler
 | 
				
			||||||
 | 
					EXTI2_IRQHandler
 | 
				
			||||||
 | 
					EXTI3_IRQHandler
 | 
				
			||||||
 | 
					EXTI4_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream0_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream1_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream2_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream3_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream4_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream5_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream6_IRQHandler
 | 
				
			||||||
 | 
					ADC_IRQHandler
 | 
				
			||||||
 | 
					CAN1_TX_IRQHandler
 | 
				
			||||||
 | 
					CAN1_RX0_IRQHandler
 | 
				
			||||||
 | 
					CAN1_RX1_IRQHandler
 | 
				
			||||||
 | 
					CAN1_SCE_IRQHandler
 | 
				
			||||||
 | 
					EXTI9_5_IRQHandler
 | 
				
			||||||
 | 
					TIM1_BRK_TIM9_IRQHandler
 | 
				
			||||||
 | 
					TIM1_UP_TIM10_IRQHandler
 | 
				
			||||||
 | 
					TIM1_TRG_COM_TIM11_IRQHandler
 | 
				
			||||||
 | 
					TIM1_CC_IRQHandler
 | 
				
			||||||
 | 
					TIM2_IRQHandler
 | 
				
			||||||
 | 
					TIM3_IRQHandler
 | 
				
			||||||
 | 
					TIM4_IRQHandler
 | 
				
			||||||
 | 
					I2C1_EV_IRQHandler
 | 
				
			||||||
 | 
					I2C1_ER_IRQHandler
 | 
				
			||||||
 | 
					I2C2_EV_IRQHandler
 | 
				
			||||||
 | 
					I2C2_ER_IRQHandler
 | 
				
			||||||
 | 
					SPI1_IRQHandler
 | 
				
			||||||
 | 
					SPI2_IRQHandler
 | 
				
			||||||
 | 
					USART1_IRQHandler
 | 
				
			||||||
 | 
					USART2_IRQHandler
 | 
				
			||||||
 | 
					USART3_IRQHandler
 | 
				
			||||||
 | 
					EXTI15_10_IRQHandler
 | 
				
			||||||
 | 
					RTC_Alarm_IRQHandler
 | 
				
			||||||
 | 
					OTG_FS_WKUP_IRQHandler
 | 
				
			||||||
 | 
					TIM8_BRK_TIM12_IRQHandler
 | 
				
			||||||
 | 
					TIM8_UP_TIM13_IRQHandler
 | 
				
			||||||
 | 
					TIM8_TRG_COM_TIM14_IRQHandler
 | 
				
			||||||
 | 
					TIM8_CC_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream7_IRQHandler
 | 
				
			||||||
 | 
					FMC_IRQHandler
 | 
				
			||||||
 | 
					SDIO_IRQHandler
 | 
				
			||||||
 | 
					TIM5_IRQHandler
 | 
				
			||||||
 | 
					SPI3_IRQHandler
 | 
				
			||||||
 | 
					UART4_IRQHandler
 | 
				
			||||||
 | 
					UART5_IRQHandler
 | 
				
			||||||
 | 
					TIM6_DAC_IRQHandler
 | 
				
			||||||
 | 
					TIM7_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream0_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream1_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream2_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream3_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream4_IRQHandler
 | 
				
			||||||
 | 
					ETH_IRQHandler
 | 
				
			||||||
 | 
					ETH_WKUP_IRQHandler
 | 
				
			||||||
 | 
					CAN2_TX_IRQHandler
 | 
				
			||||||
 | 
					CAN2_RX0_IRQHandler
 | 
				
			||||||
 | 
					CAN2_RX1_IRQHandler
 | 
				
			||||||
 | 
					CAN2_SCE_IRQHandler
 | 
				
			||||||
 | 
					OTG_FS_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream5_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream6_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream7_IRQHandler
 | 
				
			||||||
 | 
					USART6_IRQHandler
 | 
				
			||||||
 | 
					I2C3_EV_IRQHandler
 | 
				
			||||||
 | 
					I2C3_ER_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_EP1_OUT_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_EP1_IN_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_WKUP_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_IRQHandler
 | 
				
			||||||
 | 
					DCMI_IRQHandler
 | 
				
			||||||
 | 
					HASH_RNG_IRQHandler
 | 
				
			||||||
 | 
					FPU_IRQHandler
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                ALIGN
 | 
				
			||||||
 | 
					                END
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,53 @@
 | 
				
			||||||
 | 
					#! armcc -E
 | 
				
			||||||
 | 
					; *****************************************
 | 
				
			||||||
 | 
					; *** Scatter-Loading Description File  ***
 | 
				
			||||||
 | 
					; *****************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; 512 KB FLASH (0x80000) + 192 KB SRAM (0x30000) + 64 KB CCBRAM (0x10000)+ 4 KB BKPSRAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_APP_START)
 | 
				
			||||||
 | 
					  #define MBED_APP_START 0x08000000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_APP_SIZE)
 | 
				
			||||||
 | 
					  #define MBED_APP_SIZE 0x80000
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_BOOT_STACK_SIZE)
 | 
				
			||||||
 | 
					  #define MBED_BOOT_STACK_SIZE 0x400
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define Stack_Size MBED_BOOT_STACK_SIZE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MBED_RAM_START              0x20000000
 | 
				
			||||||
 | 
					#define MBED_RAM_SIZE               0x30000
 | 
				
			||||||
 | 
					#define MBED_VECTTABLE_RAM_START    (MBED_RAM_START)
 | 
				
			||||||
 | 
					#define MBED_VECTTABLE_RAM_SIZE     0x1B0
 | 
				
			||||||
 | 
					#define MBED_CRASH_REPORT_RAM_START (MBED_VECTTABLE_RAM_START + MBED_VECTTABLE_RAM_SIZE)
 | 
				
			||||||
 | 
					#define MBED_CRASH_REPORT_RAM_SIZE  0x100
 | 
				
			||||||
 | 
					#define MBED_RAM0_START             (MBED_CRASH_REPORT_RAM_START + MBED_CRASH_REPORT_RAM_SIZE)
 | 
				
			||||||
 | 
					#define MBED_RAM0_SIZE              (MBED_RAM_SIZE - MBED_VECTTABLE_RAM_SIZE - MBED_CRASH_REPORT_RAM_SIZE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LR_IROM1 MBED_APP_START MBED_APP_SIZE  {    ; load region size_region
 | 
				
			||||||
 | 
					  ER_IROM1 MBED_APP_START MBED_APP_SIZE  {  ; load address = execution address
 | 
				
			||||||
 | 
					   *.o (RESET, +First)
 | 
				
			||||||
 | 
					   *(InRoot$$Sections)
 | 
				
			||||||
 | 
					   .ANY (+RO)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  ; Total: 107 vectors = 428 bytes (0x1AC) 8-byte aligned = 0x1B0 (0x1AC + 0x4) to be reserved in RAM
 | 
				
			||||||
 | 
					  RW_IRAM1 (MBED_RAM0_START) (MBED_RAM0_SIZE-Stack_Size)  {  ; RW data
 | 
				
			||||||
 | 
					   .ANY (+RW +ZI)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RW_IRAM2 0x10000000 0x00010000  {  ; CCM
 | 
				
			||||||
 | 
					   .ANY (CCMRAM)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  RW_m_crash_data MBED_CRASH_REPORT_RAM_START EMPTY MBED_CRASH_REPORT_RAM_SIZE { ; RW data
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ARM_LIB_STACK (0x20000188+0x0001FE78) EMPTY -Stack_Size { ; stack
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,389 @@
 | 
				
			||||||
 | 
					;******************** (C) COPYRIGHT 2017 STMicroelectronics ********************
 | 
				
			||||||
 | 
					;* File Name          : startup_stm32f407xx.s
 | 
				
			||||||
 | 
					;* Author             : MCD Application Team
 | 
				
			||||||
 | 
					;* Description        : STM32F407xx devices vector table for MDK-ARM_STD toolchain. 
 | 
				
			||||||
 | 
					;*                      This module performs:
 | 
				
			||||||
 | 
					;*                      - Set the initial SP
 | 
				
			||||||
 | 
					;*                      - Set the initial PC == Reset_Handler
 | 
				
			||||||
 | 
					;*                      - Set the vector table entries with the exceptions ISR address
 | 
				
			||||||
 | 
					;*                      - Branches to __main in the C library (which eventually
 | 
				
			||||||
 | 
					;*                        calls main()).
 | 
				
			||||||
 | 
					;*                      After Reset the CortexM4 processor is in Thread mode,
 | 
				
			||||||
 | 
					;*                      priority is Privileged, and the Stack is set to Main.
 | 
				
			||||||
 | 
					;* <<< Use Configuration Wizard in Context Menu >>>   
 | 
				
			||||||
 | 
					;*******************************************************************************
 | 
				
			||||||
 | 
					; 
 | 
				
			||||||
 | 
					;* 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.
 | 
				
			||||||
 | 
					; 
 | 
				
			||||||
 | 
					;*******************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__initial_sp        EQU     0x20020000  ; Top of RAM 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                PRESERVE8
 | 
				
			||||||
 | 
					                THUMB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; Vector Table Mapped to Address 0 at Reset
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                AREA    RESET, DATA, READONLY
 | 
				
			||||||
 | 
					                EXPORT  __Vectors
 | 
				
			||||||
 | 
					                EXPORT  __Vectors_End
 | 
				
			||||||
 | 
					                EXPORT  __Vectors_Size
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__Vectors       DCD     __initial_sp              ; Top of Stack
 | 
				
			||||||
 | 
					                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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                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 
 | 
				
			||||||
 | 
					__Vectors_End
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__Vectors_Size  EQU  __Vectors_End - __Vectors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                AREA    |.text|, CODE, READONLY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; Reset Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Reset_Handler   PROC
 | 
				
			||||||
 | 
					                EXPORT  Reset_Handler             [WEAK]
 | 
				
			||||||
 | 
					                IMPORT  SystemInit
 | 
				
			||||||
 | 
					                IMPORT  __main
 | 
				
			||||||
 | 
					                LDR     R0, =SystemInit
 | 
				
			||||||
 | 
					                BLX     R0
 | 
				
			||||||
 | 
					                LDR     R0, =__main
 | 
				
			||||||
 | 
					                BX      R0
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; Dummy Exception Handlers (infinite loops which can be modified)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NMI_Handler     PROC
 | 
				
			||||||
 | 
					                EXPORT  NMI_Handler               [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					HardFault_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  HardFault_Handler         [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					MemManage_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  MemManage_Handler         [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					BusFault_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  BusFault_Handler          [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					UsageFault_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  UsageFault_Handler        [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					SVC_Handler     PROC
 | 
				
			||||||
 | 
					                EXPORT  SVC_Handler               [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					DebugMon_Handler\
 | 
				
			||||||
 | 
					                PROC
 | 
				
			||||||
 | 
					                EXPORT  DebugMon_Handler          [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					PendSV_Handler  PROC
 | 
				
			||||||
 | 
					                EXPORT  PendSV_Handler            [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					SysTick_Handler PROC
 | 
				
			||||||
 | 
					                EXPORT  SysTick_Handler           [WEAK]
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Default_Handler PROC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                EXPORT  WWDG_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  PVD_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TAMP_STAMP_IRQHandler           [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  RTC_WKUP_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  FLASH_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  RCC_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI0_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI1_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI2_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI3_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI4_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream0_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream1_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream2_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream3_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream4_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream5_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream6_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  ADC_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_TX_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_RX0_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_RX1_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN1_SCE_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI9_5_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_BRK_TIM9_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_UP_TIM10_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_TRG_COM_TIM11_IRQHandler   [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM1_CC_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM2_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM3_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM4_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C1_EV_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C1_ER_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C2_EV_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C2_ER_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SPI1_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SPI2_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART1_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART2_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART3_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  EXTI15_10_IRQHandler            [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  RTC_Alarm_IRQHandler            [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_FS_WKUP_IRQHandler          [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_BRK_TIM12_IRQHandler       [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_UP_TIM13_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_TRG_COM_TIM14_IRQHandler   [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM8_CC_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA1_Stream7_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  FMC_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SDIO_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM5_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  SPI3_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  UART4_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  UART5_IRQHandler                [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM6_DAC_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  TIM7_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream0_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream1_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream2_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream3_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream4_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  ETH_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  ETH_WKUP_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_TX_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_RX0_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_RX1_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  CAN2_SCE_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_FS_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream5_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream6_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DMA2_Stream7_IRQHandler         [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  USART6_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C3_EV_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  I2C3_ER_IRQHandler              [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_EP1_OUT_IRQHandler       [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_EP1_IN_IRQHandler        [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_WKUP_IRQHandler          [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  OTG_HS_IRQHandler               [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  DCMI_IRQHandler                 [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  HASH_RNG_IRQHandler             [WEAK]
 | 
				
			||||||
 | 
					                EXPORT  FPU_IRQHandler                  [WEAK]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WWDG_IRQHandler
 | 
				
			||||||
 | 
					PVD_IRQHandler
 | 
				
			||||||
 | 
					TAMP_STAMP_IRQHandler
 | 
				
			||||||
 | 
					RTC_WKUP_IRQHandler
 | 
				
			||||||
 | 
					FLASH_IRQHandler
 | 
				
			||||||
 | 
					RCC_IRQHandler
 | 
				
			||||||
 | 
					EXTI0_IRQHandler
 | 
				
			||||||
 | 
					EXTI1_IRQHandler
 | 
				
			||||||
 | 
					EXTI2_IRQHandler
 | 
				
			||||||
 | 
					EXTI3_IRQHandler
 | 
				
			||||||
 | 
					EXTI4_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream0_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream1_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream2_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream3_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream4_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream5_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream6_IRQHandler
 | 
				
			||||||
 | 
					ADC_IRQHandler
 | 
				
			||||||
 | 
					CAN1_TX_IRQHandler
 | 
				
			||||||
 | 
					CAN1_RX0_IRQHandler
 | 
				
			||||||
 | 
					CAN1_RX1_IRQHandler
 | 
				
			||||||
 | 
					CAN1_SCE_IRQHandler
 | 
				
			||||||
 | 
					EXTI9_5_IRQHandler
 | 
				
			||||||
 | 
					TIM1_BRK_TIM9_IRQHandler
 | 
				
			||||||
 | 
					TIM1_UP_TIM10_IRQHandler
 | 
				
			||||||
 | 
					TIM1_TRG_COM_TIM11_IRQHandler
 | 
				
			||||||
 | 
					TIM1_CC_IRQHandler
 | 
				
			||||||
 | 
					TIM2_IRQHandler
 | 
				
			||||||
 | 
					TIM3_IRQHandler
 | 
				
			||||||
 | 
					TIM4_IRQHandler
 | 
				
			||||||
 | 
					I2C1_EV_IRQHandler
 | 
				
			||||||
 | 
					I2C1_ER_IRQHandler
 | 
				
			||||||
 | 
					I2C2_EV_IRQHandler
 | 
				
			||||||
 | 
					I2C2_ER_IRQHandler
 | 
				
			||||||
 | 
					SPI1_IRQHandler
 | 
				
			||||||
 | 
					SPI2_IRQHandler
 | 
				
			||||||
 | 
					USART1_IRQHandler
 | 
				
			||||||
 | 
					USART2_IRQHandler
 | 
				
			||||||
 | 
					USART3_IRQHandler
 | 
				
			||||||
 | 
					EXTI15_10_IRQHandler
 | 
				
			||||||
 | 
					RTC_Alarm_IRQHandler
 | 
				
			||||||
 | 
					OTG_FS_WKUP_IRQHandler
 | 
				
			||||||
 | 
					TIM8_BRK_TIM12_IRQHandler
 | 
				
			||||||
 | 
					TIM8_UP_TIM13_IRQHandler
 | 
				
			||||||
 | 
					TIM8_TRG_COM_TIM14_IRQHandler
 | 
				
			||||||
 | 
					TIM8_CC_IRQHandler
 | 
				
			||||||
 | 
					DMA1_Stream7_IRQHandler
 | 
				
			||||||
 | 
					FMC_IRQHandler
 | 
				
			||||||
 | 
					SDIO_IRQHandler
 | 
				
			||||||
 | 
					TIM5_IRQHandler
 | 
				
			||||||
 | 
					SPI3_IRQHandler
 | 
				
			||||||
 | 
					UART4_IRQHandler
 | 
				
			||||||
 | 
					UART5_IRQHandler
 | 
				
			||||||
 | 
					TIM6_DAC_IRQHandler
 | 
				
			||||||
 | 
					TIM7_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream0_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream1_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream2_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream3_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream4_IRQHandler
 | 
				
			||||||
 | 
					ETH_IRQHandler
 | 
				
			||||||
 | 
					ETH_WKUP_IRQHandler
 | 
				
			||||||
 | 
					CAN2_TX_IRQHandler
 | 
				
			||||||
 | 
					CAN2_RX0_IRQHandler
 | 
				
			||||||
 | 
					CAN2_RX1_IRQHandler
 | 
				
			||||||
 | 
					CAN2_SCE_IRQHandler
 | 
				
			||||||
 | 
					OTG_FS_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream5_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream6_IRQHandler
 | 
				
			||||||
 | 
					DMA2_Stream7_IRQHandler
 | 
				
			||||||
 | 
					USART6_IRQHandler
 | 
				
			||||||
 | 
					I2C3_EV_IRQHandler
 | 
				
			||||||
 | 
					I2C3_ER_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_EP1_OUT_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_EP1_IN_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_WKUP_IRQHandler
 | 
				
			||||||
 | 
					OTG_HS_IRQHandler
 | 
				
			||||||
 | 
					DCMI_IRQHandler
 | 
				
			||||||
 | 
					HASH_RNG_IRQHandler
 | 
				
			||||||
 | 
					FPU_IRQHandler
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					                B       .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                ENDP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                ALIGN
 | 
				
			||||||
 | 
					                END
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,176 @@
 | 
				
			||||||
 | 
					/* Linker script to configure memory regions. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(MBED_BOOT_STACK_SIZE)
 | 
				
			||||||
 | 
					    #define MBED_BOOT_STACK_SIZE 0x400
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STACK_SIZE = MBED_BOOT_STACK_SIZE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					M_CRASH_DATA_RAM_SIZE = 0x100;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MEMORY
 | 
				
			||||||
 | 
					{ 
 | 
				
			||||||
 | 
					  FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K
 | 
				
			||||||
 | 
					  CCM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K
 | 
				
			||||||
 | 
					  RAM (rwx) : ORIGIN = 0x20000188, LENGTH = 128k - 0x188 
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Linker script to place sections and symbol values. Should be used together
 | 
				
			||||||
 | 
					 * with other linker script that defines memory regions FLASH and RAM.
 | 
				
			||||||
 | 
					 * It references following symbols, which must be defined in code:
 | 
				
			||||||
 | 
					 *   Reset_Handler : Entry of reset handler
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * It defines following symbols, which code can use without definition:
 | 
				
			||||||
 | 
					 *   __exidx_start
 | 
				
			||||||
 | 
					 *   __exidx_end
 | 
				
			||||||
 | 
					 *   __etext
 | 
				
			||||||
 | 
					 *   __data_start__
 | 
				
			||||||
 | 
					 *   __preinit_array_start
 | 
				
			||||||
 | 
					 *   __preinit_array_end
 | 
				
			||||||
 | 
					 *   __init_array_start
 | 
				
			||||||
 | 
					 *   __init_array_end
 | 
				
			||||||
 | 
					 *   __fini_array_start
 | 
				
			||||||
 | 
					 *   __fini_array_end
 | 
				
			||||||
 | 
					 *   __data_end__
 | 
				
			||||||
 | 
					 *   __bss_start__
 | 
				
			||||||
 | 
					 *   __bss_end__
 | 
				
			||||||
 | 
					 *   __end__
 | 
				
			||||||
 | 
					 *   end
 | 
				
			||||||
 | 
					 *   __HeapLimit
 | 
				
			||||||
 | 
					 *   __StackLimit
 | 
				
			||||||
 | 
					 *   __StackTop
 | 
				
			||||||
 | 
					 *   __stack
 | 
				
			||||||
 | 
					 *   _estack
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					ENTRY(Reset_Handler)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SECTIONS
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    .text :
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        KEEP(*(.isr_vector))
 | 
				
			||||||
 | 
					        *(.text*)
 | 
				
			||||||
 | 
					        KEEP(*(.init))
 | 
				
			||||||
 | 
					        KEEP(*(.fini))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* .ctors */
 | 
				
			||||||
 | 
					        *crtbegin.o(.ctors)
 | 
				
			||||||
 | 
					        *crtbegin?.o(.ctors)
 | 
				
			||||||
 | 
					        *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
 | 
				
			||||||
 | 
					        *(SORT(.ctors.*))
 | 
				
			||||||
 | 
					        *(.ctors)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* .dtors */
 | 
				
			||||||
 | 
					        *crtbegin.o(.dtors)
 | 
				
			||||||
 | 
					        *crtbegin?.o(.dtors)
 | 
				
			||||||
 | 
					        *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
 | 
				
			||||||
 | 
					        *(SORT(.dtors.*))
 | 
				
			||||||
 | 
					        *(.dtors)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        *(.rodata*)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        KEEP(*(.eh_frame*))
 | 
				
			||||||
 | 
					    } > FLASH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .ARM.extab :
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        *(.ARM.extab* .gnu.linkonce.armextab.*)
 | 
				
			||||||
 | 
					    } > FLASH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    __exidx_start = .;
 | 
				
			||||||
 | 
					    .ARM.exidx :
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
 | 
				
			||||||
 | 
					    } > FLASH
 | 
				
			||||||
 | 
					    __exidx_end = .;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    __etext = .;
 | 
				
			||||||
 | 
					    _sidata = .;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .crash_data_ram :
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        __CRASH_DATA_RAM__ = .;
 | 
				
			||||||
 | 
					        __CRASH_DATA_RAM_START__ = .; /* Create a global symbol at data start */
 | 
				
			||||||
 | 
					        KEEP(*(.keep.crash_data_ram))
 | 
				
			||||||
 | 
					        *(.m_crash_data_ram)     /* This is a user defined section */
 | 
				
			||||||
 | 
					        . += M_CRASH_DATA_RAM_SIZE;
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        __CRASH_DATA_RAM_END__ = .; /* Define a global symbol at data end */
 | 
				
			||||||
 | 
					    } > RAM 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .data : AT (__etext)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        __data_start__ = .;
 | 
				
			||||||
 | 
					        _sdata = .;
 | 
				
			||||||
 | 
					        *(vtable)
 | 
				
			||||||
 | 
					        *(.data*)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        /* preinit data */
 | 
				
			||||||
 | 
					        PROVIDE_HIDDEN (__preinit_array_start = .);
 | 
				
			||||||
 | 
					        KEEP(*(.preinit_array))
 | 
				
			||||||
 | 
					        PROVIDE_HIDDEN (__preinit_array_end = .);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        /* init data */
 | 
				
			||||||
 | 
					        PROVIDE_HIDDEN (__init_array_start = .);
 | 
				
			||||||
 | 
					        KEEP(*(SORT(.init_array.*)))
 | 
				
			||||||
 | 
					        KEEP(*(.init_array))
 | 
				
			||||||
 | 
					        PROVIDE_HIDDEN (__init_array_end = .);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        /* finit data */
 | 
				
			||||||
 | 
					        PROVIDE_HIDDEN (__fini_array_start = .);
 | 
				
			||||||
 | 
					        KEEP(*(SORT(.fini_array.*)))
 | 
				
			||||||
 | 
					        KEEP(*(.fini_array))
 | 
				
			||||||
 | 
					        PROVIDE_HIDDEN (__fini_array_end = .);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        KEEP(*(.jcr*))
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        /* All data end */
 | 
				
			||||||
 | 
					        __data_end__ = .;
 | 
				
			||||||
 | 
					        _edata = .;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    } > RAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .bss :
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        __bss_start__ = .;
 | 
				
			||||||
 | 
					        _sbss = .;
 | 
				
			||||||
 | 
					        *(.bss*)
 | 
				
			||||||
 | 
					        *(COMMON)
 | 
				
			||||||
 | 
					        . = ALIGN(8);
 | 
				
			||||||
 | 
					        __bss_end__ = .;
 | 
				
			||||||
 | 
					        _ebss = .;
 | 
				
			||||||
 | 
					    } > RAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .heap (COPY):
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        __end__ = .;
 | 
				
			||||||
 | 
					        end = __end__;
 | 
				
			||||||
 | 
					        *(.heap*)
 | 
				
			||||||
 | 
					        . = ORIGIN(RAM) + LENGTH(RAM) - STACK_SIZE;
 | 
				
			||||||
 | 
					        __HeapLimit = .;
 | 
				
			||||||
 | 
					    } > RAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* .stack_dummy section doesn't contains any symbols. It is only
 | 
				
			||||||
 | 
					     * used for linker to calculate size of stack sections, and assign
 | 
				
			||||||
 | 
					     * values to stack symbols later */
 | 
				
			||||||
 | 
					    .stack_dummy (COPY):
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        *(.stack*)
 | 
				
			||||||
 | 
					    } > RAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Set stack top to end of RAM, and stack limit move down by
 | 
				
			||||||
 | 
					     * size of stack_dummy section */
 | 
				
			||||||
 | 
					    __StackTop = ORIGIN(RAM) + LENGTH(RAM);
 | 
				
			||||||
 | 
					    _estack = __StackTop;
 | 
				
			||||||
 | 
					    __StackLimit = __StackTop - STACK_SIZE;
 | 
				
			||||||
 | 
					    PROVIDE(__stack = __StackTop);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Check if data + heap + stack exceeds RAM limit */
 | 
				
			||||||
 | 
					    ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,526 @@
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  ******************************************************************************
 | 
				
			||||||
 | 
					  * @file      startup_stm32f407xx.s
 | 
				
			||||||
 | 
					  * @author    MCD Application Team
 | 
				
			||||||
 | 
					  * @brief     STM32F407xx Devices vector table for GCC based toolchains. 
 | 
				
			||||||
 | 
					  *            This module performs:
 | 
				
			||||||
 | 
					  *                - Set the initial SP
 | 
				
			||||||
 | 
					  *                - Set the initial PC == Reset_Handler,
 | 
				
			||||||
 | 
					  *                - 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 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.
 | 
				
			||||||
 | 
					  *
 | 
				
			||||||
 | 
					  ******************************************************************************
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					  .syntax unified
 | 
				
			||||||
 | 
					  .cpu cortex-m4
 | 
				
			||||||
 | 
					  .fpu softvfp
 | 
				
			||||||
 | 
					  .thumb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.global  g_pfnVectors
 | 
				
			||||||
 | 
					.global  Default_Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* start address for the initialization values of the .data section. 
 | 
				
			||||||
 | 
					defined in linker script */
 | 
				
			||||||
 | 
					.word  _sidata
 | 
				
			||||||
 | 
					/* start address for the .data section. defined in linker script */  
 | 
				
			||||||
 | 
					.word  _sdata
 | 
				
			||||||
 | 
					/* end address for the .data section. defined in linker script */
 | 
				
			||||||
 | 
					.word  _edata
 | 
				
			||||||
 | 
					/* start address for the .bss section. defined in linker script */
 | 
				
			||||||
 | 
					.word  _sbss
 | 
				
			||||||
 | 
					/* end address for the .bss section. defined in linker script */
 | 
				
			||||||
 | 
					.word  _ebss
 | 
				
			||||||
 | 
					/* stack used for SystemInit_ExtMemCtl; always internal RAM used */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @brief  This is the code that gets called when the processor first
 | 
				
			||||||
 | 
					 *          starts execution following a reset event. Only the absolutely
 | 
				
			||||||
 | 
					 *          necessary set is performed, after which the application
 | 
				
			||||||
 | 
					 *          supplied main() routine is called. 
 | 
				
			||||||
 | 
					 * @param  None
 | 
				
			||||||
 | 
					 * @retval : None
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .section  .text.Reset_Handler
 | 
				
			||||||
 | 
					  .weak  Reset_Handler
 | 
				
			||||||
 | 
					  .type  Reset_Handler, %function
 | 
				
			||||||
 | 
					Reset_Handler:  
 | 
				
			||||||
 | 
					  ldr   sp, =_estack     /* set stack pointer */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Copy the data segment initializers from flash to SRAM */  
 | 
				
			||||||
 | 
					  movs  r1, #0
 | 
				
			||||||
 | 
					  b  LoopCopyDataInit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CopyDataInit:
 | 
				
			||||||
 | 
					  ldr  r3, =_sidata
 | 
				
			||||||
 | 
					  ldr  r3, [r3, r1]
 | 
				
			||||||
 | 
					  str  r3, [r0, r1]
 | 
				
			||||||
 | 
					  adds  r1, r1, #4
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					LoopCopyDataInit:
 | 
				
			||||||
 | 
					  ldr  r0, =_sdata
 | 
				
			||||||
 | 
					  ldr  r3, =_edata
 | 
				
			||||||
 | 
					  adds  r2, r0, r1
 | 
				
			||||||
 | 
					  cmp  r2, r3
 | 
				
			||||||
 | 
					  bcc  CopyDataInit
 | 
				
			||||||
 | 
					  ldr  r2, =_sbss
 | 
				
			||||||
 | 
					  b  LoopFillZerobss
 | 
				
			||||||
 | 
					/* Zero fill the bss segment. */  
 | 
				
			||||||
 | 
					FillZerobss:
 | 
				
			||||||
 | 
					  movs  r3, #0
 | 
				
			||||||
 | 
					  str  r3, [r2], #4
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					LoopFillZerobss:
 | 
				
			||||||
 | 
					  ldr  r3, = _ebss
 | 
				
			||||||
 | 
					  cmp  r2, r3
 | 
				
			||||||
 | 
					  bcc  FillZerobss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Call the clock system intitialization function.*/
 | 
				
			||||||
 | 
					  bl  SystemInit   
 | 
				
			||||||
 | 
					/* Call static constructors */
 | 
				
			||||||
 | 
					  //bl __libc_init_array
 | 
				
			||||||
 | 
					/* Call the application's entry point.*/
 | 
				
			||||||
 | 
					  //bl  main
 | 
				
			||||||
 | 
					  // Calling the crt0 'cold-start' entry point. There __libc_init_array is called
 | 
				
			||||||
 | 
					  // and when existing hardware_init_hook() and software_init_hook() before 
 | 
				
			||||||
 | 
					  // starting main(). software_init_hook() is available and has to be called due 
 | 
				
			||||||
 | 
					  // to initializsation when using rtos.
 | 
				
			||||||
 | 
					  bl _start
 | 
				
			||||||
 | 
					  bx  lr    
 | 
				
			||||||
 | 
					.size  Reset_Handler, .-Reset_Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @brief  This is the code that gets called when the processor receives an 
 | 
				
			||||||
 | 
					 *         unexpected interrupt.  This simply enters an infinite loop, preserving
 | 
				
			||||||
 | 
					 *         the system state for examination by a debugger.
 | 
				
			||||||
 | 
					 * @param  None     
 | 
				
			||||||
 | 
					 * @retval None       
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					    .section  .text.Default_Handler,"ax",%progbits
 | 
				
			||||||
 | 
					Default_Handler:
 | 
				
			||||||
 | 
					Infinite_Loop:
 | 
				
			||||||
 | 
					  b  Infinite_Loop
 | 
				
			||||||
 | 
					  .size  Default_Handler, .-Default_Handler
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* The minimal vector table for a Cortex M3. Note that the proper constructs
 | 
				
			||||||
 | 
					* must be placed on this to ensure that it ends up at physical address
 | 
				
			||||||
 | 
					* 0x0000.0000.
 | 
				
			||||||
 | 
					* 
 | 
				
			||||||
 | 
					*******************************************************************************/
 | 
				
			||||||
 | 
					   .section  .isr_vector,"a",%progbits
 | 
				
			||||||
 | 
					  .type  g_pfnVectors, %object
 | 
				
			||||||
 | 
					  .size  g_pfnVectors, .-g_pfnVectors
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					g_pfnVectors:
 | 
				
			||||||
 | 
					  .word  _estack
 | 
				
			||||||
 | 
					  .word  Reset_Handler
 | 
				
			||||||
 | 
					  .word  NMI_Handler
 | 
				
			||||||
 | 
					  .word  HardFault_Handler
 | 
				
			||||||
 | 
					  .word  MemManage_Handler
 | 
				
			||||||
 | 
					  .word  BusFault_Handler
 | 
				
			||||||
 | 
					  .word  UsageFault_Handler
 | 
				
			||||||
 | 
					  .word  0
 | 
				
			||||||
 | 
					  .word  0
 | 
				
			||||||
 | 
					  .word  0
 | 
				
			||||||
 | 
					  .word  0
 | 
				
			||||||
 | 
					  .word  SVC_Handler
 | 
				
			||||||
 | 
					  .word  DebugMon_Handler
 | 
				
			||||||
 | 
					  .word  0
 | 
				
			||||||
 | 
					  .word  PendSV_Handler
 | 
				
			||||||
 | 
					  .word  SysTick_Handler
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  /* External Interrupts */
 | 
				
			||||||
 | 
					  .word     WWDG_IRQHandler                   /* Window WatchDog              */                                        
 | 
				
			||||||
 | 
					  .word     PVD_IRQHandler                    /* PVD through EXTI Line detection */                        
 | 
				
			||||||
 | 
					  .word     TAMP_STAMP_IRQHandler             /* Tamper and TimeStamps through the EXTI line */            
 | 
				
			||||||
 | 
					  .word     RTC_WKUP_IRQHandler               /* RTC Wakeup through the EXTI line */                      
 | 
				
			||||||
 | 
					  .word     FLASH_IRQHandler                  /* FLASH                        */                                          
 | 
				
			||||||
 | 
					  .word     RCC_IRQHandler                    /* RCC                          */                                            
 | 
				
			||||||
 | 
					  .word     EXTI0_IRQHandler                  /* EXTI Line0                   */                        
 | 
				
			||||||
 | 
					  .word     EXTI1_IRQHandler                  /* EXTI Line1                   */                          
 | 
				
			||||||
 | 
					  .word     EXTI2_IRQHandler                  /* EXTI Line2                   */                          
 | 
				
			||||||
 | 
					  .word     EXTI3_IRQHandler                  /* EXTI Line3                   */                          
 | 
				
			||||||
 | 
					  .word     EXTI4_IRQHandler                  /* EXTI Line4                   */                          
 | 
				
			||||||
 | 
					  .word     DMA1_Stream0_IRQHandler           /* DMA1 Stream 0                */                  
 | 
				
			||||||
 | 
					  .word     DMA1_Stream1_IRQHandler           /* DMA1 Stream 1                */                   
 | 
				
			||||||
 | 
					  .word     DMA1_Stream2_IRQHandler           /* DMA1 Stream 2                */                   
 | 
				
			||||||
 | 
					  .word     DMA1_Stream3_IRQHandler           /* DMA1 Stream 3                */                   
 | 
				
			||||||
 | 
					  .word     DMA1_Stream4_IRQHandler           /* DMA1 Stream 4                */                   
 | 
				
			||||||
 | 
					  .word     DMA1_Stream5_IRQHandler           /* DMA1 Stream 5                */                   
 | 
				
			||||||
 | 
					  .word     DMA1_Stream6_IRQHandler           /* DMA1 Stream 6                */                   
 | 
				
			||||||
 | 
					  .word     ADC_IRQHandler                    /* ADC1, ADC2 and ADC3s         */                   
 | 
				
			||||||
 | 
					  .word     CAN1_TX_IRQHandler                /* CAN1 TX                      */                         
 | 
				
			||||||
 | 
					  .word     CAN1_RX0_IRQHandler               /* CAN1 RX0                     */                          
 | 
				
			||||||
 | 
					  .word     CAN1_RX1_IRQHandler               /* CAN1 RX1                     */                          
 | 
				
			||||||
 | 
					  .word     CAN1_SCE_IRQHandler               /* CAN1 SCE                     */                          
 | 
				
			||||||
 | 
					  .word     EXTI9_5_IRQHandler                /* External Line[9:5]s          */                          
 | 
				
			||||||
 | 
					  .word     TIM1_BRK_TIM9_IRQHandler          /* TIM1 Break and TIM9          */         
 | 
				
			||||||
 | 
					  .word     TIM1_UP_TIM10_IRQHandler          /* TIM1 Update and TIM10        */         
 | 
				
			||||||
 | 
					  .word     TIM1_TRG_COM_TIM11_IRQHandler     /* TIM1 Trigger and Commutation and TIM11 */
 | 
				
			||||||
 | 
					  .word     TIM1_CC_IRQHandler                /* TIM1 Capture Compare         */                          
 | 
				
			||||||
 | 
					  .word     TIM2_IRQHandler                   /* TIM2                         */                   
 | 
				
			||||||
 | 
					  .word     TIM3_IRQHandler                   /* TIM3                         */                   
 | 
				
			||||||
 | 
					  .word     TIM4_IRQHandler                   /* TIM4                         */                   
 | 
				
			||||||
 | 
					  .word     I2C1_EV_IRQHandler                /* I2C1 Event                   */                          
 | 
				
			||||||
 | 
					  .word     I2C1_ER_IRQHandler                /* I2C1 Error                   */                          
 | 
				
			||||||
 | 
					  .word     I2C2_EV_IRQHandler                /* I2C2 Event                   */                          
 | 
				
			||||||
 | 
					  .word     I2C2_ER_IRQHandler                /* I2C2 Error                   */                            
 | 
				
			||||||
 | 
					  .word     SPI1_IRQHandler                   /* SPI1                         */                   
 | 
				
			||||||
 | 
					  .word     SPI2_IRQHandler                   /* SPI2                         */                   
 | 
				
			||||||
 | 
					  .word     USART1_IRQHandler                 /* USART1                       */                   
 | 
				
			||||||
 | 
					  .word     USART2_IRQHandler                 /* USART2                       */                   
 | 
				
			||||||
 | 
					  .word     USART3_IRQHandler                 /* USART3                       */                   
 | 
				
			||||||
 | 
					  .word     EXTI15_10_IRQHandler              /* External Line[15:10]s        */                          
 | 
				
			||||||
 | 
					  .word     RTC_Alarm_IRQHandler              /* RTC Alarm (A and B) through EXTI Line */                 
 | 
				
			||||||
 | 
					  .word     OTG_FS_WKUP_IRQHandler            /* USB OTG FS Wakeup through EXTI line */                       
 | 
				
			||||||
 | 
					  .word     TIM8_BRK_TIM12_IRQHandler         /* TIM8 Break and TIM12         */         
 | 
				
			||||||
 | 
					  .word     TIM8_UP_TIM13_IRQHandler          /* TIM8 Update and TIM13        */         
 | 
				
			||||||
 | 
					  .word     TIM8_TRG_COM_TIM14_IRQHandler     /* TIM8 Trigger and Commutation and TIM14 */
 | 
				
			||||||
 | 
					  .word     TIM8_CC_IRQHandler                /* TIM8 Capture Compare         */                          
 | 
				
			||||||
 | 
					  .word     DMA1_Stream7_IRQHandler           /* DMA1 Stream7                 */                          
 | 
				
			||||||
 | 
					  .word     FSMC_IRQHandler                   /* FSMC                         */                   
 | 
				
			||||||
 | 
					  .word     SDIO_IRQHandler                   /* SDIO                         */                   
 | 
				
			||||||
 | 
					  .word     TIM5_IRQHandler                   /* TIM5                         */                   
 | 
				
			||||||
 | 
					  .word     SPI3_IRQHandler                   /* SPI3                         */                   
 | 
				
			||||||
 | 
					  .word     UART4_IRQHandler                  /* UART4                        */                   
 | 
				
			||||||
 | 
					  .word     UART5_IRQHandler                  /* UART5                        */                   
 | 
				
			||||||
 | 
					  .word     TIM6_DAC_IRQHandler               /* TIM6 and DAC1&2 underrun errors */                   
 | 
				
			||||||
 | 
					  .word     TIM7_IRQHandler                   /* TIM7                         */
 | 
				
			||||||
 | 
					  .word     DMA2_Stream0_IRQHandler           /* DMA2 Stream 0                */                   
 | 
				
			||||||
 | 
					  .word     DMA2_Stream1_IRQHandler           /* DMA2 Stream 1                */                   
 | 
				
			||||||
 | 
					  .word     DMA2_Stream2_IRQHandler           /* DMA2 Stream 2                */                   
 | 
				
			||||||
 | 
					  .word     DMA2_Stream3_IRQHandler           /* DMA2 Stream 3                */                   
 | 
				
			||||||
 | 
					  .word     DMA2_Stream4_IRQHandler           /* DMA2 Stream 4                */                   
 | 
				
			||||||
 | 
					  .word     ETH_IRQHandler                    /* Ethernet                     */                   
 | 
				
			||||||
 | 
					  .word     ETH_WKUP_IRQHandler               /* Ethernet Wakeup through EXTI line */                     
 | 
				
			||||||
 | 
					  .word     CAN2_TX_IRQHandler                /* CAN2 TX                      */                          
 | 
				
			||||||
 | 
					  .word     CAN2_RX0_IRQHandler               /* CAN2 RX0                     */                          
 | 
				
			||||||
 | 
					  .word     CAN2_RX1_IRQHandler               /* CAN2 RX1                     */                          
 | 
				
			||||||
 | 
					  .word     CAN2_SCE_IRQHandler               /* CAN2 SCE                     */                          
 | 
				
			||||||
 | 
					  .word     OTG_FS_IRQHandler                 /* USB OTG FS                   */                   
 | 
				
			||||||
 | 
					  .word     DMA2_Stream5_IRQHandler           /* DMA2 Stream 5                */                   
 | 
				
			||||||
 | 
					  .word     DMA2_Stream6_IRQHandler           /* DMA2 Stream 6                */                   
 | 
				
			||||||
 | 
					  .word     DMA2_Stream7_IRQHandler           /* DMA2 Stream 7                */                   
 | 
				
			||||||
 | 
					  .word     USART6_IRQHandler                 /* USART6                       */                    
 | 
				
			||||||
 | 
					  .word     I2C3_EV_IRQHandler                /* I2C3 event                   */                          
 | 
				
			||||||
 | 
					  .word     I2C3_ER_IRQHandler                /* I2C3 error                   */                          
 | 
				
			||||||
 | 
					  .word     OTG_HS_EP1_OUT_IRQHandler         /* USB OTG HS End Point 1 Out   */                   
 | 
				
			||||||
 | 
					  .word     OTG_HS_EP1_IN_IRQHandler          /* USB OTG HS End Point 1 In    */                   
 | 
				
			||||||
 | 
					  .word     OTG_HS_WKUP_IRQHandler            /* USB OTG HS Wakeup through EXTI */                         
 | 
				
			||||||
 | 
					  .word     OTG_HS_IRQHandler                 /* USB OTG HS                   */                   
 | 
				
			||||||
 | 
					  .word     DCMI_IRQHandler                   /* DCMI                         */                   
 | 
				
			||||||
 | 
					  .word     0                                 /* CRYP crypto                  */                   
 | 
				
			||||||
 | 
					  .word     HASH_RNG_IRQHandler               /* Hash and Rng                 */
 | 
				
			||||||
 | 
					  .word     FPU_IRQHandler                    /* FPU                          */
 | 
				
			||||||
 | 
					                         
 | 
				
			||||||
 | 
					                         
 | 
				
			||||||
 | 
					/*******************************************************************************
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* Provide weak aliases for each Exception handler to the Default_Handler. 
 | 
				
			||||||
 | 
					* As they are weak aliases, any function with the same name will override 
 | 
				
			||||||
 | 
					* this definition.
 | 
				
			||||||
 | 
					* 
 | 
				
			||||||
 | 
					*******************************************************************************/
 | 
				
			||||||
 | 
					   .weak      NMI_Handler
 | 
				
			||||||
 | 
					   .thumb_set NMI_Handler,Default_Handler
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					   .weak      HardFault_Handler
 | 
				
			||||||
 | 
					   .thumb_set HardFault_Handler,Default_Handler
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					   .weak      MemManage_Handler
 | 
				
			||||||
 | 
					   .thumb_set MemManage_Handler,Default_Handler
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					   .weak      BusFault_Handler
 | 
				
			||||||
 | 
					   .thumb_set BusFault_Handler,Default_Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .weak      UsageFault_Handler
 | 
				
			||||||
 | 
					   .thumb_set UsageFault_Handler,Default_Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .weak      SVC_Handler
 | 
				
			||||||
 | 
					   .thumb_set SVC_Handler,Default_Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .weak      DebugMon_Handler
 | 
				
			||||||
 | 
					   .thumb_set DebugMon_Handler,Default_Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .weak      PendSV_Handler
 | 
				
			||||||
 | 
					   .thumb_set PendSV_Handler,Default_Handler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .weak      SysTick_Handler
 | 
				
			||||||
 | 
					   .thumb_set SysTick_Handler,Default_Handler              
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					   .weak      WWDG_IRQHandler                   
 | 
				
			||||||
 | 
					   .thumb_set WWDG_IRQHandler,Default_Handler      
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      PVD_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set PVD_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					   .weak      TAMP_STAMP_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TAMP_STAMP_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      RTC_WKUP_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set RTC_WKUP_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      FLASH_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set FLASH_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      RCC_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set RCC_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      EXTI0_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set EXTI0_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      EXTI1_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set EXTI1_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      EXTI2_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set EXTI2_IRQHandler,Default_Handler 
 | 
				
			||||||
 | 
					                 
 | 
				
			||||||
 | 
					   .weak      EXTI3_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set EXTI3_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					   .weak      EXTI4_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set EXTI4_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream0_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream0_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					         
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream1_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream1_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream2_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream2_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream3_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream3_IRQHandler,Default_Handler 
 | 
				
			||||||
 | 
					                 
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream4_IRQHandler              
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream4_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream5_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream5_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream6_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream6_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      ADC_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set ADC_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					   .weak      CAN1_TX_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set CAN1_TX_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      CAN1_RX0_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set CAN1_RX0_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
 | 
					   .weak      CAN1_RX1_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set CAN1_RX1_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      CAN1_SCE_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set CAN1_SCE_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      EXTI9_5_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set EXTI9_5_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      TIM1_BRK_TIM9_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      TIM1_UP_TIM10_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					   .weak      TIM1_TRG_COM_TIM11_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					   .weak      TIM1_CC_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set TIM1_CC_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      TIM2_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM2_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      TIM3_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM3_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      TIM4_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM4_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      I2C1_EV_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set I2C1_EV_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      I2C1_ER_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set I2C1_ER_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      I2C2_EV_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set I2C2_EV_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      I2C2_ER_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set I2C2_ER_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
 | 
					   .weak      SPI1_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set SPI1_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					   .weak      SPI2_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set SPI2_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      USART1_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set USART1_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      USART2_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set USART2_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      USART3_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set USART3_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      EXTI15_10_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set EXTI15_10_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					   .weak      RTC_Alarm_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set RTC_Alarm_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      OTG_FS_WKUP_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      TIM8_BRK_TIM12_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					         
 | 
				
			||||||
 | 
					   .weak      TIM8_UP_TIM13_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					         
 | 
				
			||||||
 | 
					   .weak      TIM8_TRG_COM_TIM14_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					   .weak      TIM8_CC_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set TIM8_CC_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA1_Stream7_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA1_Stream7_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      FSMC_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set FSMC_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      SDIO_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set SDIO_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      TIM5_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM5_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      SPI3_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set SPI3_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      UART4_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set UART4_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      UART5_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set UART5_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      TIM6_DAC_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set TIM6_DAC_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					   .weak      TIM7_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set TIM7_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					         
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream0_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream0_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream1_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream1_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream2_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream2_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream3_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream3_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream4_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream4_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      ETH_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set ETH_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      ETH_WKUP_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set ETH_WKUP_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      CAN2_TX_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set CAN2_TX_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
 | 
					   .weak      CAN2_RX0_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set CAN2_RX0_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
 | 
					   .weak      CAN2_RX1_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set CAN2_RX1_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
 | 
					   .weak      CAN2_SCE_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set CAN2_SCE_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
 | 
					   .weak      OTG_FS_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set OTG_FS_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream5_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream5_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream6_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream6_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DMA2_Stream7_IRQHandler               
 | 
				
			||||||
 | 
					   .thumb_set DMA2_Stream7_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      USART6_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set USART6_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					   .weak      I2C3_EV_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set I2C3_EV_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					   .weak      I2C3_ER_IRQHandler   
 | 
				
			||||||
 | 
					   .thumb_set I2C3_ER_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					   .weak      OTG_HS_EP1_OUT_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					   .weak      OTG_HS_EP1_IN_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					   .weak      OTG_HS_WKUP_IRQHandler         
 | 
				
			||||||
 | 
					   .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					   .weak      OTG_HS_IRQHandler      
 | 
				
			||||||
 | 
					   .thumb_set OTG_HS_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                  
 | 
				
			||||||
 | 
					   .weak      DCMI_IRQHandler            
 | 
				
			||||||
 | 
					   .thumb_set DCMI_IRQHandler,Default_Handler
 | 
				
			||||||
 | 
					                                   
 | 
				
			||||||
 | 
					   .weak      HASH_RNG_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set HASH_RNG_IRQHandler,Default_Handler   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .weak      FPU_IRQHandler                  
 | 
				
			||||||
 | 
					   .thumb_set FPU_IRQHandler,Default_Handler  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,636 @@
 | 
				
			||||||
 | 
					;/******************** (C) COPYRIGHT 2017 STMicroelectronics ********************
 | 
				
			||||||
 | 
					;* 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.
 | 
				
			||||||
 | 
					;********************************************************************************
 | 
				
			||||||
 | 
					;* 
 | 
				
			||||||
 | 
					;* 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.
 | 
				
			||||||
 | 
					;* 
 | 
				
			||||||
 | 
					;*******************************************************************************
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					; 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,42 @@
 | 
				
			||||||
 | 
					/*###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 __NVIC_start__          = 0x20000000;
 | 
				
			||||||
 | 
					define symbol __NVIC_end__            = 0x20000187;
 | 
				
			||||||
 | 
					define symbol __region_CRASH_DATA_RAM_start__  = 0x20000188;
 | 
				
			||||||
 | 
					define symbol __region_CRASH_DATA_RAM_end__    = 0x20000287;
 | 
				
			||||||
 | 
					define symbol __ICFEDIT_region_RAM_start__ = 0x20000288;
 | 
				
			||||||
 | 
					define symbol __ICFEDIT_region_RAM_end__   = 0x2001FFFF;
 | 
				
			||||||
 | 
					/*-Sizes-*/
 | 
				
			||||||
 | 
					if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
 | 
				
			||||||
 | 
					    define symbol MBED_BOOT_STACK_SIZE = 0x400;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					define symbol __ICFEDIT_size_cstack__ = MBED_BOOT_STACK_SIZE;
 | 
				
			||||||
 | 
					define symbol __ICFEDIT_size_heap__   = 0x8000;
 | 
				
			||||||
 | 
					/**** 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 CRASH_DATA_RAM_region = mem:[from __region_CRASH_DATA_RAM_start__ to __region_CRASH_DATA_RAM_end__];
 | 
				
			||||||
 | 
					define region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Define Crash Data Symbols */
 | 
				
			||||||
 | 
					define exported symbol __CRASH_DATA_RAM_START__ = __region_CRASH_DATA_RAM_start__;
 | 
				
			||||||
 | 
					define exported symbol __CRASH_DATA_RAM_END__ = __region_CRASH_DATA_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 HEAP, block CSTACK };
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
 | 
					 *******************************************************************************
 | 
				
			||||||
 | 
					 * Copyright (c) 2014-2019, STMicroelectronics
 | 
				
			||||||
 | 
					 * All rights reserved.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * 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.
 | 
				
			||||||
 | 
					 *******************************************************************************
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef MBED_CMSIS_NVIC_H
 | 
				
			||||||
 | 
					#define MBED_CMSIS_NVIC_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// STM32F407VG
 | 
				
			||||||
 | 
					// CORE: 16 vectors = 64 bytes from 0x00 to 0x3F
 | 
				
			||||||
 | 
					// MCU Peripherals: 82 vectors = 328 bytes from 0x40 to ...
 | 
				
			||||||
 | 
					// Total: 98 vectors = 392 bytes (0x188) to be reserved in RAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define NVIC_NUM_VECTORS        98
 | 
				
			||||||
 | 
					#define NVIC_RAM_VECTOR_ADDRESS 0x20000000    // Vectors positioned at start of RAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,57 @@
 | 
				
			||||||
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
 | 
					 *******************************************************************************
 | 
				
			||||||
 | 
					 * Copyright (c) 2016-2019, STMicroelectronics
 | 
				
			||||||
 | 
					 * All rights reserved.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * 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.
 | 
				
			||||||
 | 
					 *******************************************************************************
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#ifndef MBED_FLASH_DATA_H
 | 
				
			||||||
 | 
					#define MBED_FLASH_DATA_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "device.h"
 | 
				
			||||||
 | 
					#include <stdint.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if DEVICE_FLASH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Exported types ------------------------------------------------------------*/
 | 
				
			||||||
 | 
					/* Exported constants --------------------------------------------------------*/
 | 
				
			||||||
 | 
					/* Exported macro ------------------------------------------------------------*/
 | 
				
			||||||
 | 
					/* FLASH SIZE */
 | 
				
			||||||
 | 
					#define FLASH_SIZE      (uint32_t) 0x80000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Base address of the Flash sectors Bank 1 */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_0     ((uint32_t)0x08000000) /* Base @ of Sector 0, 16 Kbytes */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_1     ((uint32_t)0x08004000) /* Base @ of Sector 1, 16 Kbytes */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_2     ((uint32_t)0x08008000) /* Base @ of Sector 2, 16 Kbytes */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_3     ((uint32_t)0x0800C000) /* Base @ of Sector 3, 16 Kbytes */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_4     ((uint32_t)0x08010000) /* Base @ of Sector 4, 64 Kbytes */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_5     ((uint32_t)0x08020000) /* Base @ of Sector 5, 128 Kbytes */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_6     ((uint32_t)0x08040000) /* Base @ of Sector 6, 128 Kbytes */
 | 
				
			||||||
 | 
					#define ADDR_FLASH_SECTOR_7     ((uint32_t)0x08060000) /* Base @ of Sector 7, 128 Kbytes */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -0,0 +1,271 @@
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  ******************************************************************************
 | 
				
			||||||
 | 
					  * @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-2019 STMicroelectronics</center></h2>
 | 
				
			||||||
 | 
					  *
 | 
				
			||||||
 | 
					  * SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					  * 
 | 
				
			||||||
 | 
					  * 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.2
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					#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   (0x02U) /*!< [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 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  ERROR = 0U, 
 | 
				
			||||||
 | 
					  SUCCESS = !ERROR
 | 
				
			||||||
 | 
					} 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,125 @@
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  ******************************************************************************
 | 
				
			||||||
 | 
					  * @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-2019 STMicroelectronics</center></h2>
 | 
				
			||||||
 | 
					  *
 | 
				
			||||||
 | 
					  * SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					  * 
 | 
				
			||||||
 | 
					  * 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);
 | 
				
			||||||
 | 
					extern void SetSysClock(void);
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  * @}
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /*__SYSTEM_STM32F4XX_H */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  * @}
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  * @}
 | 
				
			||||||
 | 
					  */  
 | 
				
			||||||
 | 
					/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,47 @@
 | 
				
			||||||
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
 | 
					 * Copyright (c) 2006-2019 ARM Limited
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					 * See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					 * limitations under the License.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#ifndef __US_TICKER_DATA_H
 | 
				
			||||||
 | 
					#define __US_TICKER_DATA_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					 extern "C" {
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "stm32f4xx.h"
 | 
				
			||||||
 | 
					#include "stm32f4xx_ll_tim.h"
 | 
				
			||||||
 | 
					#include "cmsis_nvic.h"
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					#define TIM_MST      TIM5
 | 
				
			||||||
 | 
					#define TIM_MST_IRQ  TIM5_IRQn
 | 
				
			||||||
 | 
					#define TIM_MST_RCC  __HAL_RCC_TIM5_CLK_ENABLE()
 | 
				
			||||||
 | 
					#define TIM_MST_DBGMCU_FREEZE  __HAL_DBGMCU_FREEZE_TIM5()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TIM_MST_RESET_ON   __HAL_RCC_TIM5_FORCE_RESET()
 | 
				
			||||||
 | 
					#define TIM_MST_RESET_OFF  __HAL_RCC_TIM5_RELEASE_RESET()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TIM_MST_BIT_WIDTH  32 // 16 or 32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TIM_MST_PCLK  1 // Select the peripheral clock number (1 or 2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // __US_TICKER_DATA_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,69 @@
 | 
				
			||||||
 | 
					/* mbed Microcontroller Library
 | 
				
			||||||
 | 
					 *******************************************************************************
 | 
				
			||||||
 | 
					 * Copyright (c) 2014-2019, STMicroelectronics
 | 
				
			||||||
 | 
					 * All rights reserved.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * SPDX-License-Identifier: BSD-3-Clause
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * 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.
 | 
				
			||||||
 | 
					 *******************************************************************************
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#ifndef MBED_OBJECTS_H
 | 
				
			||||||
 | 
					#define MBED_OBJECTS_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "cmsis.h"
 | 
				
			||||||
 | 
					#include "PortNames.h"
 | 
				
			||||||
 | 
					#include "PeripheralNames.h"
 | 
				
			||||||
 | 
					#include "PinNames.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					extern "C" {
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct gpio_irq_s {
 | 
				
			||||||
 | 
					    IRQn_Type irq_n;
 | 
				
			||||||
 | 
					    uint32_t irq_index;
 | 
				
			||||||
 | 
					    uint32_t event;
 | 
				
			||||||
 | 
					    PinName pin;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct port_s {
 | 
				
			||||||
 | 
					    PortName port;
 | 
				
			||||||
 | 
					    uint32_t mask;
 | 
				
			||||||
 | 
					    PinDirection direction;
 | 
				
			||||||
 | 
					    __IO uint32_t *reg_in;
 | 
				
			||||||
 | 
					    __IO uint32_t *reg_out;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct trng_s {
 | 
				
			||||||
 | 
					    RNG_HandleTypeDef handle;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "common_objects.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -91,6 +91,7 @@
 | 
				
			||||||
#elif (defined(TARGET_STM32F207ZG) ||\
 | 
					#elif (defined(TARGET_STM32F207ZG) ||\
 | 
				
			||||||
       defined(TARGET_STM32F405RG) ||\
 | 
					       defined(TARGET_STM32F405RG) ||\
 | 
				
			||||||
       defined(TARGET_STM32F407VG) ||\
 | 
					       defined(TARGET_STM32F407VG) ||\
 | 
				
			||||||
 | 
					       defined(TARGET_STM32F407VE) ||\
 | 
				
			||||||
       defined(TARGET_STM32F411RE) ||\
 | 
					       defined(TARGET_STM32F411RE) ||\
 | 
				
			||||||
       defined(TARGET_STM32F446RE) ||\
 | 
					       defined(TARGET_STM32F446RE) ||\
 | 
				
			||||||
       defined(TARGET_STM32F446VE) ||\
 | 
					       defined(TARGET_STM32F446VE) ||\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3620,8 +3620,9 @@
 | 
				
			||||||
        "extra_labels_add": [
 | 
					        "extra_labels_add": [
 | 
				
			||||||
            "STM32F4",
 | 
					            "STM32F4",
 | 
				
			||||||
            "STM32F407",
 | 
					            "STM32F407",
 | 
				
			||||||
            "STM32F407xG",
 | 
					            "STM32F407xx",
 | 
				
			||||||
            "STM32F407VG",
 | 
					            "STM32F407xE",
 | 
				
			||||||
 | 
					            "STM32F407VE",
 | 
				
			||||||
            "STM_EMAC"
 | 
					            "STM_EMAC"
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "device_has_add": ["ANALOGOUT", "TRNG", "FLASH", "EMAC", "MPU"],
 | 
					        "device_has_add": ["ANALOGOUT", "TRNG", "FLASH", "EMAC", "MPU"],
 | 
				
			||||||
| 
						 | 
					@ -3639,7 +3640,7 @@
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "release_versions": ["2", "5"],
 | 
					        "release_versions": ["2", "5"],
 | 
				
			||||||
        "overrides": {"lse_available": 0},
 | 
					        "overrides": {"lse_available": 0},
 | 
				
			||||||
        "device_name": "STM32F407VG",
 | 
					        "device_name": "STM32F407VETx",
 | 
				
			||||||
        "overrides": {
 | 
					        "overrides": {
 | 
				
			||||||
            "network-default-interface-type": "ETHERNET"
 | 
					            "network-default-interface-type": "ETHERNET"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue