


ARM Macro Assembler    Page 1 


    1 00000000         #line   1                "mbed-os/rtos/TARGET_CORTEX/rtx
5/TARGET_RTOS_M4_M7/TOOLCHAIN_ARM/irq_cm4f.S"
    1 00000000         ;
    2 00000000         
    3 00000000         
    4 00000000         
    5 00000000         
    6 00000000         
    7 00000000         
    8 00000000         
    9 00000000         
   10 00000000         
   11 00000000         
   12 00000000         
   13 00000000         
   14 00000000         
   15 00000000         
   16 00000000         
   17 00000000         
   18 00000000         
   19 00000000         
   20 00000000         
   21 00000000         
   22 00000000         
   23 00000000         
   24 00000000         
   25 00000000         
   26 00000000         
   27 00000000 0000001C 
                       I_T_RUN_OFS
                               EQU              28          ; osRtxInfo.thread.
                                                            run offset
   28 00000000 00000038 
                       TCB_SP_OFS
                               EQU              56          ; TCB.SP offset
   29 00000000 00000022 
                       TCB_SF_OFS
                               EQU              34          ; TCB.stack_frame o
                                                            ffset
   30 00000000         
   31 00000000         
   32 00000000                 PRESERVE8
   33 00000000                 THUMB
   34 00000000         
   35 00000000         
   36 00000000                 AREA             |.constdata|, DATA, READONLY
   37 00000000                 EXPORT           irqRtxLib
   38 00000000 00      irqRtxLib
                               DCB              0           ; Non weak library 
                                                            reference
   39 00000001         
   40 00000001         
   41 00000001                 AREA             |.text|, CODE, READONLY
   42 00000000         
   43 00000000         
   44 00000000         SVC_Handler
                               PROC
   45 00000000                 EXPORT           SVC_Handler
   46 00000000                 IMPORT           osRtxUserSVC



ARM Macro Assembler    Page 2 


   47 00000000                 IMPORT           osRtxInfo
   48 00000000         
   49 00000000 F3EF 8009       MRS              R0,PSP      ; Get PSP
   50 00000004 6981            LDR              R1,[R0,#24] ; Load saved PC fro
                                                            m stack
   51 00000006 F811 1C02       LDRB             R1,[R1,#-2] ; Load SVC number
   52 0000000A BB91            CBNZ             R1,SVC_User ; Branch if not SVC
                                                             0
   53 0000000C         
   54 0000000C B501            PUSH             {R0,LR}     ; Save PSP and EXC_
                                                            RETURN
   55 0000000E E890 100F       LDM              R0,{R0-R3,R12} ; Load function 
                                                            parameters and addr
                                                            ess from stack
   56 00000012 47E0            BLX              R12         ; Call service func
                                                            tion
   57 00000014 E8BD 5000       POP              {R12,LR}    ; Restore PSP and E
                                                            XC_RETURN
   58 00000018 E88C 0003       STM              R12,{R0-R1} ; Store function re
                                                            turn values
   59 0000001C         
   60 0000001C         SVC_Context
   61 0000001C 4B23            LDR              R3,=osRtxInfo+I_T_RUN_OFS ; Loa
                                                            d address of osRtxI
                                                            nfo.run
   62 0000001E E893 0006       LDM              R3,{R1,R2}  ; Load osRtxInfo.th
                                                            read.run: curr & ne
                                                            xt
   63 00000022 4291            CMP              R1,R2       ; Check if thread s
                                                            witch is required
   64 00000024 BF08 4770       BXEQ             LR          ; Exit when threads
                                                             are the same
   65 00000028         
   66 00000028 B941            CBNZ             R1,SVC_ContextSave ; Branch if 
                                                            running thread is n
                                                            ot deleted
   67 0000002A F01E 0F10       TST              LR,#0x10    ; Check if extended
                                                             stack frame
   68 0000002E D110            BNE              SVC_ContextSwitch
   69 00000030         
   70 00000030 491F            LDR              R1,=0xE000EF34 ; FPCCR Address
   71 00000032 6808            LDR              R0,[R1]     ; Load FPCCR
   72 00000034 F020 0001       BIC              R0,#1       ; Clear LSPACT (Laz
                                                            y state)
   73 00000038 6008            STR              R0,[R1]     ; Store FPCCR
   74 0000003A E00A            B                SVC_ContextSwitch
   75 0000003C         
   76 0000003C         
   77 0000003C         SVC_ContextSave
   78 0000003C E92C 0FF0       STMDB            R12!,{R4-R11} ; Save R4..R11
   79 00000040         
   80 00000040 F01E 0F10       TST              LR,#0x10    ; Check if extended
                                                             stack frame
   81 00000044 BF08 ED2C 
              8A10             VSTMDBEQ         R12!,{S16-S31} 
                                                            ;  Save VFP S16.S31
                                                            
   82 0000004A         
   83 0000004A         



ARM Macro Assembler    Page 3 


   84 0000004A F8C1 C038       STR              R12,[R1,#TCB_SP_OFS] ; Store SP
                                                            
   85 0000004E F881 E022       STRB             LR, [R1,#TCB_SF_OFS] ; Store st
                                                            ack frame informati
                                                            on
   86 00000052         
   87 00000052         SVC_ContextSwitch
   88 00000052 601A            STR              R2,[R3]     ; osRtxInfo.thread.
                                                            run: curr = next
   89 00000054         
   90 00000054         SVC_ContextRestore
   91 00000054 F892 1022       LDRB             R1,[R2,#TCB_SF_OFS] ; Load stac
                                                            k frame information
                                                            
   92 00000058 6B90            LDR              R0,[R2,#TCB_SP_OFS] ; Load SP
   93 0000005A F061 0EFF       ORR              LR,R1,#0xFFFFFF00 
                                                            ; Set EXC_RETURN
   94 0000005E         
   95 0000005E         
   96 0000005E F01E 0F10       TST              LR,#0x10    ; Check if extended
                                                             stack frame
   97 00000062 BF08 ECB0 
              8A10             VLDMIAEQ         R0!,{S16-S31} ;  Restore VFP S1
                                                            6..S31
   98 00000068         
   99 00000068 E8B0 0FF0       LDMIA            R0!,{R4-R11} ; Restore R4..R11
  100 0000006C F380 8809       MSR              PSP,R0      ; Set PSP
  101 00000070         
  102 00000070         SVC_Exit
  103 00000070 4770            BX               LR          ; Exit from handler
                                                            
  104 00000072         
  105 00000072         SVC_User
  106 00000072 B510            PUSH             {R4,LR}     ; Save registers
  107 00000074 4A0F            LDR              R2,=osRtxUserSVC ; Load address
                                                             of SVC table
  108 00000076 6813            LDR              R3,[R2]     ; Load SVC maximum 
                                                            number
  109 00000078 4299            CMP              R1,R3       ; Check SVC number 
                                                            range
  110 0000007A D806            BHI              SVC_Done    ; Branch if out of 
                                                            range
  111 0000007C         
  112 0000007C F852 4021       LDR              R4,[R2,R1,LSL #2] ; Load addres
                                                            s of SVC function
  113 00000080         
  114 00000080 C80F            LDM              R0,{R0-R3}  ; Load function par
                                                            ameters from stack
  115 00000082 47A0            BLX              R4          ; Call service func
                                                            tion
  116 00000084 F3EF 8409       MRS              R4,PSP      ; Get PSP
  117 00000088 6020            STR              R0,[R4]     ; Store function re
                                                            turn value
  118 0000008A         
  119 0000008A         SVC_Done
  120 0000008A BD10            POP              {R4,PC}     ; Return from handl
                                                            er
  121 0000008C         
  122 0000008C                 ALIGN



ARM Macro Assembler    Page 4 


  123 0000008C                 ENDP
  124 0000008C         
  125 0000008C         
  126 0000008C         PendSV_Handler
                               PROC
  127 0000008C                 EXPORT           PendSV_Handler
  128 0000008C                 IMPORT           osRtxPendSV_Handler
  129 0000008C         
  130 0000008C B510            PUSH             {R4,LR}     ; Save EXC_RETURN
  131 0000008E F7FF FFFE       BL               osRtxPendSV_Handler ; Call osRt
                                                            xPendSV_Handler
  132 00000092 E8BD 4010       POP              {R4,LR}     ; Restore EXC_RETUR
                                                            N
  133 00000096 F3EF 8C09       MRS              R12,PSP
  134 0000009A E7BF            B                SVC_Context
  135 0000009C         
  136 0000009C                 ALIGN
  137 0000009C                 ENDP
  138 0000009C         
  139 0000009C         
  140 0000009C         SysTick_Handler
                               PROC
  141 0000009C                 EXPORT           SysTick_Handler
  142 0000009C                 IMPORT           osRtxTick_Handler
  143 0000009C         
  144 0000009C B510            PUSH             {R4,LR}     ; Save EXC_RETURN
  145 0000009E F7FF FFFE       BL               osRtxTick_Handler ; Call osRtxT
                                                            ick_Handler
  146 000000A2 E8BD 4010       POP              {R4,LR}     ; Restore EXC_RETUR
                                                            N
  147 000000A6 F3EF 8C09       MRS              R12,PSP
  148 000000AA E7B7            B                SVC_Context
  149 000000AC         
  150 000000AC                 ALIGN
  151 000000AC                 ENDP
  152 000000AC         
  153 000000AC         
  154 000000AC                 END
              0000001C 
              E000EF34 
              00000000 
Command Line: --debug --xref --cpreproc --diag_suppress=9931 --cpu=Cortex-M4.fp
 --apcs=interwork --depend=.\build\irq_cm4f.d -o.\build\irq_cm4f.o -I. -Iimg -I
mbed-os/. -Imbed-os/features -Imbed-os/features/frameworks -Imbed-os/features/f
rameworks/greentea-client -Imbed-os/features/frameworks/greentea-client/greente
a-client -Imbed-os/features/frameworks/greentea-client/source -Imbed-os/feature
s/frameworks/unity -Imbed-os/features/frameworks/unity/source -Imbed-os/feature
s/frameworks/unity/unity -Imbed-os/features/frameworks/utest -Imbed-os/features
/frameworks/utest/source -Imbed-os/features/frameworks/utest/utest -Imbed-os/fe
atures/mbedtls -Imbed-os/features/mbedtls/importer -Imbed-os/features/mbedtls/i
nc -Imbed-os/features/mbedtls/inc/mbedtls -Imbed-os/features/mbedtls/src -Imbed
-os/features/mbedtls/platform -Imbed-os/features/mbedtls/platform/inc -Imbed-os
/features/mbedtls/platform/src -Imbed-os/features/mbedtls/targets -Imbed-os/fea
tures/mbedtls/targets/TARGET_STM -Imbed-os/features/mbedtls/targets/TARGET_STM/
TARGET_STM32F4 -Imbed-os/features/nanostack -Imbed-os/features/storage -Imbed-o
s/features/netsocket -Imbed-os/features/netsocket/cellular -Imbed-os/features/n
etsocket/cellular/generic_modem_driver -Imbed-os/features/netsocket/cellular/ut
ils -Imbed-os/features/filesystem -Imbed-os/features/filesystem/bd -Imbed-os/fe
atures/filesystem/fat -Imbed-os/features/filesystem/fat/ChaN -Imbed-os/cmsis -I



ARM Macro Assembler    Page 5 


mbed-os/cmsis/TARGET_CORTEX_M -Imbed-os/cmsis/TARGET_CORTEX_M/TOOLCHAIN_ARM -Im
bed-os/drivers -Imbed-os/events -Imbed-os/events/equeue -Imbed-os/rtos -Imbed-o
s/rtos/TARGET_CORTEX -Imbed-os/rtos/TARGET_CORTEX/rtx4 -Imbed-os/rtos/TARGET_CO
RTEX/rtx5 -Imbed-os/rtos/TARGET_CORTEX/rtx5/TARGET_RTOS_M4_M7 -Imbed-os/rtos/TA
RGET_CORTEX/rtx5/TARGET_RTOS_M4_M7/TOOLCHAIN_ARM -Imbed-os/hal -Imbed-os/hal/st
orage_abstraction -Imbed-os/platform -Imbed-os/targets -Imbed-os/targets/TARGET
_STM -Imbed-os/targets/TARGET_STM/TARGET_STM32F4 -Imbed-os/targets/TARGET_STM/T
ARGET_STM32F4/TARGET_STM32F401xE -Imbed-os/targets/TARGET_STM/TARGET_STM32F4/TA
RGET_STM32F401xE/TARGET_NUCLEO_F401RE -Imbed-os/targets/TARGET_STM/TARGET_STM32
F4/TARGET_STM32F401xE/device -Imbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET
_STM32F401xE/device/TOOLCHAIN_ARM_STD -Imbed-os/targets/TARGET_STM/TARGET_STM32
F4/device -I"E:\my file\mbed\mbed-os-example-LoRa\RTE" -I"D:\Program Files\Keil
_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.11.0\Drivers\CMSIS\Device\ST\STM32F4xx\Includ
e" -I"D:\Program Files\Keil_v5\ARM\CMSIS\Include" -I"D:\Program Files\Keil_v5\A
RM\PACK\Keil\STM32F4xx_DFP\2.11.0" --predefine="__UVISION_VERSION SETA 515" --p
redefine="STM32F401xE SETA 1" --cpreproc_opts=-D__ASSERT_MSG,-DTRANSACTION_QUEU
E_SIZE_SPI=2,-D__CORTEX_M4,-DUSB_STM_HAL,-DARM_MATH_CM4,-D__FPU_PRESENT=1,-DUSB
HOST_OTHER,-D__MBED_CMSIS_RTOS_CM,-D__CMSIS_RTOS --list=.\build\irq_cm4f.lst mb
ed-os/rtos/TARGET_CORTEX/rtx5/TARGET_RTOS_M4_M7/TOOLCHAIN_ARM/irq_cm4f.S



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.constdata 00000000

Symbol: .constdata
   Definitions
      At line 36 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      None
Comment: .constdata unused
irqRtxLib 00000000

Symbol: irqRtxLib
   Definitions
      At line 38 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 37 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
Comment: irqRtxLib used once
2 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.text 00000000

Symbol: .text
   Definitions
      At line 41 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      None
Comment: .text unused
PendSV_Handler 0000008C

Symbol: PendSV_Handler
   Definitions
      At line 126 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
   Uses
      At line 127 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
Comment: PendSV_Handler used once
SVC_Context 0000001C

Symbol: SVC_Context
   Definitions
      At line 60 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 134 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
      At line 148 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S

SVC_ContextRestore 00000054

Symbol: SVC_ContextRestore
   Definitions
      At line 90 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      None
Comment: SVC_ContextRestore unused
SVC_ContextSave 0000003C

Symbol: SVC_ContextSave
   Definitions
      At line 77 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 66 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
Comment: SVC_ContextSave used once
SVC_ContextSwitch 00000052

Symbol: SVC_ContextSwitch
   Definitions
      At line 87 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 68 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S



ARM Macro Assembler    Page 2 Alphabetic symbol ordering
Relocatable symbols

      At line 74 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S

SVC_Done 0000008A

Symbol: SVC_Done
   Definitions
      At line 119 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
   Uses
      At line 110 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
Comment: SVC_Done used once
SVC_Exit 00000070

Symbol: SVC_Exit
   Definitions
      At line 102 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
   Uses
      None
Comment: SVC_Exit unused
SVC_Handler 00000000

Symbol: SVC_Handler
   Definitions
      At line 44 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 45 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
Comment: SVC_Handler used once
SVC_User 00000072

Symbol: SVC_User
   Definitions
      At line 105 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
   Uses
      At line 52 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
Comment: SVC_User used once
SysTick_Handler 0000009C

Symbol: SysTick_Handler
   Definitions
      At line 140 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
   Uses
      At line 141 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
Comment: SysTick_Handler used once
11 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Absolute symbols

I_T_RUN_OFS 0000001C

Symbol: I_T_RUN_OFS
   Definitions
      At line 27 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 61 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
Comment: I_T_RUN_OFS used once
TCB_SF_OFS 00000022

Symbol: TCB_SF_OFS
   Definitions
      At line 29 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 85 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
      At line 91 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S

TCB_SP_OFS 00000038

Symbol: TCB_SP_OFS
   Definitions
      At line 28 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 84 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
      At line 92 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S

3 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
External symbols

osRtxInfo 00000000

Symbol: osRtxInfo
   Definitions
      At line 47 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 61 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
Comment: osRtxInfo used once
osRtxPendSV_Handler 00000000

Symbol: osRtxPendSV_Handler
   Definitions
      At line 128 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
   Uses
      At line 131 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
Comment: osRtxPendSV_Handler used once
osRtxTick_Handler 00000000

Symbol: osRtxTick_Handler
   Definitions
      At line 142 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
   Uses
      At line 145 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
Comment: osRtxTick_Handler used once
osRtxUserSVC 00000000

Symbol: osRtxUserSVC
   Definitions
      At line 46 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOOL
CHAIN_ARM\irq_cm4f.S
   Uses
      At line 107 in file mbed-os\rtos\TARGET_CORTEX\rtx5\TARGET_RTOS_M4_M7\TOO
LCHAIN_ARM\irq_cm4f.S
Comment: osRtxUserSVC used once
4 symbols
355 symbols in table
