在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LPC2000系列ARM啟動(dòng)代碼(startup部分)

            LPC2000系列ARM啟動(dòng)代碼(startup部分)

            作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò) 收藏

            本文引用地址:http://www.biyoush.com/article/201611/318926.htm
            1. ;定義堆棧的大小
            2. SVC_STACK_LEGTHEQU0
            3. FIQ_STACK_LEGTHEQU0
            4. IRQ_STACK_LEGTHEQU256
            5. ABT_STACK_LEGTHEQU0
            6. UND_STACK_LEGTHEQU0
            7. NoIntEQU0x80;禁止IRQ中斷
            8. NoFIQEQU0x40;禁止FIQ中斷
            9. USR32ModeEQU0x10;ARM的各種工作模式
            10. SVC32ModeEQU0x13
            11. SYS32ModeEQU0x1f
            12. IRQ32ModeEQU0x12
            13. FIQ32ModeEQU0x11
            14. IMPORT__use_no_semihosting_swi
            15. ;引入的外部標(biāo)號(hào)在這聲明
            16. IMPORTFIQ_Exception;Fastinterruptexceptionshandler快速中斷異常處理程序
            17. IMPORT__main;TheentrypointtothemainfunctionC語(yǔ)言主程序入口
            18. IMPORTTargetResetInit;initializethetargetboard目標(biāo)板基本初始化
            19. ;給外部使用的標(biāo)號(hào)在這聲明
            20. EXPORTbottom_of_heap
            21. EXPORTStackUsr
            22. EXPORTReset
            23. EXPORT__user_initial_stackheap
            24. CODE32
            25. AREAvectors,CODE,READONLY
            26. ENTRY
            27. ;中斷向量表
            28. Reset
            29. LDRPC,ResetAddr;//注意,這里應(yīng)該賦值給PC不是ResetAr這個(gè)地址,而是ResetAr這個(gè)地址里的值,是ResetInit
            30. LDRPC,UndefinedAddr;//另外,LDR尋找空間4K,用DCD實(shí)現(xiàn)全范圍尋址
            31. LDRPC,SWI_Addr
            32. LDRPC,PrefetchAddr
            33. LDRPC,DataAbortAddr
            34. DCD0xb9205f80
            35. LDRPC,[PC,#-0xff0]
            36. LDRPC,FIQ_Addr
            37. ResetAddrDCDResetInit
            38. UndefinedAddrDCDUndefined
            39. SWI_AddrDCDSoftwareInterrupt
            40. PrefetchAddrDCDPrefetchAbort
            41. DataAbortAddrDCDDataAbort
            42. NouseDCD0
            43. IRQ_AddrDCD0
            44. FIQ_AddrDCDFIQ_Handler
            45. Undefined
            46. BUndefined
            47. ;軟中斷
            48. SoftwareInterrupt
            49. ;BSoftwareInterrupt
            50. ;//增加開(kāi)/關(guān)中斷處理Chenxibing-2004-02-09
            51. CMPR0,#4
            52. LDRLOPC,[PC,R0,LSL#2]
            53. MOVSPC,LR
            54. SwiFunction
            55. DCDIRQDisable;0
            56. DCDIRQEnable;1
            57. DCDFIQDisable;2
            58. DCDFIQEnable;3
            59. IRQDisable
            60. ;關(guān)IRQ中斷
            61. MRSR0,SPSR
            62. ORRR0,R0,#NoInt
            63. MSRSPSR_c,R0
            64. MOVSPC,LR
            65. IRQEnable
            66. ;開(kāi)IRQ中斷
            67. MRSR0,SPSR
            68. BICR0,R0,#NoInt
            69. MSRSPSR_c,R0
            70. MOVSPC,LR
            71. FIQDisable
            72. ;關(guān)FIQ中斷
            73. MRSR0,SPSR
            74. ORRR0,R0,#NoFIQ
            75. MSRSPSR_c,R0
            76. MOVSPC,LR
            77. FIQEnable
            78. ;開(kāi)FIQ中斷
            79. MRSR0,SPSR
            80. BICR0,R0,#NoFIQ
            81. MSRSPSR_c,R0
            82. MOVSPC,LR
            83. ;//Changed2004-12-09
            84. ;取指令中止
            85. PrefetchAbort
            86. BPrefetchAbort
            87. ;取數(shù)據(jù)中止
            88. DataAbort
            89. BDataAbort
            90. ;快速中斷
            91. FIQ_Handler
            92. STMFDSP!,{R0-R3,LR}
            93. BLFIQ_Exception
            94. LDMFDSP!,{R0-R3,LR}
            95. SUBSPC,LR,#4
            96. ;/*********************************************************************************************************
            97. ;**unctionname函數(shù)名稱(chēng):InitStack
            98. ;**Descriptions功能描述:Initializethestacks初始化堆棧
            99. ;**inputparameters輸 入:None無(wú)
            100. ;**Returnedvalue輸 出:None無(wú)
            101. ;******************************************************************************************************/
            102. InitStack
            103. MOVR0,LR
            104. ;BuildtheSVCstack
            105. ;設(shè)置管理模式堆棧
            106. MSRCPSR_c,#0xd3
            107. LDRSP,StackSvc
            108. ;BuildtheIRQstack
            109. ;設(shè)置中斷模式堆棧
            110. MSRCPSR_c,#0xd2
            111. LDRSP,StackIrq
            112. ;BuildtheFIQstack
            113. ;設(shè)置快速中斷模式堆棧
            114. MSRCPSR_c,#0xd1
            115. LDRSP,StackFiq
            116. ;BuildtheDATAABORTstack
            117. ;設(shè)置中止模式堆棧
            118. MSRCPSR_c,#0xd7
            119. LDRSP,StackAbt
            120. ;BuildtheUDFstack
            121. ;設(shè)置未定義模式堆棧
            122. MSRCPSR_c,#0xdb
            123. LDRSP,StackUnd
            124. ;BuildtheSYSstack
            125. ;設(shè)置系統(tǒng)模式堆棧
            126. MSRCPSR_c,#0xdf
            127. LDRSP,=StackUsr
            128. MOVPC,R0
            129. ;/*********************************************************************************************************
            130. ;**unctionname函數(shù)名稱(chēng):ResetInit
            131. ;**Descriptions功能描述:RESET復(fù)位入口
            132. ;**inputparameters輸 入:None無(wú)
            133. ;**Returnedvalue輸 出:None無(wú)
            134. ;********************************************************************************************************/
            135. ResetInit
            136. BLInitStack;初始化堆棧Initializethestack
            137. BLTargetResetInit;目標(biāo)板基本初始化Initializethetargetboard
            138. ;跳轉(zhuǎn)到c語(yǔ)言入口JumptotheentrypointofCprogram
            139. B__main
            140. ;/*****************************************************************************************************************************************************
            141. ;**unctionname函數(shù)名稱(chēng):__user_initial_stackheap
            142. ;**Descriptions功能描述:Initialthefunctionlibrarystacksandheaps,cannotdeleted!庫(kù)函數(shù)初始化堆和棧,不能刪除
            143. ;**inputparameters輸 入:referencebyfunctionlibrary參考庫(kù)函數(shù)手冊(cè)
            144. ;**Returnedvalue輸 出:referencebyfunctionlibrary參考庫(kù)函數(shù)手冊(cè)
            145. ;************************************************************************************************************************************************************/
            146. __user_initial_stackheap
            147. LDRr0,=bottom_of_heap
            148. ;LDRr1,=StackUsr
            149. MOVpc,lr
            150. StackSvcDCDSvcStackSpace+(SVC_STACK_LEGTH-1)*4
            151. StackIrqDCDIrqStackSpace+(IRQ_STACK_LEGTH-1)*4
            152. StackFiqDCDFiqStackSpace+(FIQ_STACK_LEGTH-1)*4
            153. StackAbtDCDAbtStackSpace+(ABT_STACK_LEGTH-1)*4
            154. StackUndDCDUndtStackSpace+(UND_STACK_LEGTH-1)*4
            155. ;/*********************************************************************************************************
            156. ;**unctionname函數(shù)名稱(chēng):CrpData
            157. ;**Descriptions功能描述:encryptthechip
            158. ;**inputparameters輸 入:None無(wú)
            159. ;**Returnedvalue輸 出:None無(wú)
            160. ;********************************************************************************************************/
            161. IF:DEF:EN_CRP
            162. IF.>=0x1fc
            163. INFO1,"/nThedataat0x000001fcmustbe0x87654321./nPleasedeletesomesourcebeforethisline."
            164. ENDIF
            165. CrpData
            166. WHILE.<0x1fc
            167. NOP
            168. WEND
            169. CrpData1
            170. DCD0x87654321;/*WhentheDatais為0x87654321,usercodebeprotected.當(dāng)此數(shù)為0x87654321時(shí),用戶(hù)程序被保護(hù)*/
            171. ENDIF
            172. ;/*分配堆棧空間*/
            173. AREAMyStacks,DATA,NOINIT,ALIGN=2
            174. SvcStackSpaceSPACESVC_STACK_LEGTH*4;StackspacesforAdministrationMode管理模式堆??臻g
            175. IrqStackSpaceSPACEIRQ_STACK_LEGTH*4;StackspacesforInterruptReQuestMode中斷模式堆??臻g
            176. FiqStackSpaceSPACEFIQ_STACK_LEGTH*4;StackspacesforFastInterruptreQuestMode快速中斷模式堆??臻g
            177. AbtStackSpaceSPACEABT_STACK_LEGTH*4;StackspacesforSuspendMode中止義模式堆??臻g
            178. UndtStackSpaceSPACEUND_STACK_LEGTH*4;StackspacesforUndefinedMode未定義模式堆棧
            179. AREAHeap,DATA,NOINIT
            180. bottom_of_heapSPACE1
            181. AREAStacks,DATA,NOINIT
            182. StackUsr
            183. END
            184. ;/*********************************************************************************************************
            185. ;**EndOfFile
            186. ;********************************************************************************************************/



            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉