Files
SM-1000M/RTX5_20220316/Project/irq_cm3.lst
2026-04-23 10:50:18 +08:00

450 lines
17 KiB
Plaintext
Raw Blame History

ARM Macro Assembler Page 1
1 00000000 ;/*
2 00000000 ; * Copyright (c) 2013-2018 Arm Limited. All rights rese
rved.
3 00000000 ; *
4 00000000 ; * SPDX-License-Identifier: Apache-2.0
5 00000000 ; *
6 00000000 ; * Licensed under the Apache License, Version 2.0 (the
License); you may
7 00000000 ; * not use this file except in compliance with the Lice
nse.
8 00000000 ; * You may obtain a copy of the License at
9 00000000 ; *
10 00000000 ; * www.apache.org/licenses/LICENSE-2.0
11 00000000 ; *
12 00000000 ; * Unless required by applicable law or agreed to in wr
iting, software
13 00000000 ; * distributed under the License is distributed on an A
S IS BASIS, WITHOUT
14 00000000 ; * WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied.
15 00000000 ; * See the License for the specific language governing
permissions and
16 00000000 ; * limitations under the License.
17 00000000 ; *
18 00000000 ; * ----------------------------------------------------
-------------------------
19 00000000 ; *
20 00000000 ; * Project: CMSIS-RTOS RTX
21 00000000 ; * Title: Cortex-M3 Exception handlers
22 00000000 ; *
23 00000000 ; * ----------------------------------------------------
-------------------------
24 00000000 ; */
25 00000000
26 00000000
27 00000000 00000014
I_T_RUN_OFS
EQU 20 ; osRtxInfo.thread.
run offset
28 00000000 00000038
TCB_SP_OFS
EQU 56 ; TCB.SP offset
29 00000000
30 00000000
31 00000000 PRESERVE8
32 00000000 THUMB
33 00000000
34 00000000
35 00000000 AREA |.constdata|, DATA, READONLY
36 00000000 EXPORT irqRtxLib
37 00000000 00 irqRtxLib
DCB 0 ; Non weak library
reference
38 00000001
39 00000001
40 00000001 AREA |.text|, CODE, READONLY
41 00000000
42 00000000
43 00000000 SVC_Handler
ARM Macro Assembler Page 2
PROC
44 00000000 EXPORT SVC_Handler
45 00000000 IMPORT osRtxUserSVC
46 00000000 IMPORT osRtxInfo
47 00000000 IF :DEF:MPU_LOAD
49 ENDIF
50 00000000
51 00000000 F01E 0F04 TST LR,#0x04 ; Determine return
stack from EXC_RETU
RN bit 2
52 00000004 BF0C ITE EQ
53 00000006 F3EF 8008 MRSEQ R0,MSP ; Get MSP if return
stack is MSP
54 0000000A F3EF 8009 MRSNE R0,PSP ; Get PSP if return
stack is PSP
55 0000000E
56 0000000E 6981 LDR R1,[R0,#24] ; Load saved PC fro
m stack
57 00000010 F811 1C02 LDRB R1,[R1,#-2] ; Load SVC number
58 00000014 B9D9 CBNZ R1,SVC_User ; Branch if not SVC
0
59 00000016
60 00000016 B501 PUSH {R0,LR} ; Save SP and EXC_R
ETURN
61 00000018 E890 100F LDM R0,{R0-R3,R12} ; Load function
parameters and addr
ess from stack
62 0000001C 47E0 BLX R12 ; Call service func
tion
63 0000001E E8BD 5000 POP {R12,LR} ; Restore SP and EX
C_RETURN
64 00000022 E88C 0003 STM R12,{R0-R1} ; Store function re
turn values
65 00000026
66 00000026 SVC_Context
67 00000026 4B19 LDR R3,=osRtxInfo+I_T_RUN_OFS ; Loa
d address of osRtxI
nfo.run
68 00000028 E893 0006 LDM R3,{R1,R2} ; Load osRtxInfo.th
read.run: curr & ne
xt
69 0000002C 4291 CMP R1,R2 ; Check if thread s
witch is required
70 0000002E BF08 IT EQ
71 00000030 4770 BXEQ LR ; Exit when threads
are the same
72 00000032
73 00000032 B119 CBZ R1,SVC_ContextSwitch ; Branch i
f running thread is
deleted
74 00000034
75 00000034 SVC_ContextSave
76 00000034 E92C 0FF0 STMDB R12!,{R4-R11} ; Save R4..R11
77 00000038 F8C1 C038 STR R12,[R1,#TCB_SP_OFS] ; Store SP
78 0000003C
79 0000003C SVC_ContextSwitch
80 0000003C 601A STR R2,[R3] ; osRtxInfo.thread.
run: curr = next
ARM Macro Assembler Page 3
81 0000003E
82 0000003E IF :DEF:MPU_LOAD
87 ENDIF
88 0000003E
89 0000003E SVC_ContextRestore
90 0000003E 6B90 LDR R0,[R2,#TCB_SP_OFS] ; Load SP
91 00000040 E8B0 0FF0 LDMIA R0!,{R4-R11} ; Restore R4..R11
92 00000044 F380 8809 MSR PSP,R0 ; Set PSP
93 00000048
94 00000048 F06F 0E02 MVN LR,#~0xFFFFFFFD ; Set EXC_RETUR
N value
95 0000004C
96 0000004C SVC_Exit
97 0000004C 4770 BX LR ; Exit from handler
98 0000004E
99 0000004E SVC_User
100 0000004E 4A10 LDR R2,=osRtxUserSVC ; Load address
of SVC table
101 00000050 6813 LDR R3,[R2] ; Load SVC maximum
number
102 00000052 4299 CMP R1,R3 ; Check SVC number
range
103 00000054 D8FA BHI SVC_Exit ; Branch if out of
range
104 00000056
105 00000056 B501 PUSH {R0,LR} ; Save SP and EXC_R
ETURN
106 00000058 F852 C021 LDR R12,[R2,R1,LSL #2] ; Load addre
ss of SVC function
107 0000005C C80F LDM R0,{R0-R3} ; Load function par
ameters from stack
108 0000005E 47E0 BLX R12 ; Call service func
tion
109 00000060 E8BD 5000 POP {R12,LR} ; Restore SP and EX
C_RETURN
110 00000064 F8CC 0000 STR R0,[R12] ; Store function re
turn value
111 00000068
112 00000068 4770 BX LR ; Return from handl
er
113 0000006A
114 0000006A 00 00 ALIGN
115 0000006C ENDP
116 0000006C
117 0000006C
118 0000006C PendSV_Handler
PROC
119 0000006C EXPORT PendSV_Handler
120 0000006C IMPORT osRtxPendSV_Handler
121 0000006C
122 0000006C B501 PUSH {R0,LR} ; Save EXC_RETURN
123 0000006E F7FF FFFE BL osRtxPendSV_Handler ; Call osRt
xPendSV_Handler
124 00000072 E8BD 4001 POP {R0,LR} ; Restore EXC_RETUR
N
125 00000076 F3EF 8C09 MRS R12,PSP
126 0000007A E7D4 B SVC_Context
127 0000007C
ARM Macro Assembler Page 4
128 0000007C ALIGN
129 0000007C ENDP
130 0000007C
131 0000007C
132 0000007C SysTick_Handler
PROC
133 0000007C EXPORT SysTick_Handler
134 0000007C IMPORT osRtxTick_Handler
135 0000007C
136 0000007C B501 PUSH {R0,LR} ; Save EXC_RETURN
137 0000007E F7FF FFFE BL osRtxTick_Handler ; Call osRtxT
ick_Handler
138 00000082 E8BD 4001 POP {R0,LR} ; Restore EXC_RETUR
N
139 00000086 F3EF 8C09 MRS R12,PSP
140 0000008A E7CC B SVC_Context
141 0000008C
142 0000008C ALIGN
143 0000008C ENDP
144 0000008C
145 0000008C
146 0000008C END
00000014
00000000
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=..\output\irq_cm3.d -o..\output\irq_cm3.o -ID:\26<32><36><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>\soft
ware\<5C><><EFBFBD>ӱ<EFBFBD>־λ<D6BE>ж<EFBFBD>\RTX5_20220316\Project\RTE -ID:\26<32><36><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>\software\<5C><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>־λ<EFBFBD>ж<EFBFBD>\RTX5_20220316\Project\RTE\CMSIS -ID:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.
0\CMSIS\RTOS2\Include -ID:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\Inc
lude -ID:\Keil_v5\ARM\PACK\Keil\STM32L1xx_DFP\1.3.0 -ID:\Keil_v5\ARM\CMSIS\Incl
ude --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 514" --
predefine="_RTE_ SETA 1" --predefine="STM32L151xD SETA 1" --list=.\irq_cm3.lst
D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\Source\ARM\irq_cm3.s
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
.constdata 00000000
Symbol: .constdata
Definitions
At line 35 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
None
Comment: .constdata unused
irqRtxLib 00000000
Symbol: irqRtxLib
Definitions
At line 37 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 36 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Comment: irqRtxLib used once
2 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
.text 00000000
Symbol: .text
Definitions
At line 40 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
None
Comment: .text unused
PendSV_Handler 0000006C
Symbol: PendSV_Handler
Definitions
At line 118 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Uses
At line 119 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Comment: PendSV_Handler used once
SVC_Context 00000026
Symbol: SVC_Context
Definitions
At line 66 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 126 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
At line 140 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
SVC_ContextRestore 0000003E
Symbol: SVC_ContextRestore
Definitions
At line 89 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
None
Comment: SVC_ContextRestore unused
SVC_ContextSave 00000034
Symbol: SVC_ContextSave
Definitions
At line 75 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
None
Comment: SVC_ContextSave unused
SVC_ContextSwitch 0000003C
Symbol: SVC_ContextSwitch
Definitions
At line 79 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 73 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Comment: SVC_ContextSwitch used once
ARM Macro Assembler Page 2 Alphabetic symbol ordering
Relocatable symbols
SVC_Exit 0000004C
Symbol: SVC_Exit
Definitions
At line 96 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 103 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Comment: SVC_Exit used once
SVC_Handler 00000000
Symbol: SVC_Handler
Definitions
At line 43 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 44 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Comment: SVC_Handler used once
SVC_User 0000004E
Symbol: SVC_User
Definitions
At line 99 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 58 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Comment: SVC_User used once
SysTick_Handler 0000007C
Symbol: SysTick_Handler
Definitions
At line 132 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Uses
At line 133 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Comment: SysTick_Handler used once
10 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Absolute symbols
I_T_RUN_OFS 00000014
Symbol: I_T_RUN_OFS
Definitions
At line 27 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 67 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Comment: I_T_RUN_OFS used once
TCB_SP_OFS 00000038
Symbol: TCB_SP_OFS
Definitions
At line 28 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 77 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
At line 90 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
2 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
osRtxInfo 00000000
Symbol: osRtxInfo
Definitions
At line 46 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 67 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Comment: osRtxInfo used once
osRtxPendSV_Handler 00000000
Symbol: osRtxPendSV_Handler
Definitions
At line 120 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Uses
At line 123 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Comment: osRtxPendSV_Handler used once
osRtxTick_Handler 00000000
Symbol: osRtxTick_Handler
Definitions
At line 134 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Uses
At line 137 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Comment: osRtxTick_Handler used once
osRtxUserSVC 00000000
Symbol: osRtxUserSVC
Definitions
At line 45 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\So
urce\ARM\irq_cm3.s
Uses
At line 100 in file D:\Keil_v5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\S
ource\ARM\irq_cm3.s
Comment: osRtxUserSVC used once
4 symbols
358 symbols in table