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

📄 init.lst

📁 IARSOURCECODE是基于LPC2478嵌入式软件IAR EWARM V4.42的应用实例代码
💻 LST
📖 第 1 页 / 共 2 页
字号:



ARM Macro Assembler    Page 1 


    1 00000000         ;*******************************************************
                       ***********************
    2 00000000         ;
    3 00000000         ;                               STARTUP CODE
    4 00000000         ;                                  LPC2378
    5 00000000         ;                             KEIL's uVision3 
    6 00000000         ;                   (RealView Microprocessor Developer K
                       it)
    7 00000000         ;
    8 00000000         ; Filename      : init.s
    9 00000000         ;*******************************************************
                       ***********************
   10 00000000         
   11 00000000                 PRESERVE8
   12 00000000                 AREA             INIT, CODE, READONLY ; Name thi
                                                            s block of code    
                                                                               
                                                                        ;
   13 00000000                 ARM
   14 00000000         
   15 00000000         ;*******************************************************
                       ***********************
   16 00000000         ;                                  IMPORTS
   17 00000000         ;*******************************************************
                       ***********************
   18 00000000         
   19 00000000                 IMPORT           __main
   20 00000000                 IMPORT           ||Image$$ARM_LIB_STACK$$ZI$$Lim
it|| 
                                                            ; Import stack limi
                                                            t from scatter-load
                                                            ing file           
                                                               ;
   21 00000000         
   22 00000000         ;*******************************************************
                       ***********************
   23 00000000         ;                                  EXPORTS
   24 00000000         ;*******************************************************
                       ***********************
   25 00000000         
   26 00000000                 EXPORT           ResetHndlr
   27 00000000         
   28 00000000         ;*******************************************************
                       ***********************
   29 00000000         ;                                DEFINITIONS
   30 00000000         ;*******************************************************
                       ***********************
   31 00000000         
   32 00000000 0000001F 
                       MODE_BITS
                               EQU              0x1F        ; Bit mask for mode
                                                             bits in CPSR
   33 00000000 00000010 
                       USR_MODE
                               EQU              0x10        ; User mode
   34 00000000 00000011 
                       FIQ_MODE
                               EQU              0x11        ; Fast Interrupt Re
                                                            quest mode



ARM Macro Assembler    Page 2 


   35 00000000 00000012 
                       IRQ_MODE
                               EQU              0x12        ; Interrupt Request
                                                             mode
   36 00000000 00000013 
                       SVC_MODE
                               EQU              0x13        ; Supervisor mode
   37 00000000 00000017 
                       ABT_MODE
                               EQU              0x17        ; Abort mode
   38 00000000 0000001B 
                       UND_MODE
                               EQU              0x1B        ; Undefined Instruc
                                                            tion mode
   39 00000000 0000001F 
                       SYS_MODE
                               EQU              0x1F        ; System mode
   40 00000000         
   41 00000000 00000080 
                       I_BIT   EQU              0x80
   42 00000000 00000040 
                       F_BIT   EQU              0x40
   43 00000000         
   44 00000000         ; Define stack sizes                                    
                           ;
   45 00000000 00000400 
                       IRQ_STK_SIZE
                               EQU              0x00000400
   46 00000000 00000100 
                       FIQ_STK_SIZE
                               EQU              0x00000100
   47 00000000 00000400 
                       SVC_STK_SIZE
                               EQU              0x00000400
   48 00000000 00000080 
                       ABT_STK_SIZE
                               EQU              0x00000080
   49 00000000 00000080 
                       UND_STK_SIZE
                               EQU              0x00000080
   50 00000000 00000100 
                       SYS_STK_SIZE
                               EQU              0x00000100
   51 00000000         
   52 00000000 E01FC040 
                       MEMMAP  EQU              0xE01FC040
   53 00000000         
   54 00000000         ; Define stack pointers                                 
                           ;
   55 00000000         
   56 00000000         ;*******************************************************
                       ***********************
   57 00000000         ;                             PERFORM ROM/RAM REMAPPING
   58 00000000         ;*******************************************************
                       ***********************                
   59 00000000         
   60 00000000                 ENTRY
   61 00000000         ResetHndlr
   62 00000000         ; If interrupt vectors in RAM, then perform remap       



ARM Macro Assembler    Page 3 


                           ;
   63 00000000                 IF               :DEF: REMAP
   69                          ENDIF
   70 00000000         
   71 00000000         ;*******************************************************
                       ***********************
   72 00000000         ;                              SETUP STACK POINTERS
   73 00000000         ;*******************************************************
                       ***********************
   74 00000000         
   75 00000000 E59F107C        ldr              r1, =||Image$$ARM_LIB_STACK$$ZI
$$Limit||
   76 00000004         
   77 00000004 E10F0000        mrs              r0,cpsr     ; Original PSR valu
                                                            e                  
                                                                               
                                                               ;
   78 00000008 E3C0001F        bic              r0,r0,#MODE_BITS ; Clear the mo
                                                            de bits            
                                                                               
                                                                    ;
   79 0000000C E3800012        orr              r0,r0,#IRQ_MODE ; Set IRQ mode 
                                                            bits               
                                                                               
                                                                   ;
   80 00000010 E121F000        msr              cpsr_c,r0   ; Change the mode  
                                                                               
                                                                               
                                                               ;
   81 00000014 E1A0D001        mov              sp, r1
   82 00000018 E2411B01        sub              r1, r1, #IRQ_STK_SIZE
   83 0000001C         
   84 0000001C E10F0000        mrs              r0,cpsr     ; Original PSR valu
                                                            e                  
                                                                               
                                                               ;
   85 00000020 E3C0001F        bic              r0,r0,#MODE_BITS ; Clear the mo
                                                            de bits            
                                                                               
                                                                    ;
   86 00000024 E3800017        orr              r0,r0,#ABT_MODE ; Set IRQ mode 
                                                            bits               
                                                                               
                                                                   ;
   87 00000028 E121F000        msr              cpsr_c,r0   ; Change the mode  
                                                                               
                                                                               
                                                               ;
   88 0000002C E1A0D001        mov              sp, r1
   89 00000030 E2411080        sub              r1, r1, #ABT_STK_SIZE
   90 00000034         
   91 00000034 E10F0000        mrs              r0,cpsr     ; Original PSR valu
                                                            e                  
                                                                               
                                                               ;
   92 00000038 E3C0001F        bic              r0,r0,#MODE_BITS ; Clear the mo
                                                            de bits            
                                                                               
                                                                    ;



ARM Macro Assembler    Page 4 


   93 0000003C E380001B        orr              r0,r0,#UND_MODE ; Set IRQ mode 
                                                            bits               
                                                                               
                                                                   ;
   94 00000040 E121F000        msr              cpsr_c,r0   ; Change the mode  
                                                                               
                                                                               
                                                               ;
   95 00000044 E1A0D001        mov              sp, r1
   96 00000048 E2411080        sub              r1, r1, #UND_STK_SIZE
   97 0000004C         
   98 0000004C E10F0000        mrs              r0,cpsr     ; Original PSR valu
                                                            e                  
                                                                               
                                                               ;
   99 00000050 E3C0001F        bic              r0,r0,#MODE_BITS ; Clear the mo
                                                            de bits            
                                                                               
                                                                    ;
  100 00000054 E3800011        orr              r0,r0,#FIQ_MODE ; Set IRQ mode 
                                                            bits               
                                                                               
                                                                   ;
  101 00000058 E121F000        msr              cpsr_c,r0   ; Change the mode  
                                                                               
                                                                               
                                                               ;
  102 0000005C E1A0D001        mov              sp, r1
  103 00000060 E2411C01        sub              r1, r1, #FIQ_STK_SIZE
  104 00000064         
  105 00000064 E10F0000        mrs              r0,cpsr     ; Original PSR valu
                                                            e                  
                                                                               
                                                               ;
  106 00000068 E3C0001F        bic              r0,r0,#MODE_BITS ; Clear the mo
                                                            de bits            
                                                                               
                                                                    ;
  107 0000006C E3800013        orr              r0,r0,#SVC_MODE ; Set IRQ mode 
                                                            bits               
                                                                               
                                                                   ;
  108 00000070 E121F000        msr              cpsr_c,r0   ; Change the mode  
                                                                               
                                                                               
                                                               ;
  109 00000074 E1A0D001        mov              sp, r1
  110 00000078         
  111 00000078 E321F053        msr              cpsr_c, #SVC_MODE:OR:F_BIT ; En
                                                            able interrupts, if
                                                             required          
                                                                              ;
                                                            
  112 0000007C         
  113 0000007C         ;*******************************************************
                       ***********************
  114 0000007C         ;                                   MOVE TO MAIN
  115 0000007C         ;*******************************************************
                       ***********************



ARM Macro Assembler    Page 5 


  116 0000007C E59F0004        ldr              r0, =__main
  117 00000080 E12FFF10        bx               r0          ; Save this in regi
                                                            ster for possible l
                                                            ong jump           

⌨️ 快捷键说明

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