context_rvds.lst 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581
  1. ARM Macro Assembler Page 1
  2. 1 00000000 ;/*
  3. 2 00000000 ;* Copyright (c) 2006-2018, RT-Thread Development Team
  4. 3 00000000 ;*
  5. 4 00000000 ;* SPDX-License-Identifier: Apache-2.0
  6. 5 00000000 ;*
  7. 6 00000000 ; * Change Logs:
  8. 7 00000000 ; * Date Author Notes
  9. 8 00000000 ; * 2009-01-17 Bernard first version.
  10. 9 00000000 ; * 2012-01-01 aozima support context switch l
  11. oad/store FPU register.
  12. 10 00000000 ; * 2013-06-18 aozima add restore MSP feature.
  13. 11 00000000 ; * 2013-06-23 aozima support lazy stack optim
  14. ized.
  15. 12 00000000 ; * 2018-07-24 aozima enhancement hard fault e
  16. xception handler.
  17. 13 00000000 ; */
  18. 14 00000000
  19. 15 00000000 ;/**
  20. 16 00000000 ; * @addtogroup cortex-m4
  21. 17 00000000 ; */
  22. 18 00000000 ;/*@{*/
  23. 19 00000000
  24. 20 00000000 E000ED08
  25. SCB_VTOR
  26. EQU 0xE000ED08 ; Vector Table Offs
  27. et Register
  28. 21 00000000 E000ED04
  29. NVIC_INT_CTRL
  30. EQU 0xE000ED04 ; interrupt control
  31. state register
  32. 22 00000000 E000ED20
  33. NVIC_SYSPRI2
  34. EQU 0xE000ED20 ; system priority r
  35. egister (2)
  36. 23 00000000 FFFF0000
  37. NVIC_PENDSV_PRI
  38. EQU 0xFFFF0000 ; PendSV and SysTic
  39. k priority value (l
  40. owest)
  41. 24 00000000 10000000
  42. NVIC_PENDSVSET
  43. EQU 0x10000000 ; value to trigger
  44. PendSV exception
  45. 25 00000000
  46. 26 00000000 AREA |.text|, CODE, READONLY, ALIGN=
  47. 2
  48. 27 00000000 THUMB
  49. 28 00000000 REQUIRE8
  50. 29 00000000 PRESERVE8
  51. 30 00000000
  52. 31 00000000 IMPORT rt_thread_switch_interrupt_flag
  53. 32 00000000 IMPORT rt_interrupt_from_thread
  54. 33 00000000 IMPORT rt_interrupt_to_thread
  55. 34 00000000
  56. 35 00000000 ;/*
  57. 36 00000000 ; * rt_base_t rt_hw_interrupt_disable();
  58. 37 00000000 ; */
  59. 38 00000000 rt_hw_interrupt_disable
  60. ARM Macro Assembler Page 2
  61. PROC
  62. 39 00000000 EXPORT rt_hw_interrupt_disable
  63. 40 00000000 F3EF 8010 MRS r0, PRIMASK
  64. 41 00000004 B672 CPSID I
  65. 42 00000006 4770 BX LR
  66. 43 00000008 ENDP
  67. 44 00000008
  68. 45 00000008 ;/*
  69. 46 00000008 ; * void rt_hw_interrupt_enable(rt_base_t level);
  70. 47 00000008 ; */
  71. 48 00000008 rt_hw_interrupt_enable
  72. PROC
  73. 49 00000008 EXPORT rt_hw_interrupt_enable
  74. 50 00000008 F380 8810 MSR PRIMASK, r0
  75. 51 0000000C 4770 BX LR
  76. 52 0000000E ENDP
  77. 53 0000000E
  78. 54 0000000E ;/*
  79. 55 0000000E ; * void rt_hw_context_switch(rt_uint32 from, rt_uint32
  80. to);
  81. 56 0000000E ; * r0 --> from
  82. 57 0000000E ; * r1 --> to
  83. 58 0000000E ; */
  84. 59 0000000E rt_hw_context_switch_interrupt
  85. 60 0000000E EXPORT rt_hw_context_switch_interrupt
  86. 61 0000000E rt_hw_context_switch
  87. PROC
  88. 62 0000000E EXPORT rt_hw_context_switch
  89. 63 0000000E
  90. 64 0000000E ; set rt_thread_switch_interrupt_flag to 1
  91. 65 0000000E 4A44 LDR r2, =rt_thread_switch_interrupt
  92. _flag
  93. 66 00000010 6813 LDR r3, [r2]
  94. 67 00000012 2B01 CMP r3, #1
  95. 68 00000014 D004 BEQ _reswitch
  96. 69 00000016 F04F 0301 MOV r3, #1
  97. 70 0000001A 6013 STR r3, [r2]
  98. 71 0000001C
  99. 72 0000001C 4A41 LDR r2, =rt_interrupt_from_thread ;
  100. set rt_interrupt_f
  101. rom_thread
  102. 73 0000001E 6010 STR r0, [r2]
  103. 74 00000020
  104. 75 00000020 _reswitch
  105. 76 00000020 4A41 LDR r2, =rt_interrupt_to_thread ; s
  106. et rt_interrupt_to_
  107. thread
  108. 77 00000022 6011 STR r1, [r2]
  109. 78 00000024
  110. 79 00000024 4841 LDR r0, =NVIC_INT_CTRL ; trigger th
  111. e PendSV exception
  112. (causes context swi
  113. tch)
  114. 80 00000026 F04F 5180 LDR r1, =NVIC_PENDSVSET
  115. 81 0000002A 6001 STR r1, [r0]
  116. 82 0000002C 4770 BX LR
  117. 83 0000002E ENDP
  118. 84 0000002E
  119. 85 0000002E ; r0 --> switch from thread stack
  120. ARM Macro Assembler Page 3
  121. 86 0000002E ; r1 --> switch to thread stack
  122. 87 0000002E ; psr, pc, lr, r12, r3, r2, r1, r0 are pushed into [from
  123. ] stack
  124. 88 0000002E PendSV_Handler
  125. PROC
  126. 89 0000002E EXPORT PendSV_Handler
  127. 90 0000002E
  128. 91 0000002E ; disable interrupt to protect context switch
  129. 92 0000002E F3EF 8210 MRS r2, PRIMASK
  130. 93 00000032 B672 CPSID I
  131. 94 00000034
  132. 95 00000034 ; get rt_thread_switch_interrupt_flag
  133. 96 00000034 483A LDR r0, =rt_thread_switch_interrupt
  134. _flag
  135. 97 00000036 6801 LDR r1, [r0]
  136. 98 00000038 B351 CBZ r1, pendsv_exit ; pendsv alread
  137. y handled
  138. 99 0000003A
  139. 100 0000003A ; clear rt_thread_switch_interrupt_flag to 0
  140. 101 0000003A F04F 0100 MOV r1, #0x00
  141. 102 0000003E 6001 STR r1, [r0]
  142. 103 00000040
  143. 104 00000040 4838 LDR r0, =rt_interrupt_from_thread
  144. 105 00000042 6801 LDR r1, [r0]
  145. 106 00000044 B191 CBZ r1, switch_to_thread ; skip reg
  146. ister save at the f
  147. irst time
  148. 107 00000046
  149. 108 00000046 F3EF 8109 MRS r1, psp ; get from thread s
  150. tack pointer
  151. 109 0000004A
  152. 110 0000004A IF {FPU} != "SoftVFP"
  153. 111 0000004A F01E 0F10 TST lr, #0x10 ; if(!EXC_RETURN[4]
  154. )
  155. 112 0000004E BF08 ED21
  156. 8B10 VSTMFDEQ r1!, {d8 - d15} ; push FPU regi
  157. ster s16~s31
  158. 113 00000054 ENDIF
  159. 114 00000054
  160. 115 00000054 E921 0FF0 STMFD r1!, {r4 - r11} ; push r4 - r11
  161. register
  162. 116 00000058
  163. 117 00000058 IF {FPU} != "SoftVFP"
  164. 118 00000058 F04F 0400 MOV r4, #0x00 ; flag = 0
  165. 119 0000005C
  166. 120 0000005C F01E 0F10 TST lr, #0x10 ; if(!EXC_RETURN[4]
  167. )
  168. 121 00000060 BF08 2401 MOVEQ r4, #0x01 ; flag = 1
  169. 122 00000064
  170. 123 00000064 F841 4D04 STMFD r1!, {r4} ; push flag
  171. 124 00000068 ENDIF
  172. 125 00000068
  173. 126 00000068 6800 LDR r0, [r0]
  174. 127 0000006A 6001 STR r1, [r0] ; update from threa
  175. d stack pointer
  176. 128 0000006C
  177. 129 0000006C switch_to_thread
  178. 130 0000006C 492E LDR r1, =rt_interrupt_to_thread
  179. 131 0000006E 6809 LDR r1, [r1]
  180. ARM Macro Assembler Page 4
  181. 132 00000070 6809 LDR r1, [r1] ; load thread stack
  182. pointer
  183. 133 00000072
  184. 134 00000072 IF {FPU} != "SoftVFP"
  185. 135 00000072 C908 LDMFD r1!, {r3} ; pop flag
  186. 136 00000074 ENDIF
  187. 137 00000074
  188. 138 00000074 E8B1 0FF0 LDMFD r1!, {r4 - r11} ; pop r4 - r11
  189. register
  190. 139 00000078
  191. 140 00000078 IF {FPU} != "SoftVFP"
  192. 141 00000078 2B00 CMP r3, #0 ; if(flag_r3 != 0)
  193. 142 0000007A BF18 ECB1
  194. 8B10 VLDMFDNE r1!, {d8 - d15} ; pop FPU regis
  195. ter s16~s31
  196. 143 00000080 ENDIF
  197. 144 00000080
  198. 145 00000080 F381 8809 MSR psp, r1 ; update stack poin
  199. ter
  200. 146 00000084
  201. 147 00000084 IF {FPU} != "SoftVFP"
  202. 148 00000084 F04E 0E10 ORR lr, lr, #0x10 ; lr |= (1 << 4)
  203. , clean FPCA.
  204. 149 00000088 2B00 CMP r3, #0 ; if(flag_r3 != 0)
  205. 150 0000008A BF18 F02E
  206. 0E10 BICNE lr, lr, #0x10 ; lr &= ~(1 << 4)
  207. , set FPCA.
  208. 151 00000090 ENDIF
  209. 152 00000090
  210. 153 00000090 pendsv_exit
  211. 154 00000090 ; restore interrupt
  212. 155 00000090 F382 8810 MSR PRIMASK, r2
  213. 156 00000094
  214. 157 00000094 F04E 0E04 ORR lr, lr, #0x04
  215. 158 00000098 4770 BX lr
  216. 159 0000009A ENDP
  217. 160 0000009A
  218. 161 0000009A ;/*
  219. 162 0000009A ; * void rt_hw_context_switch_to(rt_uint32 to);
  220. 163 0000009A ; * r0 --> to
  221. 164 0000009A ; * this fucntion is used to perform the first thread sw
  222. itch
  223. 165 0000009A ; */
  224. 166 0000009A rt_hw_context_switch_to
  225. PROC
  226. 167 0000009A EXPORT rt_hw_context_switch_to
  227. 168 0000009A ; set to thread
  228. 169 0000009A 4923 LDR r1, =rt_interrupt_to_thread
  229. 170 0000009C 6008 STR r0, [r1]
  230. 171 0000009E
  231. 172 0000009E IF {FPU} != "SoftVFP"
  232. 173 0000009E ; CLEAR CONTROL.FPCA
  233. 174 0000009E F3EF 8214 MRS r2, CONTROL ; read
  234. 175 000000A2 F022 0204 BIC r2, #0x04 ; modify
  235. 176 000000A6 F382 8814 MSR CONTROL, r2 ; write-back
  236. 177 000000AA ENDIF
  237. 178 000000AA
  238. 179 000000AA ; set from thread to 0
  239. 180 000000AA 491E LDR r1, =rt_interrupt_from_thread
  240. ARM Macro Assembler Page 5
  241. 181 000000AC F04F 0000 MOV r0, #0x0
  242. 182 000000B0 6008 STR r0, [r1]
  243. 183 000000B2
  244. 184 000000B2 ; set interrupt flag to 1
  245. 185 000000B2 491B LDR r1, =rt_thread_switch_interrupt
  246. _flag
  247. 186 000000B4 F04F 0001 MOV r0, #1
  248. 187 000000B8 6008 STR r0, [r1]
  249. 188 000000BA
  250. 189 000000BA ; set the PendSV and SysTick exception priority
  251. 190 000000BA 481D LDR r0, =NVIC_SYSPRI2
  252. 191 000000BC 491D LDR r1, =NVIC_PENDSV_PRI
  253. 192 000000BE F8D0 2000 LDR.W r2, [r0,#0x00] ; read
  254. 193 000000C2 EA41 0102 ORR r1,r1,r2 ; modify
  255. 194 000000C6 6001 STR r1, [r0] ; write-back
  256. 195 000000C8
  257. 196 000000C8 ; trigger the PendSV exception (causes context switch)
  258. 197 000000C8 4818 LDR r0, =NVIC_INT_CTRL
  259. 198 000000CA F04F 5180 LDR r1, =NVIC_PENDSVSET
  260. 199 000000CE 6001 STR r1, [r0]
  261. 200 000000D0
  262. 201 000000D0 ; restore MSP
  263. 202 000000D0 4819 LDR r0, =SCB_VTOR
  264. 203 000000D2 6800 LDR r0, [r0]
  265. 204 000000D4 6800 LDR r0, [r0]
  266. 205 000000D6 F380 8808 MSR msp, r0
  267. 206 000000DA
  268. 207 000000DA ; enable interrupts at processor level
  269. 208 000000DA B661 CPSIE F
  270. 209 000000DC B662 CPSIE I
  271. 210 000000DE
  272. 211 000000DE ; ensure PendSV exception taken place before subsequent
  273. operation
  274. 212 000000DE F3BF 8F4F DSB
  275. 213 000000E2 F3BF 8F6F ISB
  276. 214 000000E6
  277. 215 000000E6 ; never reach here!
  278. 216 000000E6 ENDP
  279. 217 000000E6
  280. 218 000000E6 ; compatible with old version
  281. 219 000000E6 rt_hw_interrupt_thread_switch
  282. PROC
  283. 220 000000E6 EXPORT rt_hw_interrupt_thread_switch
  284. 221 000000E6 4770 BX lr
  285. 222 000000E8 ENDP
  286. 223 000000E8
  287. 224 000000E8 IMPORT rt_hw_hard_fault_exception
  288. 225 000000E8 EXPORT HardFault_Handler
  289. 226 000000E8 HardFault_Handler
  290. PROC
  291. 227 000000E8
  292. 228 000000E8 ; get current context
  293. 229 000000E8 F01E 0F04 TST lr, #0x04 ; if(!EXC_RETURN[2]
  294. )
  295. 230 000000EC BF0C ITE EQ
  296. 231 000000EE F3EF 8008 MRSEQ r0, msp ; [2]=0 ==> Z=1, ge
  297. t fault context fro
  298. m handler.
  299. 232 000000F2 F3EF 8009 MRSNE r0, psp ; [2]=1 ==> Z=0, ge
  300. ARM Macro Assembler Page 6
  301. t fault context fro
  302. m thread.
  303. 233 000000F6
  304. 234 000000F6 E920 0FF0 STMFD r0!, {r4 - r11} ; push r4 - r11
  305. register
  306. 235 000000FA IF {FPU} != "SoftVFP"
  307. 236 000000FA F840 ED04 STMFD r0!, {lr} ; push dummy for fl
  308. ag
  309. 237 000000FE ENDIF
  310. 238 000000FE F840 ED04 STMFD r0!, {lr} ; push exec_return
  311. register
  312. 239 00000102
  313. 240 00000102 F01E 0F04 TST lr, #0x04 ; if(!EXC_RETURN[2]
  314. )
  315. 241 00000106 BF0C ITE EQ
  316. 242 00000108 F380 8808 MSREQ msp, r0 ; [2]=0 ==> Z=1, up
  317. date stack pointer
  318. to MSP.
  319. 243 0000010C F380 8809 MSRNE psp, r0 ; [2]=1 ==> Z=0, up
  320. date stack pointer
  321. to PSP.
  322. 244 00000110
  323. 245 00000110 B500 PUSH {lr}
  324. 246 00000112 F7FF FFFE BL rt_hw_hard_fault_exception
  325. 247 00000116 F85D EB04 POP {lr}
  326. 248 0000011A
  327. 249 0000011A F04E 0E04 ORR lr, lr, #0x04
  328. 250 0000011E 4770 BX lr
  329. 251 00000120 ENDP
  330. 252 00000120
  331. 253 00000120 ALIGN 4
  332. 254 00000120
  333. 255 00000120 END
  334. 00000000
  335. 00000000
  336. 00000000
  337. E000ED04
  338. E000ED20
  339. FFFF0000
  340. E000ED08
  341. Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M4.fp.sp --apcs=
  342. interwork --depend=.\build\context_rvds.d -o.\build\context_rvds.o -ID:\Keil_v5
  343. \pack\GigaDevice\GD32F4xx_DFP\3.3.0\Device\F4XX\Include --predefine="__UVISION_
  344. VERSION SETA 536" --predefine="GD32F427 SETA 1" --list=.\listings\context_rvds.
  345. lst ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  346. ARM Macro Assembler Page 1 Alphabetic symbol ordering
  347. Relocatable symbols
  348. .text 00000000
  349. Symbol: .text
  350. Definitions
  351. At line 26 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  352. Uses
  353. None
  354. Comment: .text unused
  355. HardFault_Handler 000000E8
  356. Symbol: HardFault_Handler
  357. Definitions
  358. At line 226 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  359. Uses
  360. At line 225 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  361. Comment: HardFault_Handler used once
  362. PendSV_Handler 0000002E
  363. Symbol: PendSV_Handler
  364. Definitions
  365. At line 88 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  366. Uses
  367. At line 89 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  368. Comment: PendSV_Handler used once
  369. _reswitch 00000020
  370. Symbol: _reswitch
  371. Definitions
  372. At line 75 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  373. Uses
  374. At line 68 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  375. Comment: _reswitch used once
  376. pendsv_exit 00000090
  377. Symbol: pendsv_exit
  378. Definitions
  379. At line 153 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  380. Uses
  381. At line 98 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  382. Comment: pendsv_exit used once
  383. rt_hw_context_switch 0000000E
  384. Symbol: rt_hw_context_switch
  385. Definitions
  386. At line 61 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  387. Uses
  388. At line 62 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  389. Comment: rt_hw_context_switch used once
  390. rt_hw_context_switch_interrupt 0000000E
  391. Symbol: rt_hw_context_switch_interrupt
  392. Definitions
  393. At line 59 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  394. Uses
  395. At line 60 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  396. Comment: rt_hw_context_switch_interrupt used once
  397. rt_hw_context_switch_to 0000009A
  398. Symbol: rt_hw_context_switch_to
  399. ARM Macro Assembler Page 2 Alphabetic symbol ordering
  400. Relocatable symbols
  401. Definitions
  402. At line 166 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  403. Uses
  404. At line 167 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  405. Comment: rt_hw_context_switch_to used once
  406. rt_hw_interrupt_disable 00000000
  407. Symbol: rt_hw_interrupt_disable
  408. Definitions
  409. At line 38 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  410. Uses
  411. At line 39 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  412. Comment: rt_hw_interrupt_disable used once
  413. rt_hw_interrupt_enable 00000008
  414. Symbol: rt_hw_interrupt_enable
  415. Definitions
  416. At line 48 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  417. Uses
  418. At line 49 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  419. Comment: rt_hw_interrupt_enable used once
  420. rt_hw_interrupt_thread_switch 000000E6
  421. Symbol: rt_hw_interrupt_thread_switch
  422. Definitions
  423. At line 219 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  424. Uses
  425. At line 220 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  426. Comment: rt_hw_interrupt_thread_switch used once
  427. switch_to_thread 0000006C
  428. Symbol: switch_to_thread
  429. Definitions
  430. At line 129 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  431. Uses
  432. At line 106 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  433. Comment: switch_to_thread used once
  434. 12 symbols
  435. ARM Macro Assembler Page 1 Alphabetic symbol ordering
  436. Absolute symbols
  437. NVIC_INT_CTRL E000ED04
  438. Symbol: NVIC_INT_CTRL
  439. Definitions
  440. At line 21 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  441. Uses
  442. At line 79 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  443. At line 197 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  444. NVIC_PENDSVSET 10000000
  445. Symbol: NVIC_PENDSVSET
  446. Definitions
  447. At line 24 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  448. Uses
  449. At line 80 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  450. At line 198 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  451. NVIC_PENDSV_PRI FFFF0000
  452. Symbol: NVIC_PENDSV_PRI
  453. Definitions
  454. At line 23 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  455. Uses
  456. At line 191 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  457. Comment: NVIC_PENDSV_PRI used once
  458. NVIC_SYSPRI2 E000ED20
  459. Symbol: NVIC_SYSPRI2
  460. Definitions
  461. At line 22 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  462. Uses
  463. At line 190 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  464. Comment: NVIC_SYSPRI2 used once
  465. SCB_VTOR E000ED08
  466. Symbol: SCB_VTOR
  467. Definitions
  468. At line 20 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  469. Uses
  470. At line 202 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  471. Comment: SCB_VTOR used once
  472. 5 symbols
  473. ARM Macro Assembler Page 1 Alphabetic symbol ordering
  474. External symbols
  475. rt_hw_hard_fault_exception 00000000
  476. Symbol: rt_hw_hard_fault_exception
  477. Definitions
  478. At line 224 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  479. Uses
  480. At line 246 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  481. Comment: rt_hw_hard_fault_exception used once
  482. rt_interrupt_from_thread 00000000
  483. Symbol: rt_interrupt_from_thread
  484. Definitions
  485. At line 32 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  486. Uses
  487. At line 72 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  488. At line 104 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  489. At line 180 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  490. rt_interrupt_to_thread 00000000
  491. Symbol: rt_interrupt_to_thread
  492. Definitions
  493. At line 33 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  494. Uses
  495. At line 76 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  496. At line 130 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  497. At line 169 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  498. rt_thread_switch_interrupt_flag 00000000
  499. Symbol: rt_thread_switch_interrupt_flag
  500. Definitions
  501. At line 31 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  502. Uses
  503. At line 65 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  504. At line 96 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  505. At line 185 in file ..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S
  506. 4 symbols
  507. 356 symbols in table