首页 > 其他 > 详细

启动文件startup_stm32f40_41xxx.s

时间:2019-06-01 19:22:13      阅读:96      评论:0      收藏:0      [点我收藏+]

一、启动文件,startup_stm32f40x_41xx.s

 

1、定义

启动文件由汇编编写,是系统上电复位后第一执行的程序。

 

2、特征

 

1)初始化堆栈指针,主要是为C语言提供良好的运行环境

2)进行复位处理,执行该Reset_Handler函数

3)初始化向量表,中断入口地址列表

4)配置系统的时钟,调用SystemInit

5)调用C库函数__main进入main.c中的main函数执行

二、异常向量表

 

1、8051

AT89S51共有5个中断源,2个外部中断、2个定时器中断、1个串口中断。

中断入口地址
外部中断0                             0003H
定时器0                               000BH
外部中断1                             0013H
定时器1                               001BH
串口中断                               0023H

 

 

技术分享图片

 

2、ARM Cortex-M4

 

汇编文件当中的异常量表(中断入口地址的集合)

; 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

                ; 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     

               .............................    
                EXPORT  EXTI0_IRQHandler                  [WEAK] 

EXTI0_IRQHandler             //空函数    

 

WEAK的关键字

如果外部没有定义EXTI0_IRQHandler,就使用当前的EXTI0_IRQHandler。如果在外面定义了EXTI0_IRQHandler就执行外面定义好的函数。

 

技术分享图片

 

 

技术分享图片

 

启动文件startup_stm32f40_41xxx.s

原文:https://www.cnblogs.com/xiangtingshen/p/10960632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!