summaryrefslogtreecommitdiff
path: root/bsp/stm32/stm32h563-st-nucleo/context_rvds.lst
blob: 9a85aa2ef1f0254a19ccd44b7704fb204328f103 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779



ARM Macro Assembler    Page 1 


    1 00000000         ;/*
    2 00000000         ;* Copyright (c) 2006-2018, RT-Thread Development Team
    3 00000000         ;*
    4 00000000         ;* SPDX-License-Identifier: Apache-2.0
    5 00000000         ;*
    6 00000000         ; * Change Logs:
    7 00000000         ; * Date           Author       Notes
    8 00000000         ; * 2009-01-17     Bernard      first version.
    9 00000000         ; * 2012-01-01     aozima       support context switch l
                       oad/store FPU register.
   10 00000000         ; * 2013-06-18     aozima       add restore MSP feature.
                       
   11 00000000         ; * 2013-06-23     aozima       support lazy stack optim
                       ized.
   12 00000000         ; * 2018-07-24     aozima       enhancement hard fault e
                       xception handler.
   13 00000000         ; */
   14 00000000         
   15 00000000         ;/**
   16 00000000         ; * @addtogroup cortex-m33
   17 00000000         ; */
   18 00000000         ;/*@{*/
   19 00000000         
   20 00000000 E000ED08 
                       SCB_VTOR
                               EQU              0xE000ED08  ; Vector Table Offs
                                                            et Register
   21 00000000 E000ED04 
                       NVIC_INT_CTRL
                               EQU              0xE000ED04  ; interrupt control
                                                             state register
   22 00000000 E000ED20 
                       NVIC_SYSPRI2
                               EQU              0xE000ED20  ; system priority r
                                                            egister (2)
   23 00000000 FFFF0000 
                       NVIC_PENDSV_PRI
                               EQU              0xFFFF0000  ; PendSV and SysTic
                                                            k priority value (l
                                                            owest)
   24 00000000 10000000 
                       NVIC_PENDSVSET
                               EQU              0x10000000  ; value to trigger 
                                                            PendSV exception
   25 00000000         
   26 00000000                 AREA             |.text|, CODE, READONLY, ALIGN=
2
   27 00000000                 THUMB
   28 00000000                 REQUIRE8
   29 00000000                 PRESERVE8
   30 00000000         
   31 00000000                 IMPORT           rt_thread_switch_interrupt_flag
   32 00000000                 IMPORT           rt_interrupt_from_thread
   33 00000000                 IMPORT           rt_interrupt_to_thread
   34 00000000                 IMPORT           rt_trustzone_current_context
   35 00000000                 IMPORT           rt_trustzone_context_load
   36 00000000                 IMPORT           rt_trustzone_context_store
   37 00000000         
   38 00000000         ;/*



ARM Macro Assembler    Page 2 


   39 00000000         ; * rt_base_t rt_hw_interrupt_disable();
   40 00000000         ; */
   41 00000000         rt_hw_interrupt_disable
                               PROC
   42 00000000                 EXPORT           rt_hw_interrupt_disable
   43 00000000 F3EF 8010       MRS              r0, PRIMASK
   44 00000004 B672            CPSID            I
   45 00000006 4770            BX               LR
   46 00000008                 ENDP
   47 00000008         
   48 00000008         ;/*
   49 00000008         ; * void rt_hw_interrupt_enable(rt_base_t level);
   50 00000008         ; */
   51 00000008         rt_hw_interrupt_enable
                               PROC
   52 00000008                 EXPORT           rt_hw_interrupt_enable
   53 00000008 F380 8810       MSR              PRIMASK, r0
   54 0000000C 4770            BX               LR
   55 0000000E                 ENDP
   56 0000000E         
   57 0000000E         ;/*
   58 0000000E         ; * void rt_hw_context_switch(rt_uint32 from, rt_uint32 
                       to);
   59 0000000E         ; * r0 --> from
   60 0000000E         ; * r1 --> to
   61 0000000E         ; */
   62 0000000E         rt_hw_context_switch_interrupt
   63 0000000E                 EXPORT           rt_hw_context_switch_interrupt
   64 0000000E         rt_hw_context_switch
                               PROC
   65 0000000E                 EXPORT           rt_hw_context_switch
   66 0000000E         
   67 0000000E         ; set rt_thread_switch_interrupt_flag to 1
   68 0000000E 4A5D            LDR              r2, =rt_thread_switch_interrupt
_flag
   69 00000010 6813            LDR              r3, [r2]
   70 00000012 2B01            CMP              r3, #1
   71 00000014 D004            BEQ              _reswitch
   72 00000016 F04F 0301       MOV              r3, #1
   73 0000001A 6013            STR              r3, [r2]
   74 0000001C         
   75 0000001C 4A5A            LDR              r2, =rt_interrupt_from_thread ;
                                                             set rt_interrupt_f
                                                            rom_thread
   76 0000001E 6010            STR              r0, [r2]
   77 00000020         
   78 00000020         _reswitch
   79 00000020 4A5A            LDR              r2, =rt_interrupt_to_thread ; s
                                                            et rt_interrupt_to_
                                                            thread
   80 00000022 6011            STR              r1, [r2]
   81 00000024         
   82 00000024 485A            LDR              r0, =NVIC_INT_CTRL ; trigger th
                                                            e PendSV exception 
                                                            (causes context swi
                                                            tch)
   83 00000026 F04F 5180       LDR              r1, =NVIC_PENDSVSET
   84 0000002A 6001            STR              r1, [r0]
   85 0000002C 4770            BX               LR



ARM Macro Assembler    Page 3 


   86 0000002E                 ENDP
   87 0000002E         
   88 0000002E         ; r0 --> switch from thread stack
   89 0000002E         ; r1 --> switch to thread stack
   90 0000002E         ; psr, pc, lr, r12, r3, r2, r1, r0 are pushed into [from
                       ] stack
   91 0000002E         PendSV_Handler
                               PROC
   92 0000002E                 EXPORT           PendSV_Handler
   93 0000002E         
   94 0000002E         ; disable interrupt to protect context switch
   95 0000002E F3EF 8210       MRS              r2, PRIMASK ; R2 = PRIMASK
   96 00000032 B672            CPSID            I           ; disable all inter
                                                            rupt
   97 00000034         
   98 00000034         ; get rt_thread_switch_interrupt_flag
   99 00000034 4853            LDR              r0, =rt_thread_switch_interrupt
_flag 
                                                            ; r0 = &rt_thread_s
                                                            witch_interrupt_fla
                                                            g
  100 00000036 6801            LDR              r1, [r0]    ; r1 = *r1
  101 00000038 2900            CMP              r1, #0x00   ; compare r1 == 0x0
                                                            0
  102 0000003A D102            BNE              schedule
  103 0000003C F382 8810       MSR              PRIMASK, r2 ; if r1 == 0x00, do
                                                             msr PRIMASK, r2
  104 00000040 4770            BX               lr          ; if r1 == 0x00, do
                                                             bx lr
  105 00000042         
  106 00000042         schedule
  107 00000042 B404            PUSH             {r2}        ; store interrupt s
                                                            tate
  108 00000044         
  109 00000044         ; clear rt_thread_switch_interrupt_flag to 0
  110 00000044 F04F 0100       MOV              r1, #0x00   ; r1 = 0x00
  111 00000048 6001            STR              r1, [r0]    ; *r0 = r1
  112 0000004A         
  113 0000004A         ; skip register save at the first time
  114 0000004A 484F            LDR              r0, =rt_interrupt_from_thread ;
                                                             r0 = &rt_interrupt
                                                            _from_thread
  115 0000004C 6801            LDR              r1, [r0]    ; r1 = *r0
  116 0000004E B359            CBZ              r1, switch_to_thread ; if r1 ==
                                                             0, goto switch_to_
                                                            thread
  117 00000050         
  118 00000050         ; Whether TrustZone thread stack exists
  119 00000050 4950            LDR              r1,  =rt_trustzone_current_cont
ext 
                                                            ; r1 = &rt_secure_c
                                                            urrent_context
  120 00000052 6809            LDR              r1, [r1]    ; r1 = *r1
  121 00000054 B1A1            CBZ              r1, contex_ns_store ; if r1 == 
                                                            0, goto contex_ns_s
                                                            tore
  122 00000056         
  123 00000056         ;call TrustZone fun, Save TrustZone stack
  124 00000056 B503            STMFD            sp!, {r0-r1, lr} 



ARM Macro Assembler    Page 4 


                                                            ; push register
  125 00000058 4608            MOV              r0, r1      ; r0 = rt_secure_cu
                                                            rrent_context
  126 0000005A F7FF FFFE       BL               rt_trustzone_context_store ; ca
                                                            ll TrustZone store 
                                                            fun
  127 0000005E E8BD 4003       LDMFD            sp!, {r0-r1, lr} ; pop register
                                                            
  128 00000062         
  129 00000062         ; check break from TrustZone
  130 00000062 4672            MOV              r2, lr      ; r2 = lr
  131 00000064 F012 0F40       TST              r2, #0x40   ; if EXC_RETURN[6] 
                                                            is 1, TrustZone sta
                                                            ck was used
  132 00000068 D00A            BEQ              contex_ns_store ; if r2 & 0x40 
                                                            == 0, goto contex_n
                                                            s_store
  133 0000006A         
  134 0000006A         ; push PSPLIM CONTROL PSP LR current_context to stack
  135 0000006A F3EF 830B       MRS              r3, psplim  ; r3 = psplim
  136 0000006E F3EF 8414       MRS              r4, control ; r4 = control
  137 00000072 F3EF 8509       MRS              r5, psp     ; r5 = psp
  138 00000076 E925 001E       STMFD            r5!, {r1-r4} ; push to thread s
                                                            tack
  139 0000007A         
  140 0000007A         ; update from thread stack pointer
  141 0000007A 6800            LDR              r0, [r0]    ; r0 = rt_thread_sw
                                                            itch_interrupt_flag
                                                            
  142 0000007C 6005            STR              r5, [r0]    ; *r0 = r5
  143 0000007E E013            b                switch_to_thread ; goto switch_
                                                            to_thread
  144 00000080         
  145 00000080         contex_ns_store
  146 00000080         
  147 00000080 F3EF 8109       MRS              r1, psp     ; get from thread s
                                                            tack pointer
  148 00000084         
  149 00000084                 IF               {FPU} != "SoftVFP"
  150 00000084 F01E 0F10       TST              lr, #0x10   ; if(!EXC_RETURN[4]
                                                            )
  151 00000088 BF08 ED21 
              8B10             VSTMFDEQ         r1!, {d8 - d15} ; push FPU regi
                                                            ster s16~s31
  152 0000008E                 ENDIF
  153 0000008E         
  154 0000008E E921 0FF0       STMFD            r1!, {r4 - r11} ; push r4 - r11
                                                             register
  155 00000092         
  156 00000092 4A40            LDR              r2,  =rt_trustzone_current_cont
ext 
                                                            ; r2 = &rt_secure_c
                                                            urrent_context
  157 00000094 6812            LDR              r2, [r2]    ; r2 = *r2
  158 00000096 4673            MOV              r3, lr      ; r3 = lr
  159 00000098 F3EF 840B       MRS              r4, psplim  ; r4 = psplim
  160 0000009C F3EF 8514       MRS              r5, control ; r5 = control
  161 000000A0 E921 003C       STMFD            r1!, {r2-r5} ; push to thread s
                                                            tack



ARM Macro Assembler    Page 5 


  162 000000A4         
  163 000000A4 6800            LDR              r0, [r0]
  164 000000A6 6001            STR              r1, [r0]    ; update from threa
                                                            d stack pointer
  165 000000A8         
  166 000000A8         switch_to_thread
  167 000000A8 4938            LDR              r1, =rt_interrupt_to_thread
  168 000000AA 6809            LDR              r1, [r1]
  169 000000AC 6809            LDR              r1, [r1]    ; load thread stack
                                                             pointer
  170 000000AE         
  171 000000AE         ; update current TrustZone context
  172 000000AE C93C            LDMFD            r1!, {r2-r5} ; pop thread stack
                                                            
  173 000000B0 F384 880B       MSR              psplim, r4  ; psplim = r4
  174 000000B4 F385 8814       MSR              control, r5 ; control = r5
  175 000000B8 469E            MOV              lr, r3      ; lr = r3
  176 000000BA 4E36            LDR              r6,  =rt_trustzone_current_cont
ext 
                                                            ; r6 = &rt_secure_c
                                                            urrent_context
  177 000000BC 6032            STR              r2, [r6]    ; *r6 = r2
  178 000000BE 4610            MOV              r0, r2      ; r0 = r2
  179 000000C0         
  180 000000C0         ; Whether TrustZone thread stack exists
  181 000000C0 B140            CBZ              r0, contex_ns_load ; if r0 == 0
                                                            , goto contex_ns_lo
                                                            ad
  182 000000C2 B40A            PUSH             {r1, r3}    ; push lr, thread_s
                                                            tack
  183 000000C4 F7FF FFFE       BL               rt_trustzone_context_load ; cal
                                                            l TrustZone load fu
                                                            n
  184 000000C8 BC0A            POP              {r1, r3}    ; pop lr, thread_st
                                                            ack
  185 000000CA 469E            MOV              lr, r3      ; lr = r1
  186 000000CC F013 0F40       TST              r3, #0x40   ; if EXC_RETURN[6] 
                                                            is 1, TrustZone sta
                                                            ck was used
  187 000000D0 D000            BEQ              contex_ns_load ; if r1 & 0x40 =
                                                            = 0, goto contex_ns
                                                            _load
  188 000000D2 E006            B                pendsv_exit
  189 000000D4         
  190 000000D4         contex_ns_load
  191 000000D4 E8B1 0FF0       LDMFD            r1!, {r4 - r11} ; pop r4 - r11 
                                                            register
  192 000000D8         
  193 000000D8                 IF               {FPU} != "SoftVFP"
  194 000000D8 F01E 0F10       TST              lr, #0x10   ; if(!EXC_RETURN[4]
                                                            )
  195 000000DC BF08 ECB1 
              8B10             VLDMFDEQ         r1!, {d8 - d15} ; pop FPU regis
                                                            ter s16~s31
  196 000000E2                 ENDIF
  197 000000E2         
  198 000000E2         pendsv_exit
  199 000000E2 F381 8809       MSR              psp, r1     ; update stack poin
                                                            ter



ARM Macro Assembler    Page 6 


  200 000000E6         ; restore interrupt
  201 000000E6 BC04            POP              {r2}
  202 000000E8 F382 8810       MSR              PRIMASK, r2
  203 000000EC         
  204 000000EC 4770            BX               lr
  205 000000EE                 ENDP
  206 000000EE         
  207 000000EE         ;/*
  208 000000EE         ; * void rt_hw_context_switch_to(rt_uint32 to);
  209 000000EE         ; * r0 --> to
  210 000000EE         ; * this fucntion is used to perform the first thread sw
                       itch
  211 000000EE         ; */
  212 000000EE         rt_hw_context_switch_to
                               PROC
  213 000000EE                 EXPORT           rt_hw_context_switch_to
  214 000000EE         ; set to thread
  215 000000EE 4927            LDR              r1, =rt_interrupt_to_thread
  216 000000F0 6008            STR              r0, [r1]
  217 000000F2         
  218 000000F2                 IF               {FPU} != "SoftVFP"
  219 000000F2         ; CLEAR CONTROL.FPCA
  220 000000F2 F3EF 8214       MRS              r2, CONTROL ; read
  221 000000F6 F022 0204       BIC              r2, #0x04   ; modify
  222 000000FA F382 8814       MSR              CONTROL, r2 ; write-back
  223 000000FE                 ENDIF
  224 000000FE         
  225 000000FE         ; set from thread to 0
  226 000000FE 4922            LDR              r1, =rt_interrupt_from_thread
  227 00000100 F04F 0000       MOV              r0, #0x0
  228 00000104 6008            STR              r0, [r1]
  229 00000106         
  230 00000106         ; set interrupt flag to 1
  231 00000106 491F            LDR              r1, =rt_thread_switch_interrupt
_flag
  232 00000108 F04F 0001       MOV              r0, #1
  233 0000010C 6008            STR              r0, [r1]
  234 0000010E         
  235 0000010E         ; set the PendSV and SysTick exception priority
  236 0000010E 4822            LDR              r0, =NVIC_SYSPRI2
  237 00000110 4922            LDR              r1, =NVIC_PENDSV_PRI
  238 00000112 F8D0 2000       LDR.W            r2, [r0,#0x00] ; read
  239 00000116 EA41 0102       ORR              r1,r1,r2    ; modify
  240 0000011A 6001            STR              r1, [r0]    ; write-back
  241 0000011C         
  242 0000011C         ; trigger the PendSV exception (causes context switch)
  243 0000011C 481C            LDR              r0, =NVIC_INT_CTRL
  244 0000011E F04F 5180       LDR              r1, =NVIC_PENDSVSET
  245 00000122 6001            STR              r1, [r0]
  246 00000124         
  247 00000124         ; restore MSP
  248 00000124 481E            LDR              r0, =SCB_VTOR
  249 00000126 6800            LDR              r0, [r0]
  250 00000128 6800            LDR              r0, [r0]
  251 0000012A F380 8808       MSR              msp, r0
  252 0000012E         
  253 0000012E         ; enable interrupts at processor level
  254 0000012E B661            CPSIE            F
  255 00000130 B662            CPSIE            I



ARM Macro Assembler    Page 7 


  256 00000132         
  257 00000132         ; ensure PendSV exception taken place before subsequent 
                       operation
  258 00000132 F3BF 8F4F       DSB
  259 00000136 F3BF 8F6F       ISB
  260 0000013A         
  261 0000013A         ; never reach here!
  262 0000013A                 ENDP
  263 0000013A         
  264 0000013A         ; compatible with old version
  265 0000013A         rt_hw_interrupt_thread_switch
                               PROC
  266 0000013A                 EXPORT           rt_hw_interrupt_thread_switch
  267 0000013A 4770            BX               lr
  268 0000013C                 ENDP
  269 0000013C         
  270 0000013C                 IMPORT           rt_hw_hard_fault_exception
  271 0000013C                 EXPORT           HardFault_Handler
  272 0000013C         HardFault_Handler
                               PROC
  273 0000013C         
  274 0000013C         ; get current context
  275 0000013C F3EF 8008       MRS              r0, msp     ;get fault context 
                                                            from handler
  276 00000140 F01E 0F04       TST              lr, #0x04   ;if(!EXC_RETURN[2])
                                                            
  277 00000144 D001            BEQ              get_sp_done
  278 00000146 F3EF 8009       MRS              r0, psp     ;get fault context 
                                                            from thread
  279 0000014A         get_sp_done
  280 0000014A         
  281 0000014A E920 0FF0       STMFD            r0!, {r4 - r11} ; push r4 - r11
                                                             register
  282 0000014E         
  283 0000014E 4A11            LDR              r2,  =rt_trustzone_current_cont
ext 
                                                            ; r2 = &rt_secure_c
                                                            urrent_context
  284 00000150 6812            LDR              r2, [r2]    ; r2 = *r2
  285 00000152 4673            MOV              r3, lr      ; r3 = lr
  286 00000154 F3EF 840B       MRS              r4, psplim  ; r4 = psplim
  287 00000158 F3EF 8514       MRS              r5, control ; r5 = control
  288 0000015C E920 003C       STMFD            r0!, {r2-r5} ; push to thread s
                                                            tack
  289 00000160         
  290 00000160 F840 ED04       STMFD            r0!, {lr}   ; push exec_return 
                                                            register
  291 00000164         
  292 00000164 F01E 0F04       TST              lr, #0x04   ; if(!EXC_RETURN[2]
                                                            )
  293 00000168 D002            BEQ              update_msp
  294 0000016A F380 8809       MSR              psp, r0     ; update stack poin
                                                            ter to PSP
  295 0000016E E001            B                update_done
  296 00000170         update_msp
  297 00000170 F380 8808       MSR              msp, r0     ; update stack poin
                                                            ter to MSP
  298 00000174         update_done
  299 00000174         



ARM Macro Assembler    Page 8 


  300 00000174 B500            PUSH             {lr}
  301 00000176 F7FF FFFE       BL               rt_hw_hard_fault_exception
  302 0000017A F85D EB04       POP              {lr}
  303 0000017E         
  304 0000017E F04E 0E04       ORR              lr, lr, #0x04
  305 00000182 4770            BX               lr
  306 00000184                 ENDP
  307 00000184         
  308 00000184                 ALIGN            4
  309 00000184         
  310 00000184                 END
              00000000 
              00000000 
              00000000 
              E000ED04 
              00000000 
              E000ED20 
              FFFF0000 
              E000ED08 
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M33 --fpu=FPv5-S
P --depend=.\build\keil\obj\context_rvds.d -o.\build\keil\obj\context_rvds.o -I
D:\1_tool_prog\2_MDK\pack\Keil\STM32H5xx_DFP\1.1.0\Drivers\CMSIS\Device\ST\STM3
2H5xx\Include --predefine="__UVISION_VERSION SETA 536" --predefine="STM32H563xx
 SETA 1" --list=context_rvds.lst ..\..\..\libcpu\arm\cortex-m33\context_rvds.S



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.text 00000000

Symbol: .text
   Definitions
      At line 26 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      None
Comment: .text unused
HardFault_Handler 0000013C

Symbol: HardFault_Handler
   Definitions
      At line 272 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 271 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: HardFault_Handler used once
PendSV_Handler 0000002E

Symbol: PendSV_Handler
   Definitions
      At line 91 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 92 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: PendSV_Handler used once
_reswitch 00000020

Symbol: _reswitch
   Definitions
      At line 78 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 71 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: _reswitch used once
contex_ns_load 000000D4

Symbol: contex_ns_load
   Definitions
      At line 190 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 181 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 187 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

contex_ns_store 00000080

Symbol: contex_ns_store
   Definitions
      At line 145 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 121 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 132 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

get_sp_done 0000014A

Symbol: get_sp_done
   Definitions
      At line 279 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 277 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: get_sp_done used once
pendsv_exit 000000E2



ARM Macro Assembler    Page 2 Alphabetic symbol ordering
Relocatable symbols


Symbol: pendsv_exit
   Definitions
      At line 198 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 188 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: pendsv_exit used once
rt_hw_context_switch 0000000E

Symbol: rt_hw_context_switch
   Definitions
      At line 64 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 65 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_hw_context_switch used once
rt_hw_context_switch_interrupt 0000000E

Symbol: rt_hw_context_switch_interrupt
   Definitions
      At line 62 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 63 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_hw_context_switch_interrupt used once
rt_hw_context_switch_to 000000EE

Symbol: rt_hw_context_switch_to
   Definitions
      At line 212 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 213 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_hw_context_switch_to used once
rt_hw_interrupt_disable 00000000

Symbol: rt_hw_interrupt_disable
   Definitions
      At line 41 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 42 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_hw_interrupt_disable used once
rt_hw_interrupt_enable 00000008

Symbol: rt_hw_interrupt_enable
   Definitions
      At line 51 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 52 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_hw_interrupt_enable used once
rt_hw_interrupt_thread_switch 0000013A

Symbol: rt_hw_interrupt_thread_switch
   Definitions
      At line 265 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 266 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_hw_interrupt_thread_switch used once
schedule 00000042

Symbol: schedule
   Definitions



ARM Macro Assembler    Page 3 Alphabetic symbol ordering
Relocatable symbols

      At line 106 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 102 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: schedule used once
switch_to_thread 000000A8

Symbol: switch_to_thread
   Definitions
      At line 166 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 116 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 143 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

update_done 00000174

Symbol: update_done
   Definitions
      At line 298 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 295 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: update_done used once
update_msp 00000170

Symbol: update_msp
   Definitions
      At line 296 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 293 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: update_msp used once
18 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Absolute symbols

NVIC_INT_CTRL E000ED04

Symbol: NVIC_INT_CTRL
   Definitions
      At line 21 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 82 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 243 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

NVIC_PENDSVSET 10000000

Symbol: NVIC_PENDSVSET
   Definitions
      At line 24 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 83 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 244 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

NVIC_PENDSV_PRI FFFF0000

Symbol: NVIC_PENDSV_PRI
   Definitions
      At line 23 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 237 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: NVIC_PENDSV_PRI used once
NVIC_SYSPRI2 E000ED20

Symbol: NVIC_SYSPRI2
   Definitions
      At line 22 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 236 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: NVIC_SYSPRI2 used once
SCB_VTOR E000ED08

Symbol: SCB_VTOR
   Definitions
      At line 20 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 248 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: SCB_VTOR used once
5 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
External symbols

rt_hw_hard_fault_exception 00000000

Symbol: rt_hw_hard_fault_exception
   Definitions
      At line 270 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 301 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_hw_hard_fault_exception used once
rt_interrupt_from_thread 00000000

Symbol: rt_interrupt_from_thread
   Definitions
      At line 32 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 75 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 114 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 226 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

rt_interrupt_to_thread 00000000

Symbol: rt_interrupt_to_thread
   Definitions
      At line 33 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 79 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 167 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 215 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

rt_thread_switch_interrupt_flag 00000000

Symbol: rt_thread_switch_interrupt_flag
   Definitions
      At line 31 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 68 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 99 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 231 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

rt_trustzone_context_load 00000000

Symbol: rt_trustzone_context_load
   Definitions
      At line 35 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 183 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_trustzone_context_load used once
rt_trustzone_context_store 00000000

Symbol: rt_trustzone_context_store
   Definitions
      At line 36 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
   Uses
      At line 126 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
Comment: rt_trustzone_context_store used once
rt_trustzone_current_context 00000000

Symbol: rt_trustzone_current_context
   Definitions
      At line 34 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S



ARM Macro Assembler    Page 2 Alphabetic symbol ordering
External symbols

   Uses
      At line 119 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 156 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 176 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S
      At line 283 in file ..\..\..\libcpu\arm\cortex-m33\context_rvds.S

7 symbols
365 symbols in table