context_rvds.lst 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779
  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-m33
  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 IMPORT rt_trustzone_current_context
  56. 35 00000000 IMPORT rt_trustzone_context_load
  57. 36 00000000 IMPORT rt_trustzone_context_store
  58. 37 00000000
  59. 38 00000000 ;/*
  60. ARM Macro Assembler Page 2
  61. 39 00000000 ; * rt_base_t rt_hw_interrupt_disable();
  62. 40 00000000 ; */
  63. 41 00000000 rt_hw_interrupt_disable
  64. PROC
  65. 42 00000000 EXPORT rt_hw_interrupt_disable
  66. 43 00000000 F3EF 8010 MRS r0, PRIMASK
  67. 44 00000004 B672 CPSID I
  68. 45 00000006 4770 BX LR
  69. 46 00000008 ENDP
  70. 47 00000008
  71. 48 00000008 ;/*
  72. 49 00000008 ; * void rt_hw_interrupt_enable(rt_base_t level);
  73. 50 00000008 ; */
  74. 51 00000008 rt_hw_interrupt_enable
  75. PROC
  76. 52 00000008 EXPORT rt_hw_interrupt_enable
  77. 53 00000008 F380 8810 MSR PRIMASK, r0
  78. 54 0000000C 4770 BX LR
  79. 55 0000000E ENDP
  80. 56 0000000E
  81. 57 0000000E ;/*
  82. 58 0000000E ; * void rt_hw_context_switch(rt_uint32 from, rt_uint32
  83. to);
  84. 59 0000000E ; * r0 --> from
  85. 60 0000000E ; * r1 --> to
  86. 61 0000000E ; */
  87. 62 0000000E rt_hw_context_switch_interrupt
  88. 63 0000000E EXPORT rt_hw_context_switch_interrupt
  89. 64 0000000E rt_hw_context_switch
  90. PROC
  91. 65 0000000E EXPORT rt_hw_context_switch
  92. 66 0000000E
  93. 67 0000000E ; set rt_thread_switch_interrupt_flag to 1
  94. 68 0000000E 4A5D LDR r2, =rt_thread_switch_interrupt
  95. _flag
  96. 69 00000010 6813 LDR r3, [r2]
  97. 70 00000012 2B01 CMP r3, #1
  98. 71 00000014 D004 BEQ _reswitch
  99. 72 00000016 F04F 0301 MOV r3, #1
  100. 73 0000001A 6013 STR r3, [r2]
  101. 74 0000001C
  102. 75 0000001C 4A5A LDR r2, =rt_interrupt_from_thread ;
  103. set rt_interrupt_f
  104. rom_thread
  105. 76 0000001E 6010 STR r0, [r2]
  106. 77 00000020
  107. 78 00000020 _reswitch
  108. 79 00000020 4A5A LDR r2, =rt_interrupt_to_thread ; s
  109. et rt_interrupt_to_
  110. thread
  111. 80 00000022 6011 STR r1, [r2]
  112. 81 00000024
  113. 82 00000024 485A LDR r0, =NVIC_INT_CTRL ; trigger th
  114. e PendSV exception
  115. (causes context swi
  116. tch)
  117. 83 00000026 F04F 5180 LDR r1, =NVIC_PENDSVSET
  118. 84 0000002A 6001 STR r1, [r0]
  119. 85 0000002C 4770 BX LR
  120. ARM Macro Assembler Page 3
  121. 86 0000002E ENDP
  122. 87 0000002E
  123. 88 0000002E ; r0 --> switch from thread stack
  124. 89 0000002E ; r1 --> switch to thread stack
  125. 90 0000002E ; psr, pc, lr, r12, r3, r2, r1, r0 are pushed into [from
  126. ] stack
  127. 91 0000002E PendSV_Handler
  128. PROC
  129. 92 0000002E EXPORT PendSV_Handler
  130. 93 0000002E
  131. 94 0000002E ; disable interrupt to protect context switch
  132. 95 0000002E F3EF 8210 MRS r2, PRIMASK ; R2 = PRIMASK
  133. 96 00000032 B672 CPSID I ; disable all inter
  134. rupt
  135. 97 00000034
  136. 98 00000034 ; get rt_thread_switch_interrupt_flag
  137. 99 00000034 4853 LDR r0, =rt_thread_switch_interrupt
  138. _flag
  139. ; r0 = &rt_thread_s
  140. witch_interrupt_fla
  141. g
  142. 100 00000036 6801 LDR r1, [r0] ; r1 = *r1
  143. 101 00000038 2900 CMP r1, #0x00 ; compare r1 == 0x0
  144. 0
  145. 102 0000003A D102 BNE schedule
  146. 103 0000003C F382 8810 MSR PRIMASK, r2 ; if r1 == 0x00, do
  147. msr PRIMASK, r2
  148. 104 00000040 4770 BX lr ; if r1 == 0x00, do
  149. bx lr
  150. 105 00000042
  151. 106 00000042 schedule
  152. 107 00000042 B404 PUSH {r2} ; store interrupt s
  153. tate
  154. 108 00000044
  155. 109 00000044 ; clear rt_thread_switch_interrupt_flag to 0
  156. 110 00000044 F04F 0100 MOV r1, #0x00 ; r1 = 0x00
  157. 111 00000048 6001 STR r1, [r0] ; *r0 = r1
  158. 112 0000004A
  159. 113 0000004A ; skip register save at the first time
  160. 114 0000004A 484F LDR r0, =rt_interrupt_from_thread ;
  161. r0 = &rt_interrupt
  162. _from_thread
  163. 115 0000004C 6801 LDR r1, [r0] ; r1 = *r0
  164. 116 0000004E B359 CBZ r1, switch_to_thread ; if r1 ==
  165. 0, goto switch_to_
  166. thread
  167. 117 00000050
  168. 118 00000050 ; Whether TrustZone thread stack exists
  169. 119 00000050 4950 LDR r1, =rt_trustzone_current_cont
  170. ext
  171. ; r1 = &rt_secure_c
  172. urrent_context
  173. 120 00000052 6809 LDR r1, [r1] ; r1 = *r1
  174. 121 00000054 B1A1 CBZ r1, contex_ns_store ; if r1 ==
  175. 0, goto contex_ns_s
  176. tore
  177. 122 00000056
  178. 123 00000056 ;call TrustZone fun, Save TrustZone stack
  179. 124 00000056 B503 STMFD sp!, {r0-r1, lr}
  180. ARM Macro Assembler Page 4
  181. ; push register
  182. 125 00000058 4608 MOV r0, r1 ; r0 = rt_secure_cu
  183. rrent_context
  184. 126 0000005A F7FF FFFE BL rt_trustzone_context_store ; ca
  185. ll TrustZone store
  186. fun
  187. 127 0000005E E8BD 4003 LDMFD sp!, {r0-r1, lr} ; pop register
  188. 128 00000062
  189. 129 00000062 ; check break from TrustZone
  190. 130 00000062 4672 MOV r2, lr ; r2 = lr
  191. 131 00000064 F012 0F40 TST r2, #0x40 ; if EXC_RETURN[6]
  192. is 1, TrustZone sta
  193. ck was used
  194. 132 00000068 D00A BEQ contex_ns_store ; if r2 & 0x40
  195. == 0, goto contex_n
  196. s_store
  197. 133 0000006A
  198. 134 0000006A ; push PSPLIM CONTROL PSP LR current_context to stack
  199. 135 0000006A F3EF 830B MRS r3, psplim ; r3 = psplim
  200. 136 0000006E F3EF 8414 MRS r4, control ; r4 = control
  201. 137 00000072 F3EF 8509 MRS r5, psp ; r5 = psp
  202. 138 00000076 E925 001E STMFD r5!, {r1-r4} ; push to thread s
  203. tack
  204. 139 0000007A
  205. 140 0000007A ; update from thread stack pointer
  206. 141 0000007A 6800 LDR r0, [r0] ; r0 = rt_thread_sw
  207. itch_interrupt_flag
  208. 142 0000007C 6005 STR r5, [r0] ; *r0 = r5
  209. 143 0000007E E013 b switch_to_thread ; goto switch_
  210. to_thread
  211. 144 00000080
  212. 145 00000080 contex_ns_store
  213. 146 00000080
  214. 147 00000080 F3EF 8109 MRS r1, psp ; get from thread s
  215. tack pointer
  216. 148 00000084
  217. 149 00000084 IF {FPU} != "SoftVFP"
  218. 150 00000084 F01E 0F10 TST lr, #0x10 ; if(!EXC_RETURN[4]
  219. )
  220. 151 00000088 BF08 ED21
  221. 8B10 VSTMFDEQ r1!, {d8 - d15} ; push FPU regi
  222. ster s16~s31
  223. 152 0000008E ENDIF
  224. 153 0000008E
  225. 154 0000008E E921 0FF0 STMFD r1!, {r4 - r11} ; push r4 - r11
  226. register
  227. 155 00000092
  228. 156 00000092 4A40 LDR r2, =rt_trustzone_current_cont
  229. ext
  230. ; r2 = &rt_secure_c
  231. urrent_context
  232. 157 00000094 6812 LDR r2, [r2] ; r2 = *r2
  233. 158 00000096 4673 MOV r3, lr ; r3 = lr
  234. 159 00000098 F3EF 840B MRS r4, psplim ; r4 = psplim
  235. 160 0000009C F3EF 8514 MRS r5, control ; r5 = control
  236. 161 000000A0 E921 003C STMFD r1!, {r2-r5} ; push to thread s
  237. tack
  238. ARM Macro Assembler Page 5
  239. 162 000000A4
  240. 163 000000A4 6800 LDR r0, [r0]
  241. 164 000000A6 6001 STR r1, [r0] ; update from threa
  242. d stack pointer
  243. 165 000000A8
  244. 166 000000A8 switch_to_thread
  245. 167 000000A8 4938 LDR r1, =rt_interrupt_to_thread
  246. 168 000000AA 6809 LDR r1, [r1]
  247. 169 000000AC 6809 LDR r1, [r1] ; load thread stack
  248. pointer
  249. 170 000000AE
  250. 171 000000AE ; update current TrustZone context
  251. 172 000000AE C93C LDMFD r1!, {r2-r5} ; pop thread stack
  252. 173 000000B0 F384 880B MSR psplim, r4 ; psplim = r4
  253. 174 000000B4 F385 8814 MSR control, r5 ; control = r5
  254. 175 000000B8 469E MOV lr, r3 ; lr = r3
  255. 176 000000BA 4E36 LDR r6, =rt_trustzone_current_cont
  256. ext
  257. ; r6 = &rt_secure_c
  258. urrent_context
  259. 177 000000BC 6032 STR r2, [r6] ; *r6 = r2
  260. 178 000000BE 4610 MOV r0, r2 ; r0 = r2
  261. 179 000000C0
  262. 180 000000C0 ; Whether TrustZone thread stack exists
  263. 181 000000C0 B140 CBZ r0, contex_ns_load ; if r0 == 0
  264. , goto contex_ns_lo
  265. ad
  266. 182 000000C2 B40A PUSH {r1, r3} ; push lr, thread_s
  267. tack
  268. 183 000000C4 F7FF FFFE BL rt_trustzone_context_load ; cal
  269. l TrustZone load fu
  270. n
  271. 184 000000C8 BC0A POP {r1, r3} ; pop lr, thread_st
  272. ack
  273. 185 000000CA 469E MOV lr, r3 ; lr = r1
  274. 186 000000CC F013 0F40 TST r3, #0x40 ; if EXC_RETURN[6]
  275. is 1, TrustZone sta
  276. ck was used
  277. 187 000000D0 D000 BEQ contex_ns_load ; if r1 & 0x40 =
  278. = 0, goto contex_ns
  279. _load
  280. 188 000000D2 E006 B pendsv_exit
  281. 189 000000D4
  282. 190 000000D4 contex_ns_load
  283. 191 000000D4 E8B1 0FF0 LDMFD r1!, {r4 - r11} ; pop r4 - r11
  284. register
  285. 192 000000D8
  286. 193 000000D8 IF {FPU} != "SoftVFP"
  287. 194 000000D8 F01E 0F10 TST lr, #0x10 ; if(!EXC_RETURN[4]
  288. )
  289. 195 000000DC BF08 ECB1
  290. 8B10 VLDMFDEQ r1!, {d8 - d15} ; pop FPU regis
  291. ter s16~s31
  292. 196 000000E2 ENDIF
  293. 197 000000E2
  294. 198 000000E2 pendsv_exit
  295. 199 000000E2 F381 8809 MSR psp, r1 ; update stack poin
  296. ter
  297. ARM Macro Assembler Page 6
  298. 200 000000E6 ; restore interrupt
  299. 201 000000E6 BC04 POP {r2}
  300. 202 000000E8 F382 8810 MSR PRIMASK, r2
  301. 203 000000EC
  302. 204 000000EC 4770 BX lr
  303. 205 000000EE ENDP
  304. 206 000000EE
  305. 207 000000EE ;/*
  306. 208 000000EE ; * void rt_hw_context_switch_to(rt_uint32 to);
  307. 209 000000EE ; * r0 --> to
  308. 210 000000EE ; * this fucntion is used to perform the first thread sw
  309. itch
  310. 211 000000EE ; */
  311. 212 000000EE rt_hw_context_switch_to
  312. PROC
  313. 213 000000EE EXPORT rt_hw_context_switch_to
  314. 214 000000EE ; set to thread
  315. 215 000000EE 4927 LDR r1, =rt_interrupt_to_thread
  316. 216 000000F0 6008 STR r0, [r1]
  317. 217 000000F2
  318. 218 000000F2 IF {FPU} != "SoftVFP"
  319. 219 000000F2 ; CLEAR CONTROL.FPCA
  320. 220 000000F2 F3EF 8214 MRS r2, CONTROL ; read
  321. 221 000000F6 F022 0204 BIC r2, #0x04 ; modify
  322. 222 000000FA F382 8814 MSR CONTROL, r2 ; write-back
  323. 223 000000FE ENDIF
  324. 224 000000FE
  325. 225 000000FE ; set from thread to 0
  326. 226 000000FE 4922 LDR r1, =rt_interrupt_from_thread
  327. 227 00000100 F04F 0000 MOV r0, #0x0
  328. 228 00000104 6008 STR r0, [r1]
  329. 229 00000106
  330. 230 00000106 ; set interrupt flag to 1
  331. 231 00000106 491F LDR r1, =rt_thread_switch_interrupt
  332. _flag
  333. 232 00000108 F04F 0001 MOV r0, #1
  334. 233 0000010C 6008 STR r0, [r1]
  335. 234 0000010E
  336. 235 0000010E ; set the PendSV and SysTick exception priority
  337. 236 0000010E 4822 LDR r0, =NVIC_SYSPRI2
  338. 237 00000110 4922 LDR r1, =NVIC_PENDSV_PRI
  339. 238 00000112 F8D0 2000 LDR.W r2, [r0,#0x00] ; read
  340. 239 00000116 EA41 0102 ORR r1,r1,r2 ; modify
  341. 240 0000011A 6001 STR r1, [r0] ; write-back
  342. 241 0000011C
  343. 242 0000011C ; trigger the PendSV exception (causes context switch)
  344. 243 0000011C 481C LDR r0, =NVIC_INT_CTRL
  345. 244 0000011E F04F 5180 LDR r1, =NVIC_PENDSVSET
  346. 245 00000122 6001 STR r1, [r0]
  347. 246 00000124
  348. 247 00000124 ; restore MSP
  349. 248 00000124 481E LDR r0, =SCB_VTOR
  350. 249 00000126 6800 LDR r0, [r0]
  351. 250 00000128 6800 LDR r0, [r0]
  352. 251 0000012A F380 8808 MSR msp, r0
  353. 252 0000012E
  354. 253 0000012E ; enable interrupts at processor level
  355. 254 0000012E B661 CPSIE F
  356. 255 00000130 B662 CPSIE I
  357. ARM Macro Assembler Page 7
  358. 256 00000132
  359. 257 00000132 ; ensure PendSV exception taken place before subsequent
  360. operation
  361. 258 00000132 F3BF 8F4F DSB
  362. 259 00000136 F3BF 8F6F ISB
  363. 260 0000013A
  364. 261 0000013A ; never reach here!
  365. 262 0000013A ENDP
  366. 263 0000013A
  367. 264 0000013A ; compatible with old version
  368. 265 0000013A rt_hw_interrupt_thread_switch
  369. PROC
  370. 266 0000013A EXPORT rt_hw_interrupt_thread_switch
  371. 267 0000013A 4770 BX lr
  372. 268 0000013C ENDP
  373. 269 0000013C
  374. 270 0000013C IMPORT rt_hw_hard_fault_exception
  375. 271 0000013C EXPORT HardFault_Handler
  376. 272 0000013C HardFault_Handler
  377. PROC
  378. 273 0000013C
  379. 274 0000013C ; get current context
  380. 275 0000013C F3EF 8008 MRS r0, msp ;get fault context
  381. from handler
  382. 276 00000140 F01E 0F04 TST lr, #0x04 ;if(!EXC_RETURN[2])
  383. 277 00000144 D001 BEQ get_sp_done
  384. 278 00000146 F3EF 8009 MRS r0, psp ;get fault context
  385. from thread
  386. 279 0000014A get_sp_done
  387. 280 0000014A
  388. 281 0000014A E920 0FF0 STMFD r0!, {r4 - r11} ; push r4 - r11
  389. register
  390. 282 0000014E
  391. 283 0000014E 4A11 LDR r2, =rt_trustzone_current_cont
  392. ext
  393. ; r2 = &rt_secure_c
  394. urrent_context
  395. 284 00000150 6812 LDR r2, [r2] ; r2 = *r2
  396. 285 00000152 4673 MOV r3, lr ; r3 = lr
  397. 286 00000154 F3EF 840B MRS r4, psplim ; r4 = psplim
  398. 287 00000158 F3EF 8514 MRS r5, control ; r5 = control
  399. 288 0000015C E920 003C STMFD r0!, {r2-r5} ; push to thread s
  400. tack
  401. 289 00000160
  402. 290 00000160 F840 ED04 STMFD r0!, {lr} ; push exec_return
  403. register
  404. 291 00000164
  405. 292 00000164 F01E 0F04 TST lr, #0x04 ; if(!EXC_RETURN[2]
  406. )
  407. 293 00000168 D002 BEQ update_msp
  408. 294 0000016A F380 8809 MSR psp, r0 ; update stack poin
  409. ter to PSP
  410. 295 0000016E E001 B update_done
  411. 296 00000170 update_msp
  412. 297 00000170 F380 8808 MSR msp, r0 ; update stack poin
  413. ter to MSP
  414. 298 00000174 update_done
  415. 299 00000174
  416. ARM Macro Assembler Page 8
  417. 300 00000174 B500 PUSH {lr}
  418. 301 00000176 F7FF FFFE BL rt_hw_hard_fault_exception
  419. 302 0000017A F85D EB04 POP {lr}
  420. 303 0000017E
  421. 304 0000017E F04E 0E04 ORR lr, lr, #0x04
  422. 305 00000182 4770 BX lr
  423. 306 00000184 ENDP
  424. 307 00000184
  425. 308 00000184 ALIGN 4
  426. 309 00000184
  427. 310 00000184 END
  428. 00000000
  429. 00000000
  430. 00000000
  431. E000ED04
  432. 00000000
  433. E000ED20
  434. FFFF0000
  435. E000ED08
  436. Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M33 --fpu=FPv5-S
  437. P --depend=.\build\keil\obj\context_rvds.d -o.\build\keil\obj\context_rvds.o -I
  438. D:\1_tool_prog\2_MDK\pack\Keil\STM32H5xx_DFP\1.1.0\Drivers\CMSIS\Device\ST\STM3
  439. 2H5xx\Include --predefine="__UVISION_VERSION SETA 536" --predefine="STM32H563xx
  440. SETA 1" --list=context_rvds.lst ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  441. ARM Macro Assembler Page 1 Alphabetic symbol ordering
  442. Relocatable symbols
  443. .text 00000000
  444. Symbol: .text
  445. Definitions
  446. At line 26 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  447. Uses
  448. None
  449. Comment: .text unused
  450. HardFault_Handler 0000013C
  451. Symbol: HardFault_Handler
  452. Definitions
  453. At line 272 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  454. Uses
  455. At line 271 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  456. Comment: HardFault_Handler used once
  457. PendSV_Handler 0000002E
  458. Symbol: PendSV_Handler
  459. Definitions
  460. At line 91 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  461. Uses
  462. At line 92 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  463. Comment: PendSV_Handler used once
  464. _reswitch 00000020
  465. Symbol: _reswitch
  466. Definitions
  467. At line 78 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  468. Uses
  469. At line 71 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  470. Comment: _reswitch used once
  471. contex_ns_load 000000D4
  472. Symbol: contex_ns_load
  473. Definitions
  474. At line 190 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  475. Uses
  476. At line 181 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  477. At line 187 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  478. contex_ns_store 00000080
  479. Symbol: contex_ns_store
  480. Definitions
  481. At line 145 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  482. Uses
  483. At line 121 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  484. At line 132 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  485. get_sp_done 0000014A
  486. Symbol: get_sp_done
  487. Definitions
  488. At line 279 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  489. Uses
  490. At line 277 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  491. Comment: get_sp_done used once
  492. pendsv_exit 000000E2
  493. ARM Macro Assembler Page 2 Alphabetic symbol ordering
  494. Relocatable symbols
  495. Symbol: pendsv_exit
  496. Definitions
  497. At line 198 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  498. Uses
  499. At line 188 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  500. Comment: pendsv_exit used once
  501. rt_hw_context_switch 0000000E
  502. Symbol: rt_hw_context_switch
  503. Definitions
  504. At line 64 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  505. Uses
  506. At line 65 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  507. Comment: rt_hw_context_switch used once
  508. rt_hw_context_switch_interrupt 0000000E
  509. Symbol: rt_hw_context_switch_interrupt
  510. Definitions
  511. At line 62 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  512. Uses
  513. At line 63 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  514. Comment: rt_hw_context_switch_interrupt used once
  515. rt_hw_context_switch_to 000000EE
  516. Symbol: rt_hw_context_switch_to
  517. Definitions
  518. At line 212 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  519. Uses
  520. At line 213 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  521. Comment: rt_hw_context_switch_to used once
  522. rt_hw_interrupt_disable 00000000
  523. Symbol: rt_hw_interrupt_disable
  524. Definitions
  525. At line 41 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  526. Uses
  527. At line 42 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  528. Comment: rt_hw_interrupt_disable used once
  529. rt_hw_interrupt_enable 00000008
  530. Symbol: rt_hw_interrupt_enable
  531. Definitions
  532. At line 51 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  533. Uses
  534. At line 52 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  535. Comment: rt_hw_interrupt_enable used once
  536. rt_hw_interrupt_thread_switch 0000013A
  537. Symbol: rt_hw_interrupt_thread_switch
  538. Definitions
  539. At line 265 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  540. Uses
  541. At line 266 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  542. Comment: rt_hw_interrupt_thread_switch used once
  543. schedule 00000042
  544. Symbol: schedule
  545. Definitions
  546. ARM Macro Assembler Page 3 Alphabetic symbol ordering
  547. Relocatable symbols
  548. At line 106 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  549. Uses
  550. At line 102 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  551. Comment: schedule used once
  552. switch_to_thread 000000A8
  553. Symbol: switch_to_thread
  554. Definitions
  555. At line 166 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  556. Uses
  557. At line 116 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  558. At line 143 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  559. update_done 00000174
  560. Symbol: update_done
  561. Definitions
  562. At line 298 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  563. Uses
  564. At line 295 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  565. Comment: update_done used once
  566. update_msp 00000170
  567. Symbol: update_msp
  568. Definitions
  569. At line 296 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  570. Uses
  571. At line 293 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  572. Comment: update_msp used once
  573. 18 symbols
  574. ARM Macro Assembler Page 1 Alphabetic symbol ordering
  575. Absolute symbols
  576. NVIC_INT_CTRL E000ED04
  577. Symbol: NVIC_INT_CTRL
  578. Definitions
  579. At line 21 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  580. Uses
  581. At line 82 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  582. At line 243 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  583. NVIC_PENDSVSET 10000000
  584. Symbol: NVIC_PENDSVSET
  585. Definitions
  586. At line 24 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  587. Uses
  588. At line 83 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  589. At line 244 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  590. NVIC_PENDSV_PRI FFFF0000
  591. Symbol: NVIC_PENDSV_PRI
  592. Definitions
  593. At line 23 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  594. Uses
  595. At line 237 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  596. Comment: NVIC_PENDSV_PRI used once
  597. NVIC_SYSPRI2 E000ED20
  598. Symbol: NVIC_SYSPRI2
  599. Definitions
  600. At line 22 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  601. Uses
  602. At line 236 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  603. Comment: NVIC_SYSPRI2 used once
  604. SCB_VTOR E000ED08
  605. Symbol: SCB_VTOR
  606. Definitions
  607. At line 20 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  608. Uses
  609. At line 248 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  610. Comment: SCB_VTOR used once
  611. 5 symbols
  612. ARM Macro Assembler Page 1 Alphabetic symbol ordering
  613. External symbols
  614. rt_hw_hard_fault_exception 00000000
  615. Symbol: rt_hw_hard_fault_exception
  616. Definitions
  617. At line 270 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  618. Uses
  619. At line 301 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  620. Comment: rt_hw_hard_fault_exception used once
  621. rt_interrupt_from_thread 00000000
  622. Symbol: rt_interrupt_from_thread
  623. Definitions
  624. At line 32 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  625. Uses
  626. At line 75 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  627. At line 114 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  628. At line 226 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  629. rt_interrupt_to_thread 00000000
  630. Symbol: rt_interrupt_to_thread
  631. Definitions
  632. At line 33 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  633. Uses
  634. At line 79 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  635. At line 167 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  636. At line 215 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  637. rt_thread_switch_interrupt_flag 00000000
  638. Symbol: rt_thread_switch_interrupt_flag
  639. Definitions
  640. At line 31 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  641. Uses
  642. At line 68 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  643. At line 99 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  644. At line 231 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  645. rt_trustzone_context_load 00000000
  646. Symbol: rt_trustzone_context_load
  647. Definitions
  648. At line 35 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  649. Uses
  650. At line 183 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  651. Comment: rt_trustzone_context_load used once
  652. rt_trustzone_context_store 00000000
  653. Symbol: rt_trustzone_context_store
  654. Definitions
  655. At line 36 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  656. Uses
  657. At line 126 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  658. Comment: rt_trustzone_context_store used once
  659. rt_trustzone_current_context 00000000
  660. Symbol: rt_trustzone_current_context
  661. Definitions
  662. At line 34 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  663. ARM Macro Assembler Page 2 Alphabetic symbol ordering
  664. External symbols
  665. Uses
  666. At line 119 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  667. At line 156 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  668. At line 176 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  669. At line 283 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
  670. 7 symbols
  671. 365 symbols in table