startup_SWM320.s 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. ;******************************************************************************************************************************************
  2. ; 文件名称: startup_SWM2400.s
  3. ; 功能说明: SWM2400单片机的启动文件
  4. ; 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1
  5. ; 注意事项:
  6. ; 版本日期: V1.0.0 2016年1月30日
  7. ; 升级记录:
  8. ;
  9. ;
  10. ;******************************************************************************************************************************************
  11. ; @attention
  12. ;
  13. ; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
  14. ; REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
  15. ; FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
  16. ; OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
  17. ; -ECTION WITH THEIR PRODUCTS.
  18. ;
  19. ; COPYRIGHT 2012 Synwit Technology
  20. ;******************************************************************************************************************************************
  21. MODULE ?cstartup
  22. ;; Forward declaration of sections.
  23. SECTION CSTACK:DATA:NOROOT(3)
  24. SECTION .intvec:CODE:NOROOT(2)
  25. EXTERN __iar_program_start
  26. PUBLIC __vector_table
  27. DATA
  28. __vector_table
  29. DCD sfe(CSTACK)
  30. DCD Reset_Handler ; Reset Handler
  31. DCD NMI_Handler ; NMI Handler
  32. DCD HardFault_Handler ; Hard Fault Handler
  33. DCD MemManage_Handler ; MPU Fault Handler
  34. DCD BusFault_Handler ; Bus Fault Handler
  35. DCD UsageFault_Handler ; Usage Fault Handler
  36. DCD 0 ; Reserved
  37. DCD 0 ; Reserved
  38. DCD 0 ; Reserved
  39. DCD 0 ; Reserved
  40. DCD SVC_Handler ; SVCall Handler
  41. DCD DebugMon_Handler ; Debug Monitor Handler
  42. DCD 0 ; Reserved
  43. DCD PendSV_Handler ; PendSV Handler
  44. DCD SysTick_Handler ; SysTick Handler
  45. ; External Interrupts
  46. DCD GPIOA0_Handler
  47. DCD GPIOA1_Handler
  48. DCD GPIOA2_Handler
  49. DCD GPIOA3_Handler
  50. DCD GPIOA4_Handler
  51. DCD GPIOA5_Handler
  52. DCD GPIOA6_Handler
  53. DCD GPIOA7_Handler
  54. DCD GPIOB0_Handler
  55. DCD GPIOB1_Handler
  56. DCD GPIOB2_Handler
  57. DCD GPIOB3_Handler
  58. DCD GPIOB4_Handler
  59. DCD GPIOB5_Handler
  60. DCD GPIOB6_Handler
  61. DCD GPIOB7_Handler
  62. DCD GPIOC0_Handler
  63. DCD GPIOC1_Handler
  64. DCD GPIOC2_Handler
  65. DCD GPIOC3_Handler
  66. DCD GPIOC4_Handler
  67. DCD GPIOC5_Handler
  68. DCD GPIOC6_Handler
  69. DCD GPIOC7_Handler
  70. DCD GPIOM0_Handler
  71. DCD GPIOM1_Handler
  72. DCD GPIOM2_Handler
  73. DCD GPIOM3_Handler
  74. DCD GPIOM4_Handler
  75. DCD GPIOM5_Handler
  76. DCD GPIOM6_Handler
  77. DCD GPIOM7_Handler
  78. DCD DMA_Handler
  79. DCD LCD_Handler
  80. DCD NORFLC_Handler
  81. DCD CAN_Handler
  82. DCD PULSE_Handler
  83. DCD WDT_Handler
  84. DCD PWM_Handler
  85. DCD UART0_Handler
  86. DCD UART1_Handler
  87. DCD UART2_Handler
  88. DCD UART3_Handler
  89. DCD 0
  90. DCD I2C0_Handler
  91. DCD I2C1_Handler
  92. DCD SPI0_Handler
  93. DCD ADC0_Handler
  94. DCD RTC_Handler
  95. DCD BOD_Handler
  96. DCD SDIO_Handler
  97. DCD GPIOA_Handler
  98. DCD GPIOB_Handler
  99. DCD GPIOC_Handler
  100. DCD GPIOM_Handler
  101. DCD GPION_Handler
  102. DCD GPIOP_Handler
  103. DCD ADC1_Handler
  104. DCD FPU_Handler
  105. DCD SPI1_Handler
  106. DCD TIMR0_Handler
  107. DCD TIMR1_Handler
  108. DCD TIMR2_Handler
  109. DCD TIMR3_Handler
  110. DCD TIMR4_Handler
  111. DCD TIMR5_Handler
  112. THUMB
  113. PUBWEAK Reset_Handler
  114. SECTION .text:CODE:REORDER:NOROOT(2)
  115. Reset_Handler
  116. LDR R0, =__iar_program_start
  117. BX R0
  118. PUBWEAK NMI_Handler
  119. SECTION .text:CODE:REORDER:NOROOT(1)
  120. NMI_Handler
  121. B NMI_Handler
  122. PUBWEAK HardFault_Handler
  123. SECTION .text:CODE:REORDER:NOROOT(1)
  124. HardFault_Handler
  125. B HardFault_Handler
  126. PUBWEAK MemManage_Handler
  127. SECTION .text:CODE:REORDER:NOROOT(1)
  128. MemManage_Handler
  129. B MemManage_Handler
  130. PUBWEAK BusFault_Handler
  131. SECTION .text:CODE:REORDER:NOROOT(1)
  132. BusFault_Handler
  133. B BusFault_Handler
  134. PUBWEAK UsageFault_Handler
  135. SECTION .text:CODE:REORDER:NOROOT(1)
  136. UsageFault_Handler
  137. B UsageFault_Handler
  138. PUBWEAK SVC_Handler
  139. SECTION .text:CODE:REORDER:NOROOT(1)
  140. SVC_Handler
  141. B SVC_Handler
  142. PUBWEAK DebugMon_Handler
  143. SECTION .text:CODE:REORDER:NOROOT(1)
  144. DebugMon_Handler
  145. B DebugMon_Handler
  146. PUBWEAK PendSV_Handler
  147. SECTION .text:CODE:REORDER:NOROOT(1)
  148. PendSV_Handler
  149. B PendSV_Handler
  150. PUBWEAK SysTick_Handler
  151. SECTION .text:CODE:REORDER:NOROOT(1)
  152. SysTick_Handler
  153. B SysTick_Handler
  154. PUBWEAK GPIOA0_Handler
  155. SECTION .text:CODE:REORDER:NOROOT(1)
  156. GPIOA0_Handler
  157. B GPIOA0_Handler
  158. PUBWEAK GPIOA1_Handler
  159. SECTION .text:CODE:REORDER:NOROOT(1)
  160. GPIOA1_Handler
  161. B GPIOA1_Handler
  162. PUBWEAK GPIOA2_Handler
  163. SECTION .text:CODE:REORDER:NOROOT(1)
  164. GPIOA2_Handler
  165. B GPIOA2_Handler
  166. PUBWEAK GPIOA3_Handler
  167. SECTION .text:CODE:REORDER:NOROOT(1)
  168. GPIOA3_Handler
  169. B GPIOA3_Handler
  170. PUBWEAK GPIOA4_Handler
  171. SECTION .text:CODE:REORDER:NOROOT(1)
  172. GPIOA4_Handler
  173. B GPIOA4_Handler
  174. PUBWEAK GPIOA5_Handler
  175. SECTION .text:CODE:REORDER:NOROOT(1)
  176. GPIOA5_Handler
  177. B GPIOA5_Handler
  178. PUBWEAK GPIOA6_Handler
  179. SECTION .text:CODE:REORDER:NOROOT(1)
  180. GPIOA6_Handler
  181. B GPIOA6_Handler
  182. PUBWEAK GPIOA7_Handler
  183. SECTION .text:CODE:REORDER:NOROOT(1)
  184. GPIOA7_Handler
  185. B GPIOA7_Handler
  186. PUBWEAK GPIOB0_Handler
  187. SECTION .text:CODE:REORDER:NOROOT(1)
  188. GPIOB0_Handler
  189. B GPIOB0_Handler
  190. PUBWEAK GPIOB1_Handler
  191. SECTION .text:CODE:REORDER:NOROOT(1)
  192. GPIOB1_Handler
  193. B GPIOB1_Handler
  194. PUBWEAK GPIOB2_Handler
  195. SECTION .text:CODE:REORDER:NOROOT(1)
  196. GPIOB2_Handler
  197. B GPIOB2_Handler
  198. PUBWEAK GPIOB3_Handler
  199. SECTION .text:CODE:REORDER:NOROOT(1)
  200. GPIOB3_Handler
  201. B GPIOB3_Handler
  202. PUBWEAK GPIOB4_Handler
  203. SECTION .text:CODE:REORDER:NOROOT(1)
  204. GPIOB4_Handler
  205. B GPIOB4_Handler
  206. PUBWEAK GPIOB5_Handler
  207. SECTION .text:CODE:REORDER:NOROOT(1)
  208. GPIOB5_Handler
  209. B GPIOB5_Handler
  210. PUBWEAK GPIOB6_Handler
  211. SECTION .text:CODE:REORDER:NOROOT(1)
  212. GPIOB6_Handler
  213. B GPIOB6_Handler
  214. PUBWEAK GPIOB7_Handler
  215. SECTION .text:CODE:REORDER:NOROOT(1)
  216. GPIOB7_Handler
  217. B GPIOB7_Handler
  218. PUBWEAK GPIOC0_Handler
  219. SECTION .text:CODE:REORDER:NOROOT(1)
  220. GPIOC0_Handler
  221. B GPIOC0_Handler
  222. PUBWEAK GPIOC1_Handler
  223. SECTION .text:CODE:REORDER:NOROOT(1)
  224. GPIOC1_Handler
  225. B GPIOC1_Handler
  226. PUBWEAK GPIOC2_Handler
  227. SECTION .text:CODE:REORDER:NOROOT(1)
  228. GPIOC2_Handler
  229. B GPIOC2_Handler
  230. PUBWEAK GPIOC3_Handler
  231. SECTION .text:CODE:REORDER:NOROOT(1)
  232. GPIOC3_Handler
  233. B GPIOC3_Handler
  234. PUBWEAK GPIOC4_Handler
  235. SECTION .text:CODE:REORDER:NOROOT(1)
  236. GPIOC4_Handler
  237. B GPIOC4_Handler
  238. PUBWEAK GPIOC5_Handler
  239. SECTION .text:CODE:REORDER:NOROOT(1)
  240. GPIOC5_Handler
  241. B GPIOC5_Handler
  242. PUBWEAK GPIOC6_Handler
  243. SECTION .text:CODE:REORDER:NOROOT(1)
  244. GPIOC6_Handler
  245. B GPIOC6_Handler
  246. PUBWEAK GPIOC7_Handler
  247. SECTION .text:CODE:REORDER:NOROOT(1)
  248. GPIOC7_Handler
  249. B GPIOC7_Handler
  250. PUBWEAK GPIOM0_Handler
  251. SECTION .text:CODE:REORDER:NOROOT(1)
  252. GPIOM0_Handler
  253. B GPIOM0_Handler
  254. PUBWEAK GPIOM1_Handler
  255. SECTION .text:CODE:REORDER:NOROOT(1)
  256. GPIOM1_Handler
  257. B GPIOM1_Handler
  258. PUBWEAK GPIOM2_Handler
  259. SECTION .text:CODE:REORDER:NOROOT(1)
  260. GPIOM2_Handler
  261. B GPIOM2_Handler
  262. PUBWEAK GPIOM3_Handler
  263. SECTION .text:CODE:REORDER:NOROOT(1)
  264. GPIOM3_Handler
  265. B GPIOM3_Handler
  266. PUBWEAK GPIOM4_Handler
  267. SECTION .text:CODE:REORDER:NOROOT(1)
  268. GPIOM4_Handler
  269. B GPIOM4_Handler
  270. PUBWEAK GPIOM5_Handler
  271. SECTION .text:CODE:REORDER:NOROOT(1)
  272. GPIOM5_Handler
  273. B GPIOM5_Handler
  274. PUBWEAK GPIOM6_Handler
  275. SECTION .text:CODE:REORDER:NOROOT(1)
  276. GPIOM6_Handler
  277. B GPIOM6_Handler
  278. PUBWEAK GPIOM7_Handler
  279. SECTION .text:CODE:REORDER:NOROOT(1)
  280. GPIOM7_Handler
  281. B GPIOM7_Handler
  282. PUBWEAK DMA_Handler
  283. SECTION .text:CODE:REORDER:NOROOT(1)
  284. DMA_Handler
  285. B DMA_Handler
  286. PUBWEAK LCD_Handler
  287. SECTION .text:CODE:REORDER:NOROOT(1)
  288. LCD_Handler
  289. B LCD_Handler
  290. PUBWEAK NORFLC_Handler
  291. SECTION .text:CODE:REORDER:NOROOT(1)
  292. NORFLC_Handler
  293. B NORFLC_Handler
  294. PUBWEAK CAN_Handler
  295. SECTION .text:CODE:REORDER:NOROOT(1)
  296. CAN_Handler
  297. B CAN_Handler
  298. PUBWEAK PULSE_Handler
  299. SECTION .text:CODE:REORDER:NOROOT(1)
  300. PULSE_Handler
  301. B PULSE_Handler
  302. PUBWEAK WDT_Handler
  303. SECTION .text:CODE:REORDER:NOROOT(1)
  304. WDT_Handler
  305. B WDT_Handler
  306. PUBWEAK PWM_Handler
  307. SECTION .text:CODE:REORDER:NOROOT(1)
  308. PWM_Handler
  309. B PWM_Handler
  310. PUBWEAK UART0_Handler
  311. SECTION .text:CODE:REORDER:NOROOT(1)
  312. UART0_Handler
  313. B UART0_Handler
  314. PUBWEAK UART1_Handler
  315. SECTION .text:CODE:REORDER:NOROOT(1)
  316. UART1_Handler
  317. B UART1_Handler
  318. PUBWEAK UART2_Handler
  319. SECTION .text:CODE:REORDER:NOROOT(1)
  320. UART2_Handler
  321. B UART2_Handler
  322. PUBWEAK UART3_Handler
  323. SECTION .text:CODE:REORDER:NOROOT(1)
  324. UART3_Handler
  325. B UART3_Handler
  326. PUBWEAK I2C0_Handler
  327. SECTION .text:CODE:REORDER:NOROOT(1)
  328. I2C0_Handler
  329. B I2C0_Handler
  330. PUBWEAK I2C1_Handler
  331. SECTION .text:CODE:REORDER:NOROOT(1)
  332. I2C1_Handler
  333. B I2C1_Handler
  334. PUBWEAK SPI0_Handler
  335. SECTION .text:CODE:REORDER:NOROOT(1)
  336. SPI0_Handler
  337. B SPI0_Handler
  338. PUBWEAK ADC0_Handler
  339. SECTION .text:CODE:REORDER:NOROOT(1)
  340. ADC0_Handler
  341. B ADC0_Handler
  342. PUBWEAK RTC_Handler
  343. SECTION .text:CODE:REORDER:NOROOT(1)
  344. RTC_Handler
  345. B RTC_Handler
  346. PUBWEAK BOD_Handler
  347. SECTION .text:CODE:REORDER:NOROOT(1)
  348. BOD_Handler
  349. B BOD_Handler
  350. PUBWEAK SDIO_Handler
  351. SECTION .text:CODE:REORDER:NOROOT(1)
  352. SDIO_Handler
  353. B SDIO_Handler
  354. PUBWEAK GPIOA_Handler
  355. SECTION .text:CODE:REORDER:NOROOT(1)
  356. GPIOA_Handler
  357. B GPIOA_Handler
  358. PUBWEAK GPIOB_Handler
  359. SECTION .text:CODE:REORDER:NOROOT(1)
  360. GPIOB_Handler
  361. B GPIOB_Handler
  362. PUBWEAK GPIOC_Handler
  363. SECTION .text:CODE:REORDER:NOROOT(1)
  364. GPIOC_Handler
  365. B GPIOC_Handler
  366. PUBWEAK GPIOM_Handler
  367. SECTION .text:CODE:REORDER:NOROOT(1)
  368. GPIOM_Handler
  369. B GPIOM_Handler
  370. PUBWEAK GPION_Handler
  371. SECTION .text:CODE:REORDER:NOROOT(1)
  372. GPION_Handler
  373. B GPION_Handler
  374. PUBWEAK GPIOP_Handler
  375. SECTION .text:CODE:REORDER:NOROOT(1)
  376. GPIOP_Handler
  377. B GPIOP_Handler
  378. PUBWEAK ADC1_Handler
  379. SECTION .text:CODE:REORDER:NOROOT(1)
  380. ADC1_Handler
  381. B ADC1_Handler
  382. PUBWEAK FPU_Handler
  383. SECTION .text:CODE:REORDER:NOROOT(1)
  384. FPU_Handler
  385. B FPU_Handler
  386. PUBWEAK SPI1_Handler
  387. SECTION .text:CODE:REORDER:NOROOT(1)
  388. SPI1_Handler
  389. B SPI1_Handler
  390. PUBWEAK TIMR0_Handler
  391. SECTION .text:CODE:REORDER:NOROOT(1)
  392. TIMR0_Handler
  393. B TIMR0_Handler
  394. PUBWEAK TIMR1_Handler
  395. SECTION .text:CODE:REORDER:NOROOT(1)
  396. TIMR1_Handler
  397. B TIMR1_Handler
  398. PUBWEAK TIMR2_Handler
  399. SECTION .text:CODE:REORDER:NOROOT(1)
  400. TIMR2_Handler
  401. B TIMR2_Handler
  402. PUBWEAK TIMR3_Handler
  403. SECTION .text:CODE:REORDER:NOROOT(1)
  404. TIMR3_Handler
  405. B TIMR3_Handler
  406. PUBWEAK TIMR4_Handler
  407. SECTION .text:CODE:REORDER:NOROOT(1)
  408. TIMR4_Handler
  409. B TIMR4_Handler
  410. PUBWEAK TIMR5_Handler
  411. SECTION .text:CODE:REORDER:NOROOT(1)
  412. TIMR5_Handler
  413. B TIMR5_Handler
  414. END