startup_MK64F12.s 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732
  1. ;/*****************************************************************************
  2. ; * @file: startup_MK70F12.s
  3. ; * @purpose: CMSIS Cortex-M4 Core Device Startup File for the
  4. ; * MK70F12
  5. ; * @version: 1.5
  6. ; * @date: 2012-10-19
  7. ; *
  8. ; * Copyright: 1997 - 2012 Freescale Semiconductor, Inc. All Rights Reserved.
  9. ;*
  10. ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
  11. ; *
  12. ; *****************************************************************************/
  13. ; <h> Stack Configuration
  14. ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
  15. ; </h>
  16. Stack_Size EQU 0x00000400
  17. AREA STACK, NOINIT, READWRITE, ALIGN=3
  18. Stack_Mem SPACE Stack_Size
  19. __initial_sp
  20. ; <h> Heap Configuration
  21. ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
  22. ; </h>
  23. Heap_Size EQU 0x00000000
  24. AREA HEAP, NOINIT, READWRITE, ALIGN=3
  25. __heap_base
  26. Heap_Mem SPACE Heap_Size
  27. __heap_limit
  28. PRESERVE8
  29. THUMB
  30. ; Vector Table Mapped to Address 0 at Reset
  31. AREA RESET, DATA, READONLY
  32. EXPORT __Vectors
  33. EXPORT __Vectors_End
  34. EXPORT __Vectors_Size
  35. __Vectors DCD __initial_sp ; Top of Stack
  36. DCD Reset_Handler ; Reset Handler
  37. DCD NMI_Handler ; NMI Handler
  38. DCD HardFault_Handler ; Hard Fault Handler
  39. DCD MemManage_Handler ; MPU Fault Handler
  40. DCD BusFault_Handler ; Bus Fault Handler
  41. DCD UsageFault_Handler ; Usage Fault Handler
  42. DCD 0 ; Reserved
  43. DCD 0 ; Reserved
  44. DCD 0 ; Reserved
  45. DCD 0 ; Reserved
  46. DCD SVC_Handler ; SVCall Handler
  47. DCD DebugMon_Handler ; Debug Monitor Handler
  48. DCD 0 ; Reserved
  49. DCD PendSV_Handler ; PendSV Handler
  50. DCD SysTick_Handler ; SysTick Handler
  51. ; External Interrupts
  52. DCD DMA0_IRQHandler ; DMA Channel 0 Transfer Complete
  53. DCD DMA1_IRQHandler ; DMA Channel 1 Transfer Complete
  54. DCD DMA2_IRQHandler ; DMA Channel 2 Transfer Complete
  55. DCD DMA3_IRQHandler ; DMA Channel 3 Transfer Complete
  56. DCD DMA4_IRQHandler ; DMA Channel 4 Transfer Complete
  57. DCD DMA5_IRQHandler ; DMA Channel 5 Transfer Complete
  58. DCD DMA6_IRQHandler ; DMA Channel 6 Transfer Complete
  59. DCD DMA7_IRQHandler ; DMA Channel 7 Transfer Complete
  60. DCD DMA8_IRQHandler ; DMA Channel 8 Transfer Complete
  61. DCD DMA9_IRQHandler ; DMA Channel 9 Transfer Complete
  62. DCD DMA10_IRQHandler ; DMA Channel 10 Transfer Complete
  63. DCD DMA11_IRQHandler ; DMA Channel 11 Transfer Complete
  64. DCD DMA12_IRQHandler ; DMA Channel 12 Transfer Complete
  65. DCD DMA13_IRQHandler ; DMA Channel 13 Transfer Complete
  66. DCD DMA14_IRQHandler ; DMA Channel 14 Transfer Complete
  67. DCD DMA15_IRQHandler ; DMA Channel 15 Transfer Complete
  68. DCD DMA_Error_IRQHandler ; DMA Error Interrupt
  69. DCD MCM_IRQHandler ; Normal Interrupt
  70. DCD FTFE_IRQHandler ; FTFE Command complete interrupt
  71. DCD Read_Collision_IRQHandler ; Read Collision Interrupt
  72. DCD LVD_LVW_IRQHandler ; Low Voltage Detect, Low Voltage Warning
  73. DCD LLW_IRQHandler ; Low Leakage Wakeup
  74. DCD Watchdog_IRQHandler ; WDOG Interrupt
  75. DCD RNG_IRQHandler ; RNG Interrupt
  76. DCD I2C0_IRQHandler ; I2C0 interrupt
  77. DCD I2C1_IRQHandler ; I2C1 interrupt
  78. DCD SPI0_IRQHandler ; SPI0 Interrupt
  79. DCD SPI1_IRQHandler ; SPI1 Interrupt
  80. DCD I2S0_Tx_IRQHandler ; I2S0 transmit interrupt
  81. DCD I2S0_Rx_IRQHandler ; I2S0 receive interrupt
  82. DCD UART0_LON_IRQHandler ; UART0 LON interrupt
  83. DCD UART0_RX_TX_IRQHandler ; UART0 Receive/Transmit interrupt
  84. DCD UART0_ERR_IRQHandler ; UART0 Error interrupt
  85. DCD UART1_RX_TX_IRQHandler ; UART1 Receive/Transmit interrupt
  86. DCD UART1_ERR_IRQHandler ; UART1 Error interrupt
  87. DCD UART2_RX_TX_IRQHandler ; UART2 Receive/Transmit interrupt
  88. DCD UART2_ERR_IRQHandler ; UART2 Error interrupt
  89. DCD UART3_RX_TX_IRQHandler ; UART3 Receive/Transmit interrupt
  90. DCD UART3_ERR_IRQHandler ; UART3 Error interrupt
  91. DCD ADC0_IRQHandler ; ADC0 interrupt
  92. DCD CMP0_IRQHandler ; CMP0 interrupt
  93. DCD CMP1_IRQHandler ; CMP1 interrupt
  94. DCD FTM0_IRQHandler ; FTM0 fault, overflow and channels interrupt
  95. DCD FTM1_IRQHandler ; FTM1 fault, overflow and channels interrupt
  96. DCD FTM2_IRQHandler ; FTM2 fault, overflow and channels interrupt
  97. DCD CMT_IRQHandler ; CMT interrupt
  98. DCD RTC_IRQHandler ; RTC interrupt
  99. DCD RTC_Seconds_IRQHandler ; RTC seconds interrupt
  100. DCD PIT0_IRQHandler ; PIT timer channel 0 interrupt
  101. DCD PIT1_IRQHandler ; PIT timer channel 1 interrupt
  102. DCD PIT2_IRQHandler ; PIT timer channel 2 interrupt
  103. DCD PIT3_IRQHandler ; PIT timer channel 3 interrupt
  104. DCD PDB0_IRQHandler ; PDB0 Interrupt
  105. DCD USB0_IRQHandler ; USB0 interrupt
  106. DCD USBDCD_IRQHandler ; USBDCD Interrupt
  107. DCD Reserved71_IRQHandler ; Reserved interrupt 71
  108. DCD DAC0_IRQHandler ; DAC0 interrupt
  109. DCD MCG_IRQHandler ; MCG Interrupt
  110. DCD LPTimer_IRQHandler ; LPTimer interrupt
  111. DCD PORTA_IRQHandler ; Port A interrupt
  112. DCD PORTB_IRQHandler ; Port B interrupt
  113. DCD PORTC_IRQHandler ; Port C interrupt
  114. DCD PORTD_IRQHandler ; Port D interrupt
  115. DCD PORTE_IRQHandler ; Port E interrupt
  116. DCD SWI_IRQHandler ; Software interrupt
  117. DCD SPI2_IRQHandler ; SPI2 Interrupt
  118. DCD UART4_RX_TX_IRQHandler ; UART4 Receive/Transmit interrupt
  119. DCD UART4_ERR_IRQHandler ; UART4 Error interrupt
  120. DCD UART5_RX_TX_IRQHandler ; UART5 Receive/Transmit interrupt
  121. DCD UART5_ERR_IRQHandler ; UART5 Error interrupt
  122. DCD CMP2_IRQHandler ; CMP2 interrupt
  123. DCD FTM3_IRQHandler ; FTM3 fault, overflow and channels interrupt
  124. DCD DAC1_IRQHandler ; DAC1 interrupt
  125. DCD ADC1_IRQHandler ; ADC1 interrupt
  126. DCD I2C2_IRQHandler ; I2C2 interrupt
  127. DCD CAN0_ORed_Message_buffer_IRQHandler ; CAN0 OR'd message buffers interrupt
  128. DCD CAN0_Bus_Off_IRQHandler ; CAN0 bus off interrupt
  129. DCD CAN0_Error_IRQHandler ; CAN0 error interrupt
  130. DCD CAN0_Tx_Warning_IRQHandler ; CAN0 Tx warning interrupt
  131. DCD CAN0_Rx_Warning_IRQHandler ; CAN0 Rx warning interrupt
  132. DCD CAN0_Wake_Up_IRQHandler ; CAN0 wake up interrupt
  133. DCD SDHC_IRQHandler ; SDHC interrupt
  134. DCD ENET_1588_Timer_IRQHandler ; Ethernet MAC IEEE 1588 Timer Interrupt
  135. DCD ENET_Transmit_IRQHandler ; Ethernet MAC Transmit Interrupt
  136. DCD ENET_Receive_IRQHandler ; Ethernet MAC Receive Interrupt
  137. DCD ENET_Error_IRQHandler ; Ethernet MAC Error and miscelaneous Interrupt
  138. DCD DefaultISR ; 102
  139. DCD DefaultISR ; 103
  140. DCD DefaultISR ; 104
  141. DCD DefaultISR ; 105
  142. DCD DefaultISR ; 106
  143. DCD DefaultISR ; 107
  144. DCD DefaultISR ; 108
  145. DCD DefaultISR ; 109
  146. DCD DefaultISR ; 110
  147. DCD DefaultISR ; 111
  148. DCD DefaultISR ; 112
  149. DCD DefaultISR ; 113
  150. DCD DefaultISR ; 114
  151. DCD DefaultISR ; 115
  152. DCD DefaultISR ; 116
  153. DCD DefaultISR ; 117
  154. DCD DefaultISR ; 118
  155. DCD DefaultISR ; 119
  156. DCD DefaultISR ; 120
  157. DCD DefaultISR ; 121
  158. DCD DefaultISR ; 122
  159. DCD DefaultISR ; 123
  160. DCD DefaultISR ; 124
  161. DCD DefaultISR ; 125
  162. DCD DefaultISR ; 126
  163. DCD DefaultISR ; 127
  164. DCD DefaultISR ; 128
  165. DCD DefaultISR ; 129
  166. DCD DefaultISR ; 130
  167. DCD DefaultISR ; 131
  168. DCD DefaultISR ; 132
  169. DCD DefaultISR ; 133
  170. DCD DefaultISR ; 134
  171. DCD DefaultISR ; 135
  172. DCD DefaultISR ; 136
  173. DCD DefaultISR ; 137
  174. DCD DefaultISR ; 138
  175. DCD DefaultISR ; 139
  176. DCD DefaultISR ; 140
  177. DCD DefaultISR ; 141
  178. DCD DefaultISR ; 142
  179. DCD DefaultISR ; 143
  180. DCD DefaultISR ; 144
  181. DCD DefaultISR ; 145
  182. DCD DefaultISR ; 146
  183. DCD DefaultISR ; 147
  184. DCD DefaultISR ; 148
  185. DCD DefaultISR ; 149
  186. DCD DefaultISR ; 150
  187. DCD DefaultISR ; 151
  188. DCD DefaultISR ; 152
  189. DCD DefaultISR ; 153
  190. DCD DefaultISR ; 154
  191. DCD DefaultISR ; 155
  192. DCD DefaultISR ; 156
  193. DCD DefaultISR ; 157
  194. DCD DefaultISR ; 158
  195. DCD DefaultISR ; 159
  196. DCD DefaultISR ; 160
  197. DCD DefaultISR ; 161
  198. DCD DefaultISR ; 162
  199. DCD DefaultISR ; 163
  200. DCD DefaultISR ; 164
  201. DCD DefaultISR ; 165
  202. DCD DefaultISR ; 166
  203. DCD DefaultISR ; 167
  204. DCD DefaultISR ; 168
  205. DCD DefaultISR ; 169
  206. DCD DefaultISR ; 170
  207. DCD DefaultISR ; 171
  208. DCD DefaultISR ; 172
  209. DCD DefaultISR ; 173
  210. DCD DefaultISR ; 174
  211. DCD DefaultISR ; 175
  212. DCD DefaultISR ; 176
  213. DCD DefaultISR ; 177
  214. DCD DefaultISR ; 178
  215. DCD DefaultISR ; 179
  216. DCD DefaultISR ; 180
  217. DCD DefaultISR ; 181
  218. DCD DefaultISR ; 182
  219. DCD DefaultISR ; 183
  220. DCD DefaultISR ; 184
  221. DCD DefaultISR ; 185
  222. DCD DefaultISR ; 186
  223. DCD DefaultISR ; 187
  224. DCD DefaultISR ; 188
  225. DCD DefaultISR ; 189
  226. DCD DefaultISR ; 190
  227. DCD DefaultISR ; 191
  228. DCD DefaultISR ; 192
  229. DCD DefaultISR ; 193
  230. DCD DefaultISR ; 194
  231. DCD DefaultISR ; 195
  232. DCD DefaultISR ; 196
  233. DCD DefaultISR ; 197
  234. DCD DefaultISR ; 198
  235. DCD DefaultISR ; 199
  236. DCD DefaultISR ; 200
  237. DCD DefaultISR ; 201
  238. DCD DefaultISR ; 202
  239. DCD DefaultISR ; 203
  240. DCD DefaultISR ; 204
  241. DCD DefaultISR ; 205
  242. DCD DefaultISR ; 206
  243. DCD DefaultISR ; 207
  244. DCD DefaultISR ; 208
  245. DCD DefaultISR ; 209
  246. DCD DefaultISR ; 210
  247. DCD DefaultISR ; 211
  248. DCD DefaultISR ; 212
  249. DCD DefaultISR ; 213
  250. DCD DefaultISR ; 214
  251. DCD DefaultISR ; 215
  252. DCD DefaultISR ; 216
  253. DCD DefaultISR ; 217
  254. DCD DefaultISR ; 218
  255. DCD DefaultISR ; 219
  256. DCD DefaultISR ; 220
  257. DCD DefaultISR ; 221
  258. DCD DefaultISR ; 222
  259. DCD DefaultISR ; 223
  260. DCD DefaultISR ; 224
  261. DCD DefaultISR ; 225
  262. DCD DefaultISR ; 226
  263. DCD DefaultISR ; 227
  264. DCD DefaultISR ; 228
  265. DCD DefaultISR ; 229
  266. DCD DefaultISR ; 230
  267. DCD DefaultISR ; 231
  268. DCD DefaultISR ; 232
  269. DCD DefaultISR ; 233
  270. DCD DefaultISR ; 234
  271. DCD DefaultISR ; 235
  272. DCD DefaultISR ; 236
  273. DCD DefaultISR ; 237
  274. DCD DefaultISR ; 238
  275. DCD DefaultISR ; 239
  276. DCD DefaultISR ; 240
  277. DCD DefaultISR ; 241
  278. DCD DefaultISR ; 242
  279. DCD DefaultISR ; 243
  280. DCD DefaultISR ; 244
  281. DCD DefaultISR ; 245
  282. DCD DefaultISR ; 246
  283. DCD DefaultISR ; 247
  284. DCD DefaultISR ; 248
  285. DCD DefaultISR ; 249
  286. DCD DefaultISR ; 250
  287. DCD DefaultISR ; 251
  288. DCD DefaultISR ; 252
  289. DCD DefaultISR ; 253
  290. DCD DefaultISR ; 254
  291. DCD DefaultISR ; 255
  292. __Vectors_End
  293. __Vectors_Size EQU __Vectors_End - __Vectors
  294. ; <h> Flash Configuration
  295. ; <i> 16-byte flash configuration field that stores default protection settings (loaded on reset)
  296. ; <i> and security information that allows the MCU to restrict acces to the FTFL module.
  297. ; <h> Backdoor Comparison Key
  298. ; <o0> Backdoor Key 0 <0x0-0xFF:2>
  299. ; <o1> Backdoor Key 1 <0x0-0xFF:2>
  300. ; <o2> Backdoor Key 2 <0x0-0xFF:2>
  301. ; <o3> Backdoor Key 3 <0x0-0xFF:2>
  302. ; <o4> Backdoor Key 4 <0x0-0xFF:2>
  303. ; <o5> Backdoor Key 5 <0x0-0xFF:2>
  304. ; <o6> Backdoor Key 6 <0x0-0xFF:2>
  305. ; <o7> Backdoor Key 7 <0x0-0xFF:2>
  306. BackDoorK0 EQU 0xFF
  307. BackDoorK1 EQU 0xFF
  308. BackDoorK2 EQU 0xFF
  309. BackDoorK3 EQU 0xFF
  310. BackDoorK4 EQU 0xFF
  311. BackDoorK5 EQU 0xFF
  312. BackDoorK6 EQU 0xFF
  313. BackDoorK7 EQU 0xFF
  314. ; </h>
  315. ; <h> Program flash protection bytes (FPROT)
  316. ; <i> Each program flash region can be protected from program and erase operation by setting the associated PROT bit.
  317. ; <i> Each bit protects a 1/32 region of the program flash memory.
  318. ; <h> FPROT0
  319. ; <i> Program flash protection bytes
  320. ; <i> 1/32 - 8/32 region
  321. ; <o.0> FPROT0.0
  322. ; <o.1> FPROT0.1
  323. ; <o.2> FPROT0.2
  324. ; <o.3> FPROT0.3
  325. ; <o.4> FPROT0.4
  326. ; <o.5> FPROT0.5
  327. ; <o.6> FPROT0.6
  328. ; <o.7> FPROT0.7
  329. nFPROT0 EQU 0x00
  330. FPROT0 EQU nFPROT0:EOR:0xFF
  331. ; </h>
  332. ; <h> FPROT1
  333. ; <i> Program Flash Region Protect Register 1
  334. ; <i> 9/32 - 16/32 region
  335. ; <o.0> FPROT1.0
  336. ; <o.1> FPROT1.1
  337. ; <o.2> FPROT1.2
  338. ; <o.3> FPROT1.3
  339. ; <o.4> FPROT1.4
  340. ; <o.5> FPROT1.5
  341. ; <o.6> FPROT1.6
  342. ; <o.7> FPROT1.7
  343. nFPROT1 EQU 0x00
  344. FPROT1 EQU nFPROT1:EOR:0xFF
  345. ; </h>
  346. ; <h> FPROT2
  347. ; <i> Program Flash Region Protect Register 2
  348. ; <i> 17/32 - 24/32 region
  349. ; <o.0> FPROT2.0
  350. ; <o.1> FPROT2.1
  351. ; <o.2> FPROT2.2
  352. ; <o.3> FPROT2.3
  353. ; <o.4> FPROT2.4
  354. ; <o.5> FPROT2.5
  355. ; <o.6> FPROT2.6
  356. ; <o.7> FPROT2.7
  357. nFPROT2 EQU 0x00
  358. FPROT2 EQU nFPROT2:EOR:0xFF
  359. ; </h>
  360. ; <h> FPROT3
  361. ; <i> Program Flash Region Protect Register 3
  362. ; <i> 25/32 - 32/32 region
  363. ; <o.0> FPROT3.0
  364. ; <o.1> FPROT3.1
  365. ; <o.2> FPROT3.2
  366. ; <o.3> FPROT3.3
  367. ; <o.4> FPROT3.4
  368. ; <o.5> FPROT3.5
  369. ; <o.6> FPROT3.6
  370. ; <o.7> FPROT3.7
  371. nFPROT3 EQU 0x00
  372. FPROT3 EQU nFPROT3:EOR:0xFF
  373. ; </h>
  374. ; </h>
  375. ; <h> Data flash protection byte (FDPROT)
  376. ; <i> Each bit protects a 1/8 region of the data flash memory.
  377. ; <i> (Program flash only devices: Reserved)
  378. ; <o.0> FDPROT.0
  379. ; <o.1> FDPROT.1
  380. ; <o.2> FDPROT.2
  381. ; <o.3> FDPROT.3
  382. ; <o.4> FDPROT.4
  383. ; <o.5> FDPROT.5
  384. ; <o.6> FDPROT.6
  385. ; <o.7> FDPROT.7
  386. nFDPROT EQU 0x00
  387. FDPROT EQU nFDPROT:EOR:0xFF
  388. ; </h>
  389. ; <h> EEPROM protection byte (FEPROT)
  390. ; <i> FlexNVM devices: Each bit protects a 1/8 region of the EEPROM.
  391. ; <i> (Program flash only devices: Reserved)
  392. ; <o.0> FEPROT.0
  393. ; <o.1> FEPROT.1
  394. ; <o.2> FEPROT.2
  395. ; <o.3> FEPROT.3
  396. ; <o.4> FEPROT.4
  397. ; <o.5> FEPROT.5
  398. ; <o.6> FEPROT.6
  399. ; <o.7> FEPROT.7
  400. nFEPROT EQU 0x00
  401. FEPROT EQU nFEPROT:EOR:0xFF
  402. ; </h>
  403. ; <h> Flash nonvolatile option byte (FOPT)
  404. ; <i> Allows the user to customize the operation of the MCU at boot time.
  405. ; <o.0> LPBOOT
  406. ; <0=> Low-power boot
  407. ; <1=> normal boot
  408. ; <o.1> EZPORT_DIS
  409. ; <0=> EzPort operation is enabled
  410. ; <1=> EzPort operation is disabled
  411. FOPT EQU 0xFF
  412. ; </h>
  413. ; <h> Flash security byte (FSEC)
  414. ; <i> WARNING: If SEC field is configured as "MCU security status is secure" and MEEN field is configured as "Mass erase is disabled",
  415. ; <i> MCU's security status cannot be set back to unsecure state since Mass erase via the debugger is blocked !!!
  416. ; <o.0..1> SEC
  417. ; <2=> MCU security status is unsecure
  418. ; <3=> MCU security status is secure
  419. ; <i> Flash Security
  420. ; <i> This bits define the security state of the MCU.
  421. ; <o.2..3> FSLACC
  422. ; <2=> Freescale factory access denied
  423. ; <3=> Freescale factory access granted
  424. ; <i> Freescale Failure Analysis Access Code
  425. ; <i> This bits define the security state of the MCU.
  426. ; <o.4..5> MEEN
  427. ; <2=> Mass erase is disabled
  428. ; <3=> Mass erase is enabled
  429. ; <i> Mass Erase Enable Bits
  430. ; <i> Enables and disables mass erase capability of the FTFL module
  431. ; <o.6..7> KEYEN
  432. ; <2=> Backdoor key access enabled
  433. ; <3=> Backdoor key access disabled
  434. ; <i> Backdoor key Security Enable
  435. ; <i> These bits enable and disable backdoor key access to the FTFL module.
  436. FSEC EQU 0xFE
  437. ; </h>
  438. ; </h>
  439. IF :LNOT::DEF:RAM_TARGET
  440. AREA |.ARM.__at_0x400|, CODE, READONLY
  441. DCB BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3
  442. DCB BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7
  443. DCB FPROT0, FPROT1, FPROT2, FPROT3
  444. DCB FSEC, FOPT, FEPROT, FDPROT
  445. ENDIF
  446. AREA |.text|, CODE, READONLY
  447. ; Reset Handler
  448. Reset_Handler PROC
  449. EXPORT Reset_Handler [WEAK]
  450. IMPORT SystemInit
  451. IMPORT __main
  452. LDR R0, =SystemInit
  453. BLX R0
  454. LDR R0, =__main
  455. BX R0
  456. ENDP
  457. ; Dummy Exception Handlers (infinite loops which can be modified)
  458. NMI_Handler PROC
  459. EXPORT NMI_Handler [WEAK]
  460. B .
  461. ENDP
  462. HardFault_Handler\
  463. PROC
  464. EXPORT HardFault_Handler [WEAK]
  465. B .
  466. ENDP
  467. MemManage_Handler\
  468. PROC
  469. EXPORT MemManage_Handler [WEAK]
  470. B .
  471. ENDP
  472. BusFault_Handler\
  473. PROC
  474. EXPORT BusFault_Handler [WEAK]
  475. B .
  476. ENDP
  477. UsageFault_Handler\
  478. PROC
  479. EXPORT UsageFault_Handler [WEAK]
  480. B .
  481. ENDP
  482. SVC_Handler PROC
  483. EXPORT SVC_Handler [WEAK]
  484. B .
  485. ENDP
  486. DebugMon_Handler\
  487. PROC
  488. EXPORT DebugMon_Handler [WEAK]
  489. B .
  490. ENDP
  491. PendSV_Handler PROC
  492. EXPORT PendSV_Handler [WEAK]
  493. B .
  494. ENDP
  495. SysTick_Handler PROC
  496. EXPORT SysTick_Handler [WEAK]
  497. B .
  498. ENDP
  499. Default_Handler PROC
  500. EXPORT DMA0_IRQHandler [WEAK]
  501. EXPORT DMA1_IRQHandler [WEAK]
  502. EXPORT DMA2_IRQHandler [WEAK]
  503. EXPORT DMA3_IRQHandler [WEAK]
  504. EXPORT DMA4_IRQHandler [WEAK]
  505. EXPORT DMA5_IRQHandler [WEAK]
  506. EXPORT DMA6_IRQHandler [WEAK]
  507. EXPORT DMA7_IRQHandler [WEAK]
  508. EXPORT DMA8_IRQHandler [WEAK]
  509. EXPORT DMA9_IRQHandler [WEAK]
  510. EXPORT DMA10_IRQHandler [WEAK]
  511. EXPORT DMA11_IRQHandler [WEAK]
  512. EXPORT DMA12_IRQHandler [WEAK]
  513. EXPORT DMA13_IRQHandler [WEAK]
  514. EXPORT DMA14_IRQHandler [WEAK]
  515. EXPORT DMA15_IRQHandler [WEAK]
  516. EXPORT DMA_Error_IRQHandler [WEAK]
  517. EXPORT MCM_IRQHandler [WEAK]
  518. EXPORT FTFE_IRQHandler [WEAK]
  519. EXPORT Read_Collision_IRQHandler [WEAK]
  520. EXPORT LVD_LVW_IRQHandler [WEAK]
  521. EXPORT LLW_IRQHandler [WEAK]
  522. EXPORT Watchdog_IRQHandler [WEAK]
  523. EXPORT RNG_IRQHandler [WEAK]
  524. EXPORT I2C0_IRQHandler [WEAK]
  525. EXPORT I2C1_IRQHandler [WEAK]
  526. EXPORT SPI0_IRQHandler [WEAK]
  527. EXPORT SPI1_IRQHandler [WEAK]
  528. EXPORT I2S0_Tx_IRQHandler [WEAK]
  529. EXPORT I2S0_Rx_IRQHandler [WEAK]
  530. EXPORT UART0_LON_IRQHandler [WEAK]
  531. EXPORT UART0_RX_TX_IRQHandler [WEAK]
  532. EXPORT UART0_ERR_IRQHandler [WEAK]
  533. EXPORT UART1_RX_TX_IRQHandler [WEAK]
  534. EXPORT UART1_ERR_IRQHandler [WEAK]
  535. EXPORT UART2_RX_TX_IRQHandler [WEAK]
  536. EXPORT UART2_ERR_IRQHandler [WEAK]
  537. EXPORT UART3_RX_TX_IRQHandler [WEAK]
  538. EXPORT UART3_ERR_IRQHandler [WEAK]
  539. EXPORT ADC0_IRQHandler [WEAK]
  540. EXPORT CMP0_IRQHandler [WEAK]
  541. EXPORT CMP1_IRQHandler [WEAK]
  542. EXPORT FTM0_IRQHandler [WEAK]
  543. EXPORT FTM1_IRQHandler [WEAK]
  544. EXPORT FTM2_IRQHandler [WEAK]
  545. EXPORT CMT_IRQHandler [WEAK]
  546. EXPORT RTC_IRQHandler [WEAK]
  547. EXPORT RTC_Seconds_IRQHandler [WEAK]
  548. EXPORT PIT0_IRQHandler [WEAK]
  549. EXPORT PIT1_IRQHandler [WEAK]
  550. EXPORT PIT2_IRQHandler [WEAK]
  551. EXPORT PIT3_IRQHandler [WEAK]
  552. EXPORT PDB0_IRQHandler [WEAK]
  553. EXPORT USB0_IRQHandler [WEAK]
  554. EXPORT USBDCD_IRQHandler [WEAK]
  555. EXPORT Reserved71_IRQHandler [WEAK]
  556. EXPORT DAC0_IRQHandler [WEAK]
  557. EXPORT MCG_IRQHandler [WEAK]
  558. EXPORT LPTimer_IRQHandler [WEAK]
  559. EXPORT PORTA_IRQHandler [WEAK]
  560. EXPORT PORTB_IRQHandler [WEAK]
  561. EXPORT PORTC_IRQHandler [WEAK]
  562. EXPORT PORTD_IRQHandler [WEAK]
  563. EXPORT PORTE_IRQHandler [WEAK]
  564. EXPORT SWI_IRQHandler [WEAK]
  565. EXPORT SPI2_IRQHandler [WEAK]
  566. EXPORT UART4_RX_TX_IRQHandler [WEAK]
  567. EXPORT UART4_ERR_IRQHandler [WEAK]
  568. EXPORT UART5_RX_TX_IRQHandler [WEAK]
  569. EXPORT UART5_ERR_IRQHandler [WEAK]
  570. EXPORT CMP2_IRQHandler [WEAK]
  571. EXPORT FTM3_IRQHandler [WEAK]
  572. EXPORT DAC1_IRQHandler [WEAK]
  573. EXPORT ADC1_IRQHandler [WEAK]
  574. EXPORT I2C2_IRQHandler [WEAK]
  575. EXPORT CAN0_ORed_Message_buffer_IRQHandler [WEAK]
  576. EXPORT CAN0_Bus_Off_IRQHandler [WEAK]
  577. EXPORT CAN0_Error_IRQHandler [WEAK]
  578. EXPORT CAN0_Tx_Warning_IRQHandler [WEAK]
  579. EXPORT CAN0_Rx_Warning_IRQHandler [WEAK]
  580. EXPORT CAN0_Wake_Up_IRQHandler [WEAK]
  581. EXPORT SDHC_IRQHandler [WEAK]
  582. EXPORT ENET_1588_Timer_IRQHandler [WEAK]
  583. EXPORT ENET_Transmit_IRQHandler [WEAK]
  584. EXPORT ENET_Receive_IRQHandler [WEAK]
  585. EXPORT ENET_Error_IRQHandler [WEAK]
  586. DMA0_IRQHandler ; DMA Channel 0 Transfer Complete
  587. DMA1_IRQHandler ; DMA Channel 1 Transfer Complete
  588. DMA2_IRQHandler ; DMA Channel 2 Transfer Complete
  589. DMA3_IRQHandler ; DMA Channel 3 Transfer Complete
  590. DMA4_IRQHandler ; DMA Channel 4 Transfer Complete
  591. DMA5_IRQHandler ; DMA Channel 5 Transfer Complete
  592. DMA6_IRQHandler ; DMA Channel 6 Transfer Complete
  593. DMA7_IRQHandler ; DMA Channel 7 Transfer Complete
  594. DMA8_IRQHandler ; DMA Channel 8 Transfer Complete
  595. DMA9_IRQHandler ; DMA Channel 9 Transfer Complete
  596. DMA10_IRQHandler ; DMA Channel 10 Transfer Complete
  597. DMA11_IRQHandler ; DMA Channel 11 Transfer Complete
  598. DMA12_IRQHandler ; DMA Channel 12 Transfer Complete
  599. DMA13_IRQHandler ; DMA Channel 13 Transfer Complete
  600. DMA14_IRQHandler ; DMA Channel 14 Transfer Complete
  601. DMA15_IRQHandler ; DMA Channel 15 Transfer Complete
  602. DMA_Error_IRQHandler ; DMA Error Interrupt
  603. MCM_IRQHandler ; Normal Interrupt
  604. FTFE_IRQHandler ; FTFE Command complete interrupt
  605. Read_Collision_IRQHandler ; Read Collision Interrupt
  606. LVD_LVW_IRQHandler ; Low Voltage Detect, Low Voltage Warning
  607. LLW_IRQHandler ; Low Leakage Wakeup
  608. Watchdog_IRQHandler ; WDOG Interrupt
  609. RNG_IRQHandler ; RNG Interrupt
  610. I2C0_IRQHandler ; I2C0 interrupt
  611. I2C1_IRQHandler ; I2C1 interrupt
  612. SPI0_IRQHandler ; SPI0 Interrupt
  613. SPI1_IRQHandler ; SPI1 Interrupt
  614. I2S0_Tx_IRQHandler ; I2S0 transmit interrupt
  615. I2S0_Rx_IRQHandler ; I2S0 receive interrupt
  616. UART0_LON_IRQHandler ; UART0 LON interrupt
  617. UART0_RX_TX_IRQHandler ; UART0 Receive/Transmit interrupt
  618. UART0_ERR_IRQHandler ; UART0 Error interrupt
  619. UART1_RX_TX_IRQHandler ; UART1 Receive/Transmit interrupt
  620. UART1_ERR_IRQHandler ; UART1 Error interrupt
  621. UART2_RX_TX_IRQHandler ; UART2 Receive/Transmit interrupt
  622. UART2_ERR_IRQHandler ; UART2 Error interrupt
  623. UART3_RX_TX_IRQHandler ; UART3 Receive/Transmit interrupt
  624. UART3_ERR_IRQHandler ; UART3 Error interrupt
  625. ADC0_IRQHandler ; ADC0 interrupt
  626. CMP0_IRQHandler ; CMP0 interrupt
  627. CMP1_IRQHandler ; CMP1 interrupt
  628. FTM0_IRQHandler ; FTM0 fault, overflow and channels interrupt
  629. FTM1_IRQHandler ; FTM1 fault, overflow and channels interrupt
  630. FTM2_IRQHandler ; FTM2 fault, overflow and channels interrupt
  631. CMT_IRQHandler ; CMT interrupt
  632. RTC_IRQHandler ; RTC interrupt
  633. RTC_Seconds_IRQHandler ; RTC seconds interrupt
  634. PIT0_IRQHandler ; PIT timer channel 0 interrupt
  635. PIT1_IRQHandler ; PIT timer channel 1 interrupt
  636. PIT2_IRQHandler ; PIT timer channel 2 interrupt
  637. PIT3_IRQHandler ; PIT timer channel 3 interrupt
  638. PDB0_IRQHandler ; PDB0 Interrupt
  639. USB0_IRQHandler ; USB0 interrupt
  640. USBDCD_IRQHandler ; USBDCD Interrupt
  641. Reserved71_IRQHandler ; Reserved interrupt 71
  642. DAC0_IRQHandler ; DAC0 interrupt
  643. MCG_IRQHandler ; MCG Interrupt
  644. LPTimer_IRQHandler ; LPTimer interrupt
  645. PORTA_IRQHandler ; Port A interrupt
  646. PORTB_IRQHandler ; Port B interrupt
  647. PORTC_IRQHandler ; Port C interrupt
  648. PORTD_IRQHandler ; Port D interrupt
  649. PORTE_IRQHandler ; Port E interrupt
  650. SWI_IRQHandler ; Software interrupt
  651. SPI2_IRQHandler ; SPI2 Interrupt
  652. UART4_RX_TX_IRQHandler ; UART4 Receive/Transmit interrupt
  653. UART4_ERR_IRQHandler ; UART4 Error interrupt
  654. UART5_RX_TX_IRQHandler ; UART5 Receive/Transmit interrupt
  655. UART5_ERR_IRQHandler ; UART5 Error interrupt
  656. CMP2_IRQHandler ; CMP2 interrupt
  657. FTM3_IRQHandler ; FTM3 fault, overflow and channels interrupt
  658. DAC1_IRQHandler ; DAC1 interrupt
  659. ADC1_IRQHandler ; ADC1 interrupt
  660. I2C2_IRQHandler ; I2C2 interrupt
  661. CAN0_ORed_Message_buffer_IRQHandler ; CAN0 OR'd message buffers interrupt
  662. CAN0_Bus_Off_IRQHandler ; CAN0 bus off interrupt
  663. CAN0_Error_IRQHandler ; CAN0 error interrupt
  664. CAN0_Tx_Warning_IRQHandler ; CAN0 Tx warning interrupt
  665. CAN0_Rx_Warning_IRQHandler ; CAN0 Rx warning interrupt
  666. CAN0_Wake_Up_IRQHandler ; CAN0 wake up interrupt
  667. SDHC_IRQHandler ; SDHC interrupt
  668. ENET_1588_Timer_IRQHandler ; Ethernet MAC IEEE 1588 Timer Interrupt
  669. ENET_Transmit_IRQHandler ; Ethernet MAC Transmit Interrupt
  670. ENET_Receive_IRQHandler ; Ethernet MAC Receive Interrupt
  671. ENET_Error_IRQHandler ; Ethernet MAC Error and miscelaneous Interrupt
  672. DefaultISR
  673. B .
  674. ENDP
  675. ALIGN
  676. ; User Initial Stack & Heap
  677. IF :DEF:__MICROLIB
  678. EXPORT __initial_sp
  679. EXPORT __heap_base
  680. EXPORT __heap_limit
  681. ELSE
  682. IMPORT __use_two_region_memory
  683. EXPORT __user_initial_stackheap
  684. __user_initial_stackheap
  685. LDR R0, = Heap_Mem
  686. LDR R1, =(Stack_Mem + Stack_Size)
  687. LDR R2, = (Heap_Mem + Heap_Size)
  688. LDR R3, = Stack_Mem
  689. BX LR
  690. ALIGN
  691. ENDIF
  692. END