野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11357|回复: 1

startup_stm32f30x文件里是如何开始执行main函数的

[复制链接]
发表于 2016-11-22 23:50:02 | 显示全部楼层 |阅读模式
  1. ;/******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
  2. ;* File Name          : startup_stm32f30x.s
  3. ;* Author             : MCD Application Team
  4. ;* Version            : V1.0.0
  5. ;* Date               : 04-Sptember-2012
  6. ;* Description        : STM32F30x devices vector table for EWARM toolchain.
  7. ;*                      This module performs:
  8. ;*                      - Set the initial SP
  9. ;*                      - Set the initial PC == _iar_program_start,
  10. ;*                      - Set the vector table entries with the exceptions ISR
  11. ;*                        address.
  12. ;*                      - Branches to main in the C library (which eventually
  13. ;*                        calls main()).
  14. ;*                      After Reset the Cortex-M4 processor is in Thread mode,
  15. ;*                      priority is Privileged, and the Stack is set to Main.
  16. ;********************************************************************************
  17. ;*
  18. ;* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
  19. ;* You may not use this file except in compliance with the License.
  20. ;* You may obtain a copy of the License at:
  21. ;*
  22. ;*        http://www.st.com/software_license_agreement_liberty_v2
  23. ;*
  24. ;* Unless required by applicable law or agreed to in writing, software
  25. ;* distributed under the License is distributed on an "AS IS" BASIS,
  26. ;* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  27. ;* See the License for the specific language governing permissions and
  28. ;* limitations under the License.
  29. ;*
  30. ;*******************************************************************************
  31. ;
  32. ;
  33. ; The modules in this file are included in the libraries, and may be replaced
  34. ; by any user-defined modules that define the PUBLIC symbol _program_start or
  35. ; a user defined start symbol.
  36. ; To override the cstartup defined in the library, simply add your modified
  37. ; version to the workbench project.
  38. ;
  39. ; The vector table is normally located at address 0.
  40. ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
  41. ; The name "__vector_table" has special meaning for C-SPY:
  42. ; it is where the SP start value is found, and the NVIC vector
  43. ; table register (VTOR) is initialized to this address if != 0.
  44. ;
  45. ; Cortex-M version
  46. ;

  47.         MODULE  ?cstartup

  48.         ;; Forward declaration of sections.
  49.         SECTION CSTACK:DATA:NOROOT(3)

  50.         SECTION .intvec:CODE:NOROOT(2)

  51.         EXTERN  __iar_program_start
  52.         EXTERN  SystemInit
  53.         PUBLIC  __vector_table

  54.         DATA
  55. __vector_table
  56.         DCD     sfe(CSTACK)
  57.         DCD     Reset_Handler             ; Reset Handler

  58.         DCD     NMI_Handler               ; NMI Handler
  59.         DCD     HardFault_Handler         ; Hard Fault Handler
  60.         DCD     MemManage_Handler         ; MPU Fault Handler
  61.         DCD     BusFault_Handler          ; Bus Fault Handler
  62.         DCD     UsageFault_Handler        ; Usage Fault Handler
  63.         DCD     0                         ; Reserved
  64.         DCD     0                         ; Reserved
  65.         DCD     0                         ; Reserved
  66.         DCD     0                         ; Reserved
  67.         DCD     SVC_Handler               ; SVCall Handler
  68.         DCD     DebugMon_Handler          ; Debug Monitor Handler
  69.         DCD     0                         ; Reserved
  70.         DCD     PendSV_Handler            ; PendSV Handler
  71.         DCD     SysTick_Handler           ; SysTick Handler

  72.          ; External Interrupts
  73.                 DCD     WWDG_IRQHandler                   ; Window WatchDog                                       
  74.                 DCD     PVD_IRQHandler                    ; PVD through EXTI Line detection                        
  75.                 DCD     TAMPER_STAMP_IRQHandler           ; Tamper and TimeStamps through the EXTI line            
  76.                 DCD     RTC_WKUP_IRQHandler               ; RTC Wakeup through the EXTI line                       
  77.                 DCD     FLASH_IRQHandler                  ; FLASH                                          
  78.                 DCD     RCC_IRQHandler                    ; RCC                                             
  79.                 DCD     EXTI0_IRQHandler                  ; EXTI Line0                                             
  80.                 DCD     EXTI1_IRQHandler                  ; EXTI Line1                                             
  81.                 DCD     EXTI2_TS_IRQHandler               ; EXTI Line2 and Touch Sense                                             
  82.                 DCD     EXTI3_IRQHandler                  ; EXTI Line3                                             
  83.                 DCD     EXTI4_IRQHandler                  ; EXTI Line4                                             
  84.                 DCD     DMA1_Channel1_IRQHandler          ; DMA1 Channel 1                                   
  85.                 DCD     DMA1_Channel2_IRQHandler          ; DMA1 Channel 2                                   
  86.                 DCD     DMA1_Channel3_IRQHandler          ; DMA1 Channel 3                                   
  87.                 DCD     DMA1_Channel4_IRQHandler          ; DMA1 Channel 4                                   
  88.                 DCD     DMA1_Channel5_IRQHandler          ; DMA1 Channel 5                                   
  89.                 DCD     DMA1_Channel6_IRQHandler          ; DMA1 Channel 6                                   
  90.                 DCD     DMA1_Channel7_IRQHandler          ; DMA1 Channel 7                                   
  91.                 DCD     ADC1_2_IRQHandler                 ; ADC1 and ADC2                           
  92.                 DCD     USB_HP_CAN1_TX_IRQHandler         ; USB Device High Priority or CAN1 TX                                               
  93.                 DCD     USB_LP_CAN1_RX0_IRQHandler        ; USB Device Low Priority or CAN1 RX0                                               
  94.                 DCD     CAN1_RX1_IRQHandler               ; CAN1 RX1                                               
  95.                 DCD     CAN1_SCE_IRQHandler               ; CAN1 SCE                                               
  96.                 DCD     EXTI9_5_IRQHandler                ; External Line[9:5]s                                    
  97.                 DCD     TIM1_BRK_TIM15_IRQHandler         ; TIM1 Break and TIM15                  
  98.                 DCD     TIM1_UP_TIM16_IRQHandler          ; TIM1 Update and TIM16                 
  99.                 DCD     TIM1_TRG_COM_TIM17_IRQHandler     ; TIM1 Trigger and Commutation and TIM17
  100.                 DCD     TIM1_CC_IRQHandler                ; TIM1 Capture Compare                                   
  101.                 DCD     TIM2_IRQHandler                   ; TIM2                                            
  102.                 DCD     TIM3_IRQHandler                   ; TIM3                                            
  103.                 DCD     TIM4_IRQHandler                   ; TIM4                                            
  104.                 DCD     I2C1_EV_IRQHandler                ; I2C1 Event                                             
  105.                 DCD     I2C1_ER_IRQHandler                ; I2C1 Error                                             
  106.                 DCD     I2C2_EV_IRQHandler                ; I2C2 Event                                             
  107.                 DCD     I2C2_ER_IRQHandler                ; I2C2 Error                                               
  108.                 DCD     SPI1_IRQHandler                   ; SPI1                                            
  109.                 DCD     SPI2_IRQHandler                   ; SPI2                                            
  110.                 DCD     USART1_IRQHandler                 ; USART1                                          
  111.                 DCD     USART2_IRQHandler                 ; USART2                                          
  112.                 DCD     USART3_IRQHandler                 ; USART3                                          
  113.                 DCD     EXTI15_10_IRQHandler              ; External Line[15:10]s                                 
  114.                 DCD     RTC_Alarm_IRQHandler              ; RTC Alarm (A and B) through EXTI Line                  
  115.                 DCD     USBWakeUp_IRQHandler              ; USB Wakeup through EXTI line                        
  116.                 DCD     TIM8_BRK_IRQHandler               ; TIM8 Break                  
  117.                 DCD     TIM8_UP_IRQHandler                ; TIM8 Update               
  118.                 DCD     TIM8_TRG_COM_IRQHandler           ; TIM8 Trigger and Commutation
  119.                 DCD     TIM8_CC_IRQHandler                ; TIM8 Capture Compare                                   
  120.                 DCD     ADC3_IRQHandler                   ; ADC3                                          
  121.                 DCD     0                                 ; Reserved                                            
  122.                 DCD     0                                 ; Reserved                                            
  123.                 DCD     0                                 ; Reserved                                            
  124.                 DCD     SPI3_IRQHandler                   ; SPI3                                            
  125.                 DCD     UART4_IRQHandler                  ; UART4                                          
  126.                 DCD     UART5_IRQHandler                  ; UART5                                          
  127.                 DCD     TIM6_DAC_IRQHandler               ; TIM6 and DAC1&2 underrun errors                  
  128.                 DCD     TIM7_IRQHandler                   ; TIM7                  
  129.                 DCD     DMA2_Channel1_IRQHandler          ; DMA2 Channel 1                                   
  130.                 DCD     DMA2_Channel2_IRQHandler          ; DMA2 Channel 2                                   
  131.                 DCD     DMA2_Channel3_IRQHandler          ; DMA2 Channel 3                                   
  132.                 DCD     DMA2_Channel4_IRQHandler          ; DMA2 Channel 4                                   
  133.                 DCD     DMA2_Channel5_IRQHandler          ; DMA2 Channel 5                                   
  134.                 DCD     ADC4_IRQHandler                   ; ADC4                                       
  135.                 DCD     0                                 ; Reserved                     
  136.                 DCD     0                                 ; Reserved                                               
  137.                 DCD     COMP1_2_3_IRQHandler              ; COMP1, COMP2 and COMP3                                               
  138.                 DCD     COMP4_5_6_IRQHandler              ; COMP4, COMP5 and COMP6                                             
  139.                 DCD     COMP7_IRQHandler                  ; COMP7                                               
  140.                 DCD     0                                 ; Reserved                                      
  141.                 DCD     0                                 ; Reserved                                   
  142.                 DCD     0                                 ; Reserved                                   
  143.                 DCD     0                                 ; Reserved                                   
  144.                 DCD     0                                 ; Reserved                                          
  145.                 DCD     0                                 ; Reserved                                             
  146.                 DCD     0                                 ; Reserved                                             
  147.                 DCD     USB_HP_IRQHandler                 ; USB High Priority remap                       
  148.                 DCD     USB_LP_IRQHandler                 ; USB Low Priority remap                    
  149.                 DCD     USBWakeUp_RMP_IRQHandler          ; USB Wakeup remap through EXTI                        
  150.                 DCD     0                                 ; Reserved                                       
  151.                 DCD     0                                 ; Reserved                                       
  152.                 DCD     0                                 ; Reserved                                      
  153.                 DCD     0                                 ; Reserved
  154.                 DCD     FPU_IRQHandler                    ; FPU

  155. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  156. ;;
  157. ;; Default interrupt handlers.
  158. ;;
  159.         THUMB
  160.         PUBWEAK Reset_Handler
  161.         SECTION .text:CODE:REORDER(2)
  162. Reset_Handler

  163.         LDR     R0, =SystemInit
  164.         BLX     R0
  165.         LDR     R0, =__iar_program_start
  166.         BX      R0

  167.         PUBWEAK NMI_Handler
  168.         SECTION .text:CODE:REORDER(1)
  169. NMI_Handler
  170.         B NMI_Handler

  171.         PUBWEAK HardFault_Handler
  172.         SECTION .text:CODE:REORDER(1)
  173. HardFault_Handler
  174.         B HardFault_Handler

  175.         PUBWEAK MemManage_Handler
  176.         SECTION .text:CODE:REORDER(1)
  177. MemManage_Handler
  178.         B MemManage_Handler

  179.         PUBWEAK BusFault_Handler
  180.         SECTION .text:CODE:REORDER(1)
  181. BusFault_Handler
  182.         B BusFault_Handler

  183.         PUBWEAK UsageFault_Handler
  184.         SECTION .text:CODE:REORDER(1)
  185. UsageFault_Handler
  186.         B UsageFault_Handler

  187.         PUBWEAK SVC_Handler
  188.         SECTION .text:CODE:REORDER(1)
  189. SVC_Handler
  190.         B SVC_Handler

  191.         PUBWEAK DebugMon_Handler
  192.         SECTION .text:CODE:REORDER(1)
  193. DebugMon_Handler
  194.         B DebugMon_Handler

  195.         PUBWEAK PendSV_Handler
  196.         SECTION .text:CODE:REORDER(1)
  197. PendSV_Handler
  198.         B PendSV_Handler

  199.         PUBWEAK SysTick_Handler
  200.         SECTION .text:CODE:REORDER(1)
  201. SysTick_Handler
  202.         B SysTick_Handler

  203.         PUBWEAK WWDG_IRQHandler
  204.         SECTION .text:CODE:REORDER(1)
  205. WWDG_IRQHandler  
  206.         B WWDG_IRQHandler

  207.         PUBWEAK PVD_IRQHandler
  208.         SECTION .text:CODE:REORDER(1)
  209. PVD_IRQHandler  
  210.         B PVD_IRQHandler

  211.         PUBWEAK TAMPER_STAMP_IRQHandler
  212.         SECTION .text:CODE:REORDER(1)   
  213. TAMPER_STAMP_IRQHandler  
  214.         B TAMPER_STAMP_IRQHandler

  215.         PUBWEAK RTC_WKUP_IRQHandler
  216.         SECTION .text:CODE:REORDER(1)  
  217. RTC_WKUP_IRQHandler  
  218.         B RTC_WKUP_IRQHandler

  219.         PUBWEAK FLASH_IRQHandler
  220.         SECTION .text:CODE:REORDER(1)
  221. FLASH_IRQHandler  
  222.         B FLASH_IRQHandler

  223.         PUBWEAK RCC_IRQHandler
  224.         SECTION .text:CODE:REORDER(1)
  225. RCC_IRQHandler  
  226.         B RCC_IRQHandler

  227.         PUBWEAK EXTI0_IRQHandler
  228.         SECTION .text:CODE:REORDER(1)
  229. EXTI0_IRQHandler  
  230.         B EXTI0_IRQHandler

  231.         PUBWEAK EXTI1_IRQHandler
  232.         SECTION .text:CODE:REORDER(1)
  233. EXTI1_IRQHandler  
  234.         B EXTI1_IRQHandler

  235.         PUBWEAK EXTI2_TS_IRQHandler
  236.         SECTION .text:CODE:REORDER(1)
  237. EXTI2_TS_IRQHandler  
  238.         B EXTI2_TS_IRQHandler

  239.         PUBWEAK EXTI3_IRQHandler
  240.         SECTION .text:CODE:REORDER(1)
  241. EXTI3_IRQHandler
  242.         B EXTI3_IRQHandler

  243.         PUBWEAK EXTI4_IRQHandler
  244.         SECTION .text:CODE:REORDER(1)   
  245. EXTI4_IRQHandler  
  246.         B EXTI4_IRQHandler

  247.         PUBWEAK DMA1_Channel1_IRQHandler
  248.         SECTION .text:CODE:REORDER(1)   
  249. DMA1_Channel1_IRQHandler  
  250.         B DMA1_Channel1_IRQHandler

  251.         PUBWEAK DMA1_Channel2_IRQHandler
  252.         SECTION .text:CODE:REORDER(1)   
  253. DMA1_Channel2_IRQHandler  
  254.         B DMA1_Channel2_IRQHandler

  255.         PUBWEAK DMA1_Channel3_IRQHandler
  256.         SECTION .text:CODE:REORDER(1)   
  257. DMA1_Channel3_IRQHandler  
  258.         B DMA1_Channel3_IRQHandler

  259.         PUBWEAK DMA1_Channel4_IRQHandler
  260.         SECTION .text:CODE:REORDER(1)   
  261. DMA1_Channel4_IRQHandler  
  262.         B DMA1_Channel4_IRQHandler

  263.         PUBWEAK DMA1_Channel5_IRQHandler
  264.         SECTION .text:CODE:REORDER(1)   
  265. DMA1_Channel5_IRQHandler  
  266.         B DMA1_Channel5_IRQHandler

  267.         PUBWEAK DMA1_Channel6_IRQHandler
  268.         SECTION .text:CODE:REORDER(1)   
  269. DMA1_Channel6_IRQHandler  
  270.         B DMA1_Channel6_IRQHandler

  271.         PUBWEAK DMA1_Channel7_IRQHandler
  272.         SECTION .text:CODE:REORDER(1)   
  273. DMA1_Channel7_IRQHandler  
  274.         B DMA1_Channel7_IRQHandler

  275.         PUBWEAK ADC1_2_IRQHandler
  276.         SECTION .text:CODE:REORDER(1)
  277. ADC1_2_IRQHandler  
  278.         B ADC1_2_IRQHandler

  279.         PUBWEAK USB_HP_CAN1_TX_IRQHandler
  280.         SECTION .text:CODE:REORDER(1)
  281. USB_HP_CAN1_TX_IRQHandler  
  282.         B USB_HP_CAN1_TX_IRQHandler

  283.         PUBWEAK USB_LP_CAN1_RX0_IRQHandler
  284.         SECTION .text:CODE:REORDER(1)  
  285. USB_LP_CAN1_RX0_IRQHandler  
  286.         B USB_LP_CAN1_RX0_IRQHandler

  287.         PUBWEAK CAN1_RX1_IRQHandler
  288.         SECTION .text:CODE:REORDER(1)  
  289. CAN1_RX1_IRQHandler  
  290.         B CAN1_RX1_IRQHandler

  291.         PUBWEAK CAN1_SCE_IRQHandler
  292.         SECTION .text:CODE:REORDER(1)  
  293. CAN1_SCE_IRQHandler  
  294.         B CAN1_SCE_IRQHandler

  295.         PUBWEAK EXTI9_5_IRQHandler
  296.         SECTION .text:CODE:REORDER(1)
  297. EXTI9_5_IRQHandler  
  298.         B EXTI9_5_IRQHandler

  299.         PUBWEAK TIM1_BRK_TIM15_IRQHandler
  300.         SECTION .text:CODE:REORDER(1)   
  301. TIM1_BRK_TIM15_IRQHandler  
  302.         B TIM1_BRK_TIM15_IRQHandler

  303.         PUBWEAK TIM1_UP_TIM16_IRQHandler
  304.         SECTION .text:CODE:REORDER(1)   
  305. TIM1_UP_TIM16_IRQHandler  
  306.         B TIM1_UP_TIM16_IRQHandler

  307.         PUBWEAK TIM1_TRG_COM_TIM17_IRQHandler
  308.         SECTION .text:CODE:REORDER(1)   
  309. TIM1_TRG_COM_TIM17_IRQHandler  
  310.         B TIM1_TRG_COM_TIM17_IRQHandler
  311.         
  312.         PUBWEAK TIM1_CC_IRQHandler
  313.         SECTION .text:CODE:REORDER(1)   
  314. TIM1_CC_IRQHandler  
  315.         B TIM1_CC_IRQHandler

  316.         PUBWEAK TIM2_IRQHandler
  317.         SECTION .text:CODE:REORDER(1)
  318. TIM2_IRQHandler  
  319.         B TIM2_IRQHandler

  320.         PUBWEAK TIM3_IRQHandler
  321.         SECTION .text:CODE:REORDER(1)
  322. TIM3_IRQHandler  
  323.         B TIM3_IRQHandler

  324.         PUBWEAK TIM4_IRQHandler
  325.         SECTION .text:CODE:REORDER(1)
  326. TIM4_IRQHandler  
  327.         B TIM4_IRQHandler

  328.         PUBWEAK I2C1_EV_IRQHandler
  329.         SECTION .text:CODE:REORDER(1)
  330. I2C1_EV_IRQHandler  
  331.         B I2C1_EV_IRQHandler

  332.         PUBWEAK I2C1_ER_IRQHandler
  333.         SECTION .text:CODE:REORDER(1)
  334. I2C1_ER_IRQHandler  
  335.         B I2C1_ER_IRQHandler

  336.         PUBWEAK I2C2_EV_IRQHandler
  337.         SECTION .text:CODE:REORDER(1)
  338. I2C2_EV_IRQHandler  
  339.         B I2C2_EV_IRQHandler

  340.         PUBWEAK I2C2_ER_IRQHandler
  341.         SECTION .text:CODE:REORDER(1)
  342. I2C2_ER_IRQHandler  
  343.         B I2C2_ER_IRQHandler

  344.         PUBWEAK SPI1_IRQHandler
  345.         SECTION .text:CODE:REORDER(1)
  346. SPI1_IRQHandler  
  347.         B SPI1_IRQHandler

  348.         PUBWEAK SPI2_IRQHandler
  349.         SECTION .text:CODE:REORDER(1)
  350. SPI2_IRQHandler  
  351.         B SPI2_IRQHandler

  352.         PUBWEAK USART1_IRQHandler
  353.         SECTION .text:CODE:REORDER(1)
  354. USART1_IRQHandler  
  355.         B USART1_IRQHandler

  356.         PUBWEAK USART2_IRQHandler
  357.         SECTION .text:CODE:REORDER(1)
  358. USART2_IRQHandler  
  359.         B USART2_IRQHandler

  360.         PUBWEAK USART3_IRQHandler
  361.         SECTION .text:CODE:REORDER(1)
  362. USART3_IRQHandler  
  363.         B USART3_IRQHandler

  364.         PUBWEAK EXTI15_10_IRQHandler
  365.         SECTION .text:CODE:REORDER(1)   
  366. EXTI15_10_IRQHandler  
  367.         B EXTI15_10_IRQHandler

  368.         PUBWEAK RTC_Alarm_IRQHandler
  369.         SECTION .text:CODE:REORDER(1)   
  370. RTC_Alarm_IRQHandler  
  371.         B RTC_Alarm_IRQHandler

  372.         PUBWEAK USBWakeUp_IRQHandler
  373.         SECTION .text:CODE:REORDER(1)   
  374. USBWakeUp_IRQHandler  
  375.         B USBWakeUp_IRQHandler
  376.       
  377.         PUBWEAK TIM8_BRK_IRQHandler
  378.         SECTION .text:CODE:REORDER(1)   
  379. TIM8_BRK_IRQHandler  
  380.         B TIM8_BRK_IRQHandler

  381.         PUBWEAK TIM8_UP_IRQHandler
  382.         SECTION .text:CODE:REORDER(1)   
  383. TIM8_UP_IRQHandler  
  384.         B TIM8_UP_IRQHandler

  385.         PUBWEAK TIM8_TRG_COM_IRQHandler
  386.         SECTION .text:CODE:REORDER(1)   
  387. TIM8_TRG_COM_IRQHandler  
  388.         B TIM8_TRG_COM_IRQHandler

  389.         PUBWEAK TIM8_CC_IRQHandler
  390.         SECTION .text:CODE:REORDER(1)
  391. TIM8_CC_IRQHandler  
  392.         B TIM8_CC_IRQHandler

  393.         PUBWEAK ADC3_IRQHandler
  394.         SECTION .text:CODE:REORDER(1)
  395. ADC3_IRQHandler  
  396.         B ADC3_IRQHandler

  397.         PUBWEAK SPI3_IRQHandler
  398.         SECTION .text:CODE:REORDER(1)
  399. SPI3_IRQHandler  
  400.         B SPI3_IRQHandler

  401.         PUBWEAK UART4_IRQHandler
  402.         SECTION .text:CODE:REORDER(1)
  403. UART4_IRQHandler  
  404.         B UART4_IRQHandler

  405.         PUBWEAK UART5_IRQHandler
  406.         SECTION .text:CODE:REORDER(1)
  407. UART5_IRQHandler  
  408.         B UART5_IRQHandler

  409.         PUBWEAK TIM6_DAC_IRQHandler
  410.         SECTION .text:CODE:REORDER(1)   
  411. TIM6_DAC_IRQHandler  
  412.         B TIM6_DAC_IRQHandler

  413.         PUBWEAK TIM7_IRQHandler
  414.         SECTION .text:CODE:REORDER(1)   
  415. TIM7_IRQHandler  
  416.         B TIM7_IRQHandler

  417.         PUBWEAK DMA2_Channel1_IRQHandler
  418.         SECTION .text:CODE:REORDER(1)   
  419. DMA2_Channel1_IRQHandler  
  420.         B DMA2_Channel1_IRQHandler

  421.         PUBWEAK DMA2_Channel2_IRQHandler
  422.         SECTION .text:CODE:REORDER(1)   
  423. DMA2_Channel2_IRQHandler  
  424.         B DMA2_Channel2_IRQHandler

  425.         PUBWEAK DMA2_Channel3_IRQHandler
  426.         SECTION .text:CODE:REORDER(1)   
  427. DMA2_Channel3_IRQHandler  
  428.         B DMA2_Channel3_IRQHandler

  429.         PUBWEAK DMA2_Channel4_IRQHandler
  430.         SECTION .text:CODE:REORDER(1)   
  431. DMA2_Channel4_IRQHandler  
  432.         B DMA2_Channel4_IRQHandler

  433.         PUBWEAK DMA2_Channel5_IRQHandler
  434.         SECTION .text:CODE:REORDER(1)   
  435. DMA2_Channel5_IRQHandler  
  436.         B DMA2_Channel5_IRQHandler


  437.         PUBWEAK ADC4_IRQHandler
  438.         SECTION .text:CODE:REORDER(1)
  439. ADC4_IRQHandler  
  440.         B ADC4_IRQHandler

  441.         PUBWEAK COMP1_2_3_IRQHandler
  442.         SECTION .text:CODE:REORDER(1)  
  443. COMP1_2_3_IRQHandler  
  444.         B COMP1_2_3_IRQHandler

  445.         PUBWEAK COMP4_5_6_IRQHandler
  446.         SECTION .text:CODE:REORDER(1)  
  447. COMP4_5_6_IRQHandler  
  448.         B COMP4_5_6_IRQHandler

  449.         PUBWEAK COMP7_IRQHandler
  450.         SECTION .text:CODE:REORDER(1)  
  451. COMP7_IRQHandler  
  452.         B COMP7_IRQHandler

  453.         PUBWEAK USB_HP_IRQHandler
  454.         SECTION .text:CODE:REORDER(1)
  455. USB_HP_IRQHandler  
  456.         B USB_HP_IRQHandler

  457.         PUBWEAK USB_LP_IRQHandler
  458.         SECTION .text:CODE:REORDER(1)   
  459. USB_LP_IRQHandler  
  460.         B USB_LP_IRQHandler

  461.         PUBWEAK USBWakeUp_RMP_IRQHandler
  462.         SECTION .text:CODE:REORDER(1)   
  463. USBWakeUp_RMP_IRQHandler  
  464.         B USBWakeUp_RMP_IRQHandler

  465.         PUBWEAK FPU_IRQHandler
  466.         SECTION .text:CODE:REORDER(1)  
  467. FPU_IRQHandler  
  468.         B FPU_IRQHandler

  469.         END
  470. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
复制代码
这是startup_stm32f30x.s的文件内容。与startup_stm32f4x文件内容不一样。
startup_stm32f4x里的复位后的语句是:
IMPORT SystemInit     
IMPORT  _main        
LDR R0,=SystemInit
BLX R0
LDR R0,=_main
BX R0
ENDP
startup_stm32f30x里的复位后的语句是:
Reset_Handler
LDR     R0, =SystemInit
BLX     R0
LDR     R0, =__iar_program_start
BX      R0
startup_stm32f30x里面没有_main,是如何进入main函数的呢?
求教,谢谢!

回复

使用道具 举报

发表于 2016-11-23 09:32:30 | 显示全部楼层
__iar_program_start就是
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-13 14:28 , Processed in 0.034818 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表