⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cortexm3_macro.lst

📁 通过手动烧写flash,实现了stm32的自动更新功能,用户可以再本例程的基础上修改实现通过串口或者网络实现程序的自动更新
💻 LST
📖 第 1 页 / 共 2 页
字号:



ARM Macro Assembler    Page 1 


    1 00000000         ;******************** (C) COPYRIGHT 2008 STMicroelectron
                       ics ********************
    2 00000000         ;* File Name          : cortexm3_macro.s
    3 00000000         ;* Author             : MCD Application Team
    4 00000000         ;* Version            : V2.0.2
    5 00000000         ;* Date               : 09/22/2008
    6 00000000         ;* Description        : Instruction wrappers for special
                        Cortex-M3 instructions
    7 00000000         ;*                      to be used with RVMDK toolchain.
                       
    8 00000000         ;*******************************************************
                       ************************
    9 00000000         ; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS A
                       T PROVIDING CUSTOMERS
   10 00000000         ; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN OR
                       DER FOR THEM TO SAVE TIME.
   11 00000000         ; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIAB
                       LE FOR ANY DIRECT,
   12 00000000         ; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY 
                       CLAIMS ARISING FROM THE
   13 00000000         ; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOM
                       ERS OF THE CODING
   14 00000000         ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR 
                       PRODUCTS.
   15 00000000         ;*******************************************************
                       ************************
   16 00000000         
   17 00000000                 THUMB
   18 00000000                 REQUIRE8
   19 00000000                 PRESERVE8
   20 00000000         
   21 00000000                 AREA             |.text|, CODE, READONLY, ALIGN=
2
   22 00000000         
   23 00000000         ; Exported functions
   24 00000000                 EXPORT           __WFI
   25 00000000                 EXPORT           __WFE
   26 00000000                 EXPORT           __SEV
   27 00000000                 EXPORT           __ISB
   28 00000000                 EXPORT           __DSB
   29 00000000                 EXPORT           __DMB
   30 00000000                 EXPORT           __SVC
   31 00000000                 EXPORT           __MRS_CONTROL
   32 00000000                 EXPORT           __MSR_CONTROL
   33 00000000                 EXPORT           __MRS_PSP
   34 00000000                 EXPORT           __MSR_PSP
   35 00000000                 EXPORT           __MRS_MSP
   36 00000000                 EXPORT           __MSR_MSP
   37 00000000                 EXPORT           __RESETPRIMASK
   38 00000000                 EXPORT           __SETPRIMASK
   39 00000000                 EXPORT           __READ_PRIMASK
   40 00000000                 EXPORT           __RESETFAULTMASK
   41 00000000                 EXPORT           __SETFAULTMASK
   42 00000000                 EXPORT           __READ_FAULTMASK
   43 00000000                 EXPORT           __BASEPRICONFIG
   44 00000000                 EXPORT           __GetBASEPRI
   45 00000000                 EXPORT           __REV_HalfWord
   46 00000000                 EXPORT           __REV_Word
   47 00000000                 EXPORT           CallApplication



ARM Macro Assembler    Page 2 


   48 00000000         
   49 00000000         CallApplication
   50 00000000 F04F 2008       ldr              r0, =0x08000800
   51 00000004         
   52 00000004         ;
   53 00000004         ; Set the vector table address to the beginning of the a
                       pplication.
   54 00000004         ;
   55 00000004 4921            ldr              r1, =0xe000ed08
   56 00000006 6008            str              r0, [r1]
   57 00000008         
   58 00000008         ;
   59 00000008         ; Load the stack pointer from the application's vector t
                       able.
   60 00000008         ;
   61 00000008 6801            ldr              r1, [r0]
   62 0000000A 468D            mov              sp, r1
   63 0000000C         
   64 0000000C         ;
   65 0000000C         ; Load the initial PC from the application's vector tabl
                       e and branch to
   66 0000000C         ; the application's entry point.
   67 0000000C         ;
   68 0000000C 6840            ldr              r0, [r0, #4]
   69 0000000E 4700            bx               r0
   70 00000010         
   71 00000010         ;*******************************************************
                       ************************
   72 00000010         ; Function Name  : __WFI
   73 00000010         ; Description    : Assembler function for the WFI instru
                       ction.
   74 00000010         ; Input          : None
   75 00000010         ; Return         : None
   76 00000010         ;*******************************************************
                       ************************
   77 00000010         __WFI
   78 00000010         
   79 00000010 BF30            WFI
   80 00000012 4770            BX               r14
   81 00000014         
   82 00000014         ;*******************************************************
                       ************************
   83 00000014         ; Function Name  : __WFE
   84 00000014         ; Description    : Assembler function for the WFE instru
                       ction.
   85 00000014         ; Input          : None
   86 00000014         ; Return         : None
   87 00000014         ;*******************************************************
                       ************************
   88 00000014         __WFE
   89 00000014         
   90 00000014 BF20            WFE
   91 00000016 4770            BX               r14
   92 00000018         
   93 00000018         ;*******************************************************
                       ************************
   94 00000018         ; Function Name  : __SEV
   95 00000018         ; Description    : Assembler function for the SEV instru
                       ction.



ARM Macro Assembler    Page 3 


   96 00000018         ; Input          : None
   97 00000018         ; Return         : None
   98 00000018         ;*******************************************************
                       ************************
   99 00000018         __SEV
  100 00000018         
  101 00000018 BF40            SEV
  102 0000001A 4770            BX               r14
  103 0000001C         
  104 0000001C         ;*******************************************************
                       ************************
  105 0000001C         ; Function Name  : __ISB
  106 0000001C         ; Description    : Assembler function for the ISB instru
                       ction.
  107 0000001C         ; Input          : None
  108 0000001C         ; Return         : None
  109 0000001C         ;*******************************************************
                       ************************
  110 0000001C         __ISB
  111 0000001C         
  112 0000001C F3BF 8F6F       ISB
  113 00000020 4770            BX               r14
  114 00000022         
  115 00000022         ;*******************************************************
                       ************************
  116 00000022         ; Function Name  : __DSB
  117 00000022         ; Description    : Assembler function for the DSB instru
                       ction.
  118 00000022         ; Input          : None
  119 00000022         ; Return         : None
  120 00000022         ;*******************************************************
                       ************************
  121 00000022         __DSB
  122 00000022         
  123 00000022 F3BF 8F4F       DSB
  124 00000026 4770            BX               r14
  125 00000028         
  126 00000028         ;*******************************************************
                       ************************
  127 00000028         ; Function Name  : __DMB
  128 00000028         ; Description    : Assembler function for the DMB instru
                       ction.
  129 00000028         ; Input          : None
  130 00000028         ; Return         : None
  131 00000028         ;*******************************************************
                       ************************
  132 00000028         __DMB
  133 00000028         
  134 00000028 F3BF 8F5F       DMB
  135 0000002C 4770            BX               r14
  136 0000002E         
  137 0000002E         ;*******************************************************
                       ************************
  138 0000002E         ; Function Name  : __SVC
  139 0000002E         ; Description    : Assembler function for the SVC instru
                       ction.
  140 0000002E         ; Input          : None
  141 0000002E         ; Return         : None
  142 0000002E         ;*******************************************************



ARM Macro Assembler    Page 4 


                       ************************
  143 0000002E         __SVC
  144 0000002E         
  145 0000002E DF01            SVC              0x01
  146 00000030 4770            BX               r14
  147 00000032         
  148 00000032         ;*******************************************************
                       ************************
  149 00000032         ; Function Name  : __MRS_CONTROL
  150 00000032         ; Description    : Assembler function for the MRS instru
                       ction.
  151 00000032         ; Input          : None
  152 00000032         ; Return         : - r0 : Cortex-M3 CONTROL register val
                       ue.
  153 00000032         ;*******************************************************
                       ************************
  154 00000032         __MRS_CONTROL
  155 00000032         
  156 00000032 F3EF 8014       MRS              r0, CONTROL
  157 00000036 4770            BX               r14
  158 00000038         
  159 00000038         ;*******************************************************
                       ************************
  160 00000038         ; Function Name  : __MSR_CONTROL
  161 00000038         ; Description    : Assembler function for the MSR instru
                       ction.
  162 00000038         ; Input          : - r0 : Cortex-M3 CONTROL register new
                        value.  
  163 00000038         ; Return         : None
  164 00000038         ;*******************************************************
                       ************************
  165 00000038         __MSR_CONTROL
  166 00000038         
  167 00000038 F380 8814       MSR              CONTROL, r0
  168 0000003C F3BF 8F6F       ISB
  169 00000040 4770            BX               r14
  170 00000042         
  171 00000042         ;*******************************************************
                       ************************
  172 00000042         ; Function Name  : __MRS_PSP
  173 00000042         ; Description    : Assembler function for the MRS instru
                       ction.
  174 00000042         ; Input          : None
  175 00000042         ; Return         : - r0 : Process Stack value.
  176 00000042         ;*******************************************************
                       ************************
  177 00000042         __MRS_PSP
  178 00000042         
  179 00000042 F3EF 8009       MRS              r0, PSP
  180 00000046 4770            BX               r14
  181 00000048         
  182 00000048         ;*******************************************************
                       ************************
  183 00000048         ; Function Name  : __MSR_PSP
  184 00000048         ; Description    : Assembler function for the MSR instru
                       ction.
  185 00000048         ; Input          : - r0 : Process Stack new value.  
  186 00000048         ; Return         : None
  187 00000048         ;*******************************************************



ARM Macro Assembler    Page 5 


                       ************************
  188 00000048         __MSR_PSP
  189 00000048         
  190 00000048 F380 8809       MSR              PSP, r0     ; set Process Stack
                                                             value
  191 0000004C 4770            BX               r14
  192 0000004E         
  193 0000004E         ;*******************************************************
                       ************************
  194 0000004E         ; Function Name  : __MRS_MSP
  195 0000004E         ; Description    : Assembler function for the MRS instru
                       ction.
  196 0000004E         ; Input          : None
  197 0000004E         ; Return         : - r0 : Main Stack value.
  198 0000004E         ;*******************************************************
                       ************************
  199 0000004E         __MRS_MSP
  200 0000004E         
  201 0000004E F3EF 8008       MRS              r0, MSP
  202 00000052 4770            BX               r14
  203 00000054         
  204 00000054         ;*******************************************************
                       ************************
  205 00000054         ; Function Name  : __MSR_MSP
  206 00000054         ; Description    : Assembler function for the MSR instru
                       ction.
  207 00000054         ; Input          : - r0 : Main Stack new value.  
  208 00000054         ; Return         : None
  209 00000054         ;*******************************************************
                       ************************
  210 00000054         __MSR_MSP
  211 00000054         
  212 00000054 F380 8808       MSR              MSP, r0     ; set Main Stack va
                                                            lue
  213 00000058 4770            BX               r14
  214 0000005A         
  215 0000005A         ;*******************************************************
                       ************************
  216 0000005A         ; Function Name  : __RESETPRIMASK
  217 0000005A         ; Description    : Assembler function to reset the PRIMA
                       SK.
  218 0000005A         ; Input          : None 
  219 0000005A         ; Return         : None
  220 0000005A         ;*******************************************************
                       ************************
  221 0000005A         __RESETPRIMASK
  222 0000005A         
  223 0000005A B662            CPSIE            i
  224 0000005C 4770            BX               r14
  225 0000005E         
  226 0000005E         ;*******************************************************
                       ************************
  227 0000005E         ; Function Name  : __SETPRIMASK
  228 0000005E         ; Description    : Assembler function to set the PRIMASK
                       .
  229 0000005E         ; Input          : None 
  230 0000005E         ; Return         : None
  231 0000005E         ;*******************************************************
                       ************************



ARM Macro Assembler    Page 6 


  232 0000005E         __SETPRIMASK
  233 0000005E         
  234 0000005E B672            CPSID            i
  235 00000060 4770            BX               r14
  236 00000062         
  237 00000062         ;*******************************************************
                       ************************
  238 00000062         ; Function Name  : __READ_PRIMASK
  239 00000062         ; Description    : Assembler function to get the PRIMASK
                        value.
  240 00000062         ; Input          : None
  241 00000062         ; Return         : - r0 : PRIMASK register value 
  242 00000062         ;*******************************************************
                       ************************
  243 00000062         __READ_PRIMASK
  244 00000062         

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -