亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

快報(bào):淺析STM32單片機(jī)的啟動(dòng)文件

2023-06-12 17:25:53 來源:電子工程師聯(lián)盟

今天來總結(jié)的stm32基礎(chǔ)知識(shí)是啟動(dòng)文件相關(guān)。要想對(duì)是stm32單片機(jī)有個(gè)深入的理解,那么啟動(dòng)文件就是一個(gè)繞不過去的坎。

一、什么是啟動(dòng)文件


(資料圖片)

簡(jiǎn)單說,啟動(dòng)文件是在單片機(jī)用戶程序執(zhí)行之前,執(zhí)行的一段匯編代碼。這段匯編代碼是執(zhí)行用戶程序之前的一個(gè)準(zhǔn)備環(huán)節(jié)。文件名以.s的格式來命名,表明其是匯編文件。啟動(dòng)文件,不用自己進(jìn)行編寫,參照一些偽指令定義,能夠看得懂,在實(shí)際開發(fā)中如果涉及到一些改動(dòng),能夠簡(jiǎn)單修改就可以了。

二、啟動(dòng)文件所講內(nèi)容概要

那么,啟動(dòng)文件里面主要講的是什么內(nèi)容呢?分為如下5個(gè)方面:

1.堆??臻g的定義;

2.初始化中斷向量表;

3.復(fù)位中斷函數(shù)(Reset_Handler){系統(tǒng)初始化,然后進(jìn)入main函數(shù)};

4.中斷函數(shù)的弱(WEAK)聲明

5.用戶棧和堆初始化

三、啟動(dòng)文件使用的匯編指令匯總

啟動(dòng)文件一般都是由匯編代碼和偽指令來寫的。

1、下面表格就是啟動(dòng)文件中出現(xiàn)的偽指令名稱及其相關(guān)的含義。請(qǐng)大家參考:

2、幾個(gè)名詞解釋

堆主要用來動(dòng)態(tài)內(nèi)存的分配,像 malloc()函數(shù)申請(qǐng)的內(nèi)存就在堆上面。這個(gè)在 STM32里面用的比較少

棧的作用是用于局部變量,函數(shù)調(diào)用,函數(shù)形參等的開銷,棧的大小不能超過內(nèi)部SRAM的大小。棧的生長(zhǎng)方向是由高地址向低地址擴(kuò)展。

THUMB

THUMB:表示后面指令兼容 THUMB 指令。 THUBM 是 ARM以前的指令集, 16bit,現(xiàn)在 Cortex-M 系列的都使用 THUMB-2 指令集, THUMB-2 是 32 位的,兼容 16 位和 32 位的指令,是 THUMB 的超集。

中斷向量表

中斷向量表:把系統(tǒng)中所有的中斷類型碼及其對(duì)應(yīng)的中斷向量按一定的規(guī)律存放在一個(gè)區(qū)域內(nèi),這個(gè)存儲(chǔ)區(qū)域就叫中斷向量表。

四、啟動(dòng)文件解讀

下面是我項(xiàng)目工程中的完整啟動(dòng)文件代碼。按照以上5個(gè)內(nèi)容分類進(jìn)行展開。這里只選取我覺得比較關(guān)鍵的部分進(jìn)行闡述,不會(huì)逐字逐句的說明。提示注意一下,匯編文件的注釋是通過 “;”來開始的,不是像C語言中,是通過// 或者/***/來進(jìn)行注釋的?!?;”在匯編文件中,也就等同于.c文件中的“//”。

1.堆??臻g的定義;

Stack_Size      EQU     0x00000400                AREA    STACK, NOINIT, READWRITE, ALIGN=3Stack_Mem       SPACE   Stack_Size__initial_sp; < h > Heap Configuration;   < o >  Heap Size (in Bytes) < 0x0-0xFFFFFFFF:8 >; < /h >Heap_Size       EQU     0x00000200                AREA    HEAP, NOINIT, READWRITE, ALIGN=3__heap_baseHeap_Mem        SPACE   Heap_Size__heap_limit                PRESERVE8

開辟棧的大小為 0X00000400(1KB),名字為 STACK, NOINIT 即不初始化,可讀可寫, 8(2^3)字節(jié)對(duì)齊。

開辟堆的大小為 0X00000200(512 字節(jié)),名字為 HEAP, NOINIT 即不初始化,可讀可寫, 8(2^3)字節(jié)對(duì)齊。

2.初始化中斷向量表;

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                ; 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            ; USBOTG 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 errorsDCD     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                    ; EthernetDCD     ETH_WKUP_IRQHandler               ; Ethernet Wakeup through EXTI line                                      DCD     CAN2_TX_IRQHandler                ; CAN2 TX                                                                DCD     CAN2_RX0_IRQHandler               ; CAN2 RX0                                                               DCD     CAN2_RX1_IRQHandler               ; CAN2 RX1                                                               DCD     CAN2_SCE_IRQHandler               ; CAN2 SCE                                                               DCD     OTG_FS_IRQHandler                 ; USB OTG FS                                                      DCD     DMA2_Stream5_IRQHandler           ; DMA2 Stream 5                                                   DCD     DMA2_Stream6_IRQHandler           ; DMA2 Stream 6                                                   DCD     DMA2_Stream7_IRQHandler           ; DMA2 Stream 7                                                   DCD     USART6_IRQHandler                 ; USART6                                                           DCD     I2C3_EV_IRQHandler                ; I2C3 event                                                             DCD     I2C3_ER_IRQHandler                ; I2C3 error                                                             DCD     OTG_HS_EP1_OUT_IRQHandler         ; USB OTG HS End Point 1 Out                                      DCD     OTG_HS_EP1_IN_IRQHandler          ; USB OTG HS End Point 1 In                                       DCD     OTG_HS_WKUP_IRQHandler            ; USB OTG HS Wakeup through EXTI                                         DCD     OTG_HS_IRQHandler                 ; USB OTG HS                                                      DCD     DCMI_IRQHandler                   ; DCMI                                                            DCD     CRYP_IRQHandler                   ; CRYP crypto                                                     DCD     HASH_RNG_IRQHandler               ; Hash and Rng                DCD     FPU_IRQHandler                    ; FPU__Vectors_End__Vectors_Size  EQU  __Vecto- __Vectors

3.復(fù)位中斷函數(shù)(Reset_Handler){系統(tǒng)初始化,然后進(jìn)入main函數(shù)};

AREA    |.text|, CODE, READONLY; Reset handlerReset_Handler    PROC                 EXPORT  Reset_Handler             [WEAK]        IMPORT  SystemInit        IMPORT  __main                 LDR     R0, =SystemInit                 BLX     R0                 LDR     R0, =__main                 BX      R0                 ENDP

4.中斷函數(shù)的弱(WEAK)聲明

; Dummy Exception Handlers (infinite loops which can be modified)NMI_Handler     PROC                EXPORT  NMI_Handler                [WEAK]                B       .                ENDPHardFault_Handler\\                PROC                EXPORT  HardFault_Handler          [WEAK]                B       .                ENDPMemManage_Handler\\                PROC                EXPORT  MemManage_Handler          [WEAK]                B       .                ENDPBusFault_Handler\\                PROC                EXPORT  BusFault_Handler           [WEAK]                B       .                ENDPUsageFault_Handler\\                PROC                EXPORT  UsageFault_Handler         [WEAK]                B       .                ENDPSVC_Handler     PROC                EXPORT  SVC_Handler                [WEAK]                B       .                ENDPDebugMon_Handler\\                PROC                EXPORT  DebugMon_Handler           [WEAK]                B       .                ENDPPendSV_Handler  PROC                EXPORT  PendSV_Handler             [WEAK]                B       .                ENDPSysTick_Handler PROC                EXPORT  SysTick_Handler            [WEAK]                B       .                ENDPDefault_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  FSMC_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]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                                                 FSMC_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_IRQHandlerFPU_IRQHandler                B       .                ENDP                ALIGN

如果我們?cè)谑褂媚硞€(gè)外設(shè)的時(shí)候,開啟了某個(gè)中斷,但是又忘記編寫配套的中斷服務(wù)程序或者函數(shù)名寫錯(cuò),那當(dāng)中斷來臨的時(shí),程序就會(huì)跳轉(zhuǎn)到啟動(dòng)文件預(yù)先寫好的空的中斷服務(wù)程序中,并且在這個(gè)空函數(shù)中無線循環(huán),即程序就死在這里。這也是[weak]起到的作用。關(guān)于weak,可以網(wǎng)絡(luò)搜索,了解一下虛函數(shù),和這里是一個(gè)意思。

5.用戶棧和堆初始化

;*******************************************************************************; User Stack and Heap initialization;*******************************************************************************                 IF      :DEF:__MICROLIB                 EXPORT  __initial_sp                 EXPORT  __heap_base                 EXPORT  __heap_limit                 ELSE                 IMPORT  __use_two_region_memory                 EXPORT  __user_initial_stackheap__user_initial_stackheap                 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

五、理解啟動(dòng)文件的用途總結(jié)

1、項(xiàng)目整體把控

每一款芯片,如果你想使用它來做開發(fā),那都有必要了解一下它的啟動(dòng)文件。通過了解,我們可以體會(huì)到處理器的架構(gòu)、指令集、中斷向量安排等內(nèi)容,對(duì)整個(gè)片子有一個(gè)整體的認(rèn)識(shí)。

2、修改堆棧

如果堆棧不夠用了,可以修改他們的大小。尤其是棧,當(dāng)我們需求增加,代碼量自然而然就會(huì)增多。那么定義的局部變量,函數(shù)嵌套的層數(shù)必然也就會(huì)增多。這個(gè)時(shí)候就需要關(guān)注棧的大小,如果發(fā)生溢出,程序就會(huì)發(fā)生意想不到的后果。

標(biāo)簽:

上一篇:談?wù)勆漕l中的S參數(shù)、反射系數(shù)和VSWR
下一篇:最后一頁(yè)