context_rvds.lst 22 KB

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