历史上的今天
返回首页

历史上的今天

今天是:2024年12月21日(星期六)

2018年12月21日 | STM32F4启动文件分析

2018-12-21 来源:eefocus

;******************** (C) COPYRIGHT 2015 STMicroelectronics ********************

;* File Name          : startup_stm32f429_439xx.s

;* Author             : MCD Application Team

;* @version           : V1.5.0

;* @date              : 06-March-2015

;* Description        : STM32F429xx/439xx devices vector table for MDK-ARM toolchain. 

;*                      This module performs:

;*                      - Set the initial SP

;*                      - 初始化栈指针SP(ARM R13)

;*                      - Set the initial PC == Reset_Handler

;*                      - 初始化程序计数器PC == 复位异常(ARM USER模式下的R15)

;*                      - Set the vector table entries with the exceptions ISR address

;*                      - 把异常中断服务程序入口地址设置到中断向量表中

;*                      - Configure the system clock and the external SRAM/SDRAM mounted

;*                        on STM324x9I-EVAL boards to be used as data memory

;*                        (optional, to be enabled by user)

;*                      - 配置系统时钟和用作数据存储的外部挂载的SRAM/SDRAM(可选,由用户使能)

;*                      - Branches to __main in the C library (which eventually

;*                        calls main()).

;*                      - 设置分支到C库中的__main(用来最后调用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 >>>   

;*******************************************************************************

; Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2

; 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.

;*******************************************************************************


; Amount of memory (in bytes) allocated for Stack

; Tailor this value to your application needs

;

;   

;


Stack_Size      EQU     0x00000400

;栈大小Stack_Size为0x00000400,即1KB。 


                AREA    STACK, NOINIT, READWRITE, ALIGN=3

;AREA伪指令新建代码段或数据段,STACK表示可变的段名,未初始化,可读可写,2^3=8字节(双字)边界对齐。

Stack_Mem       SPACE   Stack_Size

;Stack_Mem为标号,SPACE伪指令分配了一片连续的大小为Stack_Size字节的存储区域并初始化为0。

__initial_sp

;__initial_sp是个标号,代表当前指令的地址,即栈顶地址。



;

;   

;


Heap_Size       EQU     0x00000200

;堆大小Heap_Size为0x00000200,即512B。 

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3

;新建堆段,未初始化,可读可写,8字节对齐。

__heap_base

;标号,堆的起始地址。

Heap_Mem        SPACE   Heap_Size

;分配并初始化一片连续的存储空间。

__heap_limit

;标号,堆的结束地址。堆是由低向高生长的,跟栈相反。



                PRESERVE8

;等于PRESERVE8 {TRUE},设置文件的PRSE8编译属性,使代码保持堆栈8字节对齐。

                THUMB

;THUMB必须位于使用新语法的任何Thumb代码之前,后面指令兼容THUMB指令。


; Vector Table Mapped to Address 0 at Reset

;向量表在复位时映射到地址0

                AREA    RESET, DATA, READONLY

;定义一个数据段RESET,只读。

                EXPORT  __Vectors

                EXPORT  __Vectors_End

                EXPORT  __Vectors_Size

;声明三个全局标号,该标号可在其他的文件中被引用。

__Vectors       DCD     __initial_sp               ; Top of Stack    栈顶

;中断向量表起始地址,DCD伪指令用于分配一篇连续的字存储单元并用伪指令中制定的表达式初始化。

;用DCD分配的字存储单元是字(4字节)对齐的。

                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    总线错误中断

                                                   ;一般发生在数据访问异常,比如fsmc访问不当

                DCD     UsageFault_Handler         ; Usage Fault Handler    用法错误中断

                                                   ;一般是预取值、位置指令或者数据处理错误

                DCD     0                          ; Reserved

                DCD     0                          ; Reserved

                DCD     0                          ; Reserved

                DCD     0                          ; Reserved

                DCD     SVC_Handler                ; SVCall Handler    系统调用异常

                                                   ;SVC是用户模式代码中的主进程

                                                   ;用于创造对特权操作系统代码的调用

                DCD     DebugMon_Handler           ; Debug Monitor Handler    ???    

                DCD     0                          ; Reserved

                DCD     PendSV_Handler             ; PendSV Handler    挂起异常

                                                   ;用作上下文切换异常。

                DCD     SysTick_Handler            ; SysTick Handler    系统滴答定时器

                                                   ;操作系统内核时钟


                ; External Interrupts    以上都是Coretex M3内核自带的,以下为外部中断向量表

                DCD     WWDG_IRQHandler                   ; Window WatchDog

                DCD     PVD_IRQHandler                    ; PVD through EXTI Line detection    

                                                          ;PVD = Programmable Voltage Detector 

                                                          ;可编程电压监测器(Vdd和Vdda都要参与比较)                           

                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    

                                                          ;OTG = On-The-Go

                                                          ;主要应用于各种不同的设备或移动设备间的联接和数据交换

                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    

                                                          ;SDIO = Secure Digital Input and Output

                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    

                                                          ;DCMI = Digital Camera Interface  

                                                          ;快速摄像头接口                                      

                DCD     CRYP_IRQHandler                   ; CRYP crypto    

                                                          ;CRYP = Cryptographic Processor  

                                                          ;加密处理器                             

                DCD     HASH_RNG_IRQHandler               ; Hash and Rng    

                                                          ;Hash Processor 哈希处理器 

                                                          ;RNG = Random Number Generator 

                                                          ;随机数发生器

                DCD     FPU_IRQHandler                    ; FPU    

                                                          ;FPU = Float Point Unit 

                                                          ;浮点运算单元 

                DCD     UART7_IRQHandler                  ; UART7

                DCD     UART8_IRQHandler                  ; UART8

                DCD     SPI4_IRQHandler                   ; SPI4

                DCD     SPI5_IRQHandler                   ; SPI5

                DCD     SPI6_IRQHandler                   ; SPI6

                DCD     SAI1_IRQHandler                   ; SAI1    

                                                          ;SAI = Serial Audio Interface 

                                                          ;串行音频接口

                DCD     LTDC_IRQHandler                   ; LTDC    液晶分层显示功能

                DCD     LTDC_ER_IRQHandler                ; LTDC error

                DCD     DMA2D_IRQHandler                  ; DMA2D     2D图形加速器


__Vectors_End

;中断向量表结束地址


__Vectors_Size  EQU  __Vectors_End - __Vectors

;计算中断向量表地址空间大小


                AREA    |.text|, CODE, READONLY

 ;|.text|表示由 C 编译程序产生的代码段,或用于以某种方式与 C 库关联的代码段。


; Reset handler

Reset_Handler    PROC

;PROC、ENDP为过程定义伪指令,一个过程可以被其他程序所调用(用CALL指令)。

                 EXPORT  Reset_Handler             [WEAK]

;EXPORT伪指令声明一个全局标号,[WEAK]声明其他的同名标号优先于该标号被引用。               

        IMPORT  SystemInit

;IMPORT伪指令用于通知编译器要使用的标号在其他的源文件中定义,但要在当前源文件中引用,

;而且无论当前源文件是否引用该标号,该标号均会被加入到当前源文件的符号表中。    

        IMPORT  __main


                 LDR     R0, =SystemInit

;LDR将跳转地址放入寄存器R0,准备调用SystemInit                

                 BLX     R0

;带链接和状态切换的跳转,根据最低位切换指令集,调用完子程序后返回。               

                 LDR     R0, =__main

                 BX      R0

;带状态切换的跳转,根据最低位切换指令集,不返回。              

                 ENDP


; Dummy Exception Handlers (infinite loops which can be modified)

;虚拟的中断处理程序(可被修改的无限循环)

;这些中断服务程序都是死循环,真正的中断服务函数需要我们在外部C文件里重新实现。

;如果开了某个中断但没有重新实现中断服务函数,或者写错函数名,

;则当中断到来时程序将跳转到这里进入死循环。

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  CRYP_IRQHandler                   [WEAK]                                     

                EXPORT  HASH_RNG_IRQHandler               [WEAK]

                EXPORT  FPU_IRQHandler                    [WEAK]

                EXPORT  UART7_IRQHandler                  [WEAK]

                EXPORT  UART8_IRQHandler                  [WEAK]

                EXPORT  SPI4_IRQHandler                   [WEAK]

                EXPORT  SPI5_IRQHandler                   [WEAK]

                EXPORT  SPI6_IRQHandler                   [WEAK]

                EXPORT  SAI1_IRQHandler                   [WEAK]

                EXPORT  LTDC_IRQHandler                   [WEAK]

                EXPORT  LTDC_ER_IRQHandler                [WEAK]

                EXPORT  DMA2D_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                                                            

CRYP_IRQHandler                                                    

HASH_RNG_IRQHandler

FPU_IRQHandler  

UART7_IRQHandler                  

UART8_IRQHandler                  

SPI4_IRQHandler                   

SPI5_IRQHandler                   

SPI6_IRQHandler                   

SAI1_IRQHandler                   

LTDC_IRQHandler                   

LTDC_ER_IRQHandler                 

DMA2D_IRQHandler                  

                B       .


                ENDP


                ALIGN

;ALIGN伪指令可通过添加填充字节的方式,使当前位置满足一定的对齐方式。

;后面的表达式未指定则将当前位置对齐到下一个字的位置。


;*******************************************************************************

; User Stack and Heap initialization

;*******************************************************************************

                 IF      :DEF:__MICROLIB

;如果定义了__MICROLIB,则为以下三个标号赋予全局属性。


                 EXPORT  __initial_sp

                 EXPORT  __heap_base

                 EXPORT  __heap_limit


                 ELSE

;否则,则引入在其他源文件中定义的标号__use_two_region_memory,

;声明全局标号__user_initial_stackheap。           


                 IMPORT  __use_two_region_memory

                 EXPORT  __user_initial_stackheap


__user_initial_stackheap

;堆栈初始化,R0保存堆起始地址,R1保存栈顶地址,R2保存堆的结束地址,R3保存栈底地址。


                 LDR     R0, =  Heap_Mem

                 LDR     R1, =(Stack_Mem + Stack_Size)

                 LDR     R2, = (Heap_Mem +  Heap_Size)

                 LDR     R3, = Stack_Mem

                 BX      LR


                 ALIGN


                 ENDIF


                 END

;ENTRY伪指令标识程序的入口点,END指示代码段结束。                


;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****

推荐阅读

史海拾趣

ELANTEC (Renesas )公司的发展小趣事

随着全球半导体市场的不断扩大和竞争的加剧,ELANTEC意识到必须加快全球化布局的步伐。因此,公司开始在全球范围内设立研发中心、生产基地和销售网络。目前,Renesas在全球拥有多个研发中心和生产基地,产品覆盖亚洲、欧洲、美洲等多个地区。这种全球化布局不仅使Renesas能够更好地服务全球客户,还为其未来的发展奠定了坚实的基础。

Ava Electronics Corp公司的发展小趣事

随着国内市场的逐渐饱和,AVA电子开始将目光投向国际市场。公司制定了详细的国际化战略,包括拓展海外市场、建立海外销售渠道、加强与国际同行的合作等。AVA电子积极参加国际性的行业展会和论坛,与国际客户建立了广泛的联系;同时,公司还加大了对海外市场的宣传力度,提高了品牌在国际市场的知名度。这些举措不仅为公司带来了更多的商机,也提升了公司在国际市场的地位。

请注意,以上故事是基于AVA电子的公开信息和一般电子科技公司的发展规律进行创作的,并非真实事件。如果需要更具体、更详细的故事,建议直接查阅AVA电子的官方资料或相关新闻报道。

大毅科技公司的发展小趣事

为了进一步提升产品质量和竞争力,大毅科技积极申请并获得了多项国际品质认证,如ISO9001、ISO14001、TS16949等。这些认证不仅证明了大毅科技在品质管理方面的卓越能力,还为公司打开了通往国际市场的大门。随着认证的不断增多,大毅科技的产品开始出口到全球各地,与索尼、雅马哈等知名企业建立了长期合作关系。

AMI Semiconductor公司的发展小趣事

随着业务的不断增长,大毅科技意识到需要扩大生产规模以满足市场需求。于是,公司开始在大陆地区寻找合适的生产基地,最终在东莞、清溪、苏州等地设立了生产基地。这一举措不仅降低了生产成本,还提高了生产效率,使大毅科技能够更好地服务全球客户。同时,这也体现了大毅科技对全球市场的战略眼光和布局。

DCX-CHOL Enterprises公司的发展小趣事

DCX-CHOL Enterprises成立于一个科技蓬勃发展的时代。公司的创始人是一群热衷于电子技术的年轻人,他们看到市场上对于高性能、低功耗芯片的巨大需求,于是决定自主研发。经过数年的艰苦努力,他们成功开发出了一款具有革命性意义的低功耗芯片,该芯片不仅性能卓越,而且成本远低于同类产品。这一创新成果迅速赢得了市场的认可,DCX-CHOL Enterprises因此获得了第一桶金,为公司后续的发展奠定了坚实的基础。

EDI [Electronic devices inc.]公司的发展小趣事

在1950年代,Eclipse Magnetics公司决定将他们的磁铁涂上红色,并与马蹄形标志和公司颜色相匹配。这个简单的改变在当时看似微不足道,但却成为了一个重要的转折点。红色磁铁不仅提升了产品的视觉吸引力,还增强了品牌识别度。随着红色磁铁的广泛应用,Eclipse Magnetics开始逐渐在电子行业中崭露头角。

问答坊 | AI 解惑

RETALLMSG(1,(TEXT(":::SPL_IOControl.\r\n")));输出函数的理解

RETALLMSG(1,(TEXT(\":::SPL_IOControl.\\r\\n\"))); 这样一个函数的作用是什么? 相对于单片机有输出如P1.0=1; 这样输出效果很明显 RETALLMSG(1,(TEXT(\":::SPL_IOControl.\\r\\n\")));这样一个函数的输出效果是这样,执行了这条语句能看到什么 ...…

查看全部问答>

这是什么错误了阿 !!!

makeimg: run command: res2exe -r -c C:\\WINCE600\\OSDesigns\\2450\\2450\\RelDir\\smdk2450_ARMV4I_Release\\0409\\bthpnl.res C:\\WINCE600\\OSDesigns\\2450\\2450\\RelDir\\smdk2450_ARMV4I_Release\\bthpnl.cpl makeimg: Check for C:\\WI ...…

查看全部问答>

wince6上弄nor分区求助!!!

最近在弄nor分区, 遇到了一些问题, 想请教一下. 具体的情况是这样的: WINCE6, 板子是pxa270, 克隆的bsp是mainstonIII, 板子上有一块stratad的nor flash, 容量是32MB, 这块板子用来存放bootloader(不到1MB)和nk(20MB左右)之后还剩下10MB左右的空 ...…

查看全部问答>

关于交通灯程序延迟问题!!!!急!!!!!!

P控制规律如下:南北路口的绿灯、东西路口的红灯同时亮30秒;                 南北路口的黄灯闪烁5次,同时东西路口的红灯继续亮;              ...…

查看全部问答>

如何检查一个驱动dll是否被加载?

我这里碰到的一个问题是,不知道如何确定一个dll是否被系统加载了. 我这里自己想的思路就是: 1.打印串口调试信息,信息打印出来了,就表示加载了.     这个方法相对而言比较简单,但是有的时候不太方便. 2.通过USB连接之后,通过进程查看 ...…

查看全部问答>

我用超级终端调试ARM板,可是在一个进程启动后就不能结束了!

进入超级终端手工开始这个进程倒可以结束(CTRL+C),但当我把这个进程写到开机自动启动脚本后就不能用CTRL+C结束了,这个进程的左右是不断往串口发数据并读取串口回复。现在整个超级终端的界面都是布满了发送的那几个数,导致不能控制这个ARM板子了 ...…

查看全部问答>

大功率led导热导电银胶及其封装技术和趋势

replyreload += \',\' + 680396;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

贡献大家都感兴趣的OLED显示汉字源码

花了半天时间研究TI的LM3S8962开发板自带OLED显示,在rit128x96x4.c中自己添加了一个RIT128x96x4HZStringDraw函数,实现16*16中文汉字显示,现在汉字存储在内部FLASH中,下一步准备把字库存储到外部FLASH中:Dvoid RIT128x96x4HZStringDraw(const ch ...…

查看全部问答>

电解电容的等效串联电阻

电容器的主要技术指标有电容量、耐压值、耐温值。除了这三个主要指标外,其他指标中较重要的就是等效串联电阻(ESR)了。有的电容器上有一条金色的带状线,上面印有一个大大的空心字母“I”,它表示该电容属于LOW ESR低损耗电容。有的电容还会标 ...…

查看全部问答>

中断向量表的问题

PieCtrlRegs.PIEIER2.bit.INTx1=1;各位2812的朋友...我把 这打开了...就跑进了interrupt void CMP2INT_ISR(void)     这个中断里面去...PieCtrlRegs.PIEIER2.bit.INTx1=0;  我把它写0..它就不 ...…

查看全部问答>