在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32 keil mdk啟動(dòng)代碼發(fā)分析

            STM32 keil mdk啟動(dòng)代碼發(fā)分析

            作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
            學(xué)習(xí)STM32,看了一堆亂七八糟的文檔,準(zhǔn)備寫程序了,先分析了下STM32的啟動(dòng)代碼,看著這堆鬼鬼的匯編代碼,挺嚇人的,看看幫助,查查網(wǎng)路,還是不那么難懂。
            1. ;//StackConfiguration
            2. ;//StackSize(inBytes)<0x0-0xFFFFFFFF:8>
            3. ;//
            4. Stack_SizeEQU0x00000200;//定義堆棧大小
            5. AREASTACK,NOINIT,READWRITE,ALIGN=3;//定義一個(gè)數(shù)據(jù)段按8字節(jié)對(duì)齊
            6. Stack_MemSPACEStack_Size;//保留Stack_Size大小的堆??臻g
            7. __initial_sp;//標(biāo)號(hào),代表堆棧頂部地址,后面有用
            8. ;//HeapConfiguration
            9. ;//HeapSize(inBytes)<0x0-0xFFFFFFFF:8>
            10. ;//
            11. Heap_SizeEQU0x00000020;//定義堆空間大小
            12. AREAHEAP,NOINIT,READWRITE,ALIGN=3;//定義一個(gè)數(shù)據(jù)段,8字節(jié)對(duì)齊
            13. __heap_base
            14. Heap_MemSPACEHeap_Size;//保留Heap_Size的堆空間
            15. __heap_limit;//標(biāo)號(hào),代表堆末尾地址,后面有用
            16. PRESERVE8;//指示編譯器8字節(jié)對(duì)齊
            17. THUMB;//指示編譯器為THUMB指令
            18. ;VectorTableMappedtoAddress0atReset
            19. AREARESET,DATA,READONLY;//定義只讀數(shù)據(jù)段,其實(shí)放在CODE區(qū),位于0地址
            20. EXTERNNMIException
            21. EXTERNHardFaultException
            22. EXTERNMemManageException
            23. EXTERNBusFaultException
            24. EXTERNUsageFaultException
            25. EXTERNSVCHandler
            26. EXTERNDebugMonitor
            27. EXTERNPendSVC
            28. EXTERNSysTickHandler;//聲明這些符號(hào)在外部定義,同C
            29. ;//在××it.c中實(shí)現(xiàn)這些函數(shù),中斷就能自動(dòng)調(diào)用了
            30. EXPORT__Vectors
            31. __VectorsDCD__initial_sp;TopofStack//Cotex-M要求此處為堆棧頂部地址
            32. DCDReset_Handler;ResetHandler
            33. DCDNMIException;NMIHandler
            34. DCDHardFaultException;HardFaultHandler
            35. DCDMemManageException;MPUFaultHandler
            36. DCDBusFaultException;BusFaultHandler
            37. DCDUsageFaultException;UsageFaultHandler
            38. DCD0;Reserved
            39. DCD0;Reserved
            40. DCD0;Reserved
            41. DCD0;Reserved
            42. DCDSVCHandler;SVCallHandler
            43. DCDDebugMonitor;DebugMonitorHandler
            44. DCD0;Reserved
            45. DCDPendSVC;PendSVHandler
            46. DCDSysTickHandler;SysTickHandler//一大堆的異常處理函數(shù)地址
            47. ;ExternalInterrupts
            48. EXTERNWWDG_IRQHandler
            49. EXTERNPVD_IRQHandler
            50. EXTERNTAMPER_IRQHandler
            51. EXTERNRTC_IRQHandler
            52. EXTERNFLASH_IRQHandler
            53. EXTERNRCC_IRQHandler
            54. EXTERNEXTI0_IRQHandler
            55. EXTERNEXTI1_IRQHandler
            56. EXTERNEXTI2_IRQHandler
            57. EXTERNEXTI3_IRQHandler
            58. EXTERNEXTI4_IRQHandler
            59. EXTERNDMAChannel1_IRQHandler
            60. EXTERNDMAChannel2_IRQHandler
            61. EXTERNDMAChannel3_IRQHandler
            62. EXTERNDMAChannel4_IRQHandler
            63. EXTERNDMAChannel5_IRQHandler
            64. EXTERNDMAChannel6_IRQHandler
            65. EXTERNDMAChannel7_IRQHandler
            66. EXTERNADC_IRQHandler
            67. EXTERNUSB_HP_CAN_TX_IRQHandler
            68. EXTERNUSB_LP_CAN_RX0_IRQHandler
            69. EXTERNCAN_RX1_IRQHandler
            70. EXTERNCAN_SCE_IRQHandler
            71. EXTERNEXTI9_5_IRQHandler
            72. EXTERNTIM1_BRK_IRQHandler
            73. EXTERNTIM1_UP_IRQHandler
            74. EXTERNTIM1_TRG_COM_IRQHandler
            75. EXTERNTIM1_CC_IRQHandler
            76. EXTERNTIM2_IRQHandler
            77. EXTERNTIM3_IRQHandler
            78. EXTERNTIM4_IRQHandler
            79. EXTERNI2C1_EV_IRQHandler
            80. EXTERNI2C1_ER_IRQHandler
            81. EXTERNI2C2_EV_IRQHandler
            82. EXTERNI2C2_ER_IRQHandler
            83. EXTERNSPI1_IRQHandler
            84. EXTERNSPI2_IRQHandler
            85. EXTERNUSART1_IRQHandler
            86. EXTERNUSART2_IRQHandler
            87. EXTERNUSART3_IRQHandler
            88. EXTERNEXTI15_10_IRQHandler
            89. EXTERNRTCAlarm_IRQHandler
            90. EXTERNUSBWakeUp_IRQHandler;//同上,
            91. DCDWWDG_IRQHandler;WindowWatchdog
            92. DCDPVD_IRQHandler;PVDthroughEXTILinedetect
            93. DCDTAMPER_IRQHandler;Tamper
            94. DCDRTC_IRQHandler;RTC
            95. DCDFLASH_IRQHandler;Flash
            96. DCDRCC_IRQHandler;RCC
            97. DCDEXTI0_IRQHandler;EXTILine0
            98. DCDEXTI1_IRQHandler;EXTILine1
            99. DCDEXTI2_IRQHandler;EXTILine2
            100. DCDEXTI3_IRQHandler;EXTILine3
            101. DCDEXTI4_IRQHandler;EXTILine4
            102. DCDDMAChannel1_IRQHandler;DMAChannel1
            103. DCDDMAChannel2_IRQHandler;DMAChannel2
            104. DCDDMAChannel3_IRQHandler;DMAChannel3
            105. DCDDMAChannel4_IRQHandler;DMAChannel4
            106. DCDDMAChannel5_IRQHandler;DMAChannel5
            107. DCDDMAChannel6_IRQHandler;DMAChannel6
            108. DCDDMAChannel7_IRQHandler;DMAChannel7
            109. DCDADC_IRQHandler;ADC
            110. DCDUSB_HP_CAN_TX_IRQHandler;USBHighPriorityorCANTX
            111. DCDUSB_LP_CAN_RX0_IRQHandler;USBLowPriorityorCANRX0
            112. DCDCAN_RX1_IRQHandler;CANRX1
            113. DCDCAN_SCE_IRQHandler;CANSCE
            114. DCDEXTI9_5_IRQHandler;EXTILine9..5
            115. DCDTIM1_BRK_IRQHandler;TIM1Break
            116. DCDTIM1_UP_IRQHandler;TIM1Update
            117. DCDTIM1_TRG_COM_IRQHandler;TIM1TriggerandCommutation
            118. DCDTIM1_CC_IRQHandler;TIM1CaptureCompare
            119. DCDTIM2_IRQHandler;TIM2
            120. DCDTIM3_IRQHandler;TIM3
            121. DCDTIM4_IRQHandler;TIM4
            122. DCDI2C1_EV_IRQHandler;I2C1Event
            123. DCDI2C1_ER_IRQHandler;I2C1Error
            124. DCDI2C2_EV_IRQHandler;I2C2Event
            125. DCDI2C2_ER_IRQHandler;I2C2Error
            126. DCDSPI1_IRQHandler;SPI1
            127. DCDSPI2_IRQHandler;SPI2
            128. DCDUSART1_IRQHandler;USART1
            129. DCDUSART2_IRQHandler;USART2
            130. DCDUSART3_IRQHandler;USART3
            131. DCDEXTI15_10_IRQHandler;EXTILine15..10
            132. DCDRTCAlarm_IRQHandler;RTCAlarmthroughEXTILine
            133. DCDUSBWakeUp_IRQHandler;USBWakeupfromsuspend;//同上
            134. AREA|.text|,CODE,READONLY;//定義代碼段
            135. ;ResetHandler
            136. Reset_HandlerPROC;//Rset_Handler的實(shí)現(xiàn)
            137. EXPORTReset_Handler[WEAK];//在外部沒有定義該符號(hào)時(shí)導(dǎo)出該符號(hào),見HELP中[WEAK]
            138. IMPORT__main;//導(dǎo)入符號(hào),__main為運(yùn)行時(shí)庫提供的函數(shù);完成堆棧,堆的初始話
            139. LDRR0,=__main;//等工作,會(huì)調(diào)用下面定義的__user_initial_stackheap;
            140. BXR0;//跳到__main,進(jìn)入C的世界
            141. ENDP
            142. ALIGN
            143. ;UserInitialStack&Heap
            144. IF:DEF:__MICROLIB;//如果使用microlib,microlib描述見armlib.chm
            145. EXPORT__initial_sp
            146. EXPORT__heap_base
            147. EXPORT__heap_limit;//只導(dǎo)出幾個(gè)定義
            148. ELSE;//如果使用默認(rèn)C運(yùn)行時(shí)庫
            149. IMPORT__use_two_region_memory
            150. EXPORT__user_initial_stackheap
            151. __user_initial_stackheap;//則進(jìn)行堆棧和堆的賦值,在__main函數(shù)執(zhí)行過程中調(diào)用。
            152. LDRR0,=Heap_Mem
            153. LDRR1,=(Stack_Mem+Stack_Size)
            154. LDRR2,=(Heap_Mem+Heap_Size)
            155. LDRR3,=Stack_Mem
            156. BXLR
            157. ALIGN
            158. ENDIF
            159. END;//OK,完了



            關(guān)鍵詞: STM32keilmdk啟動(dòng)代

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉