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

📄 2440slib.lst

📁 keil mdk 的S3C2440工程模板 适用于在keil下调试s3c2440
💻 LST
📖 第 1 页 / 共 3 页
字号:



ARM Macro Assembler    Page 1 


    1 00000000         ;=======================================================
                       ==============
    2 00000000         ; File Name : 2440slib.s
    3 00000000         ; Function  : S3C2440  (Assembly)
    4 00000000         ; Date      : March 09, 2002
    5 00000000         ; Revision : Programming start (February 26,2002) -> SOP
                       
    6 00000000         ; Revision : 03.11.2003 ver 0.0 Attatched for 2440
    7 00000000         ;=======================================================
                       ==============
    8 00000000         
    9 00000000         ;Interrupt, FIQ/IRQ disable
   10 00000000 000000C0 
                       NOINT   EQU              0xc0        ; 1100 0000
   11 00000000         
   12 00000000         ;Check if tasm.exe(armasm -16 ...@ADS 1.0) is used.
   13 00000000                 GBLL             THUMBCODE
   14 00000000                 [                {CONFIG} = 16
   18 00000000 FALSE    
                       THUMBCODE
                               SETL             {FALSE}
   19 00000000                 ]
   20 00000000         
   21 00000000                 MACRO
   22 00000000                 MOV_PC_LR
   23 00000000         ; [ THUMBCODE
   24 00000000                 bx               lr
   25 00000000         ; |
   26 00000000         ;   mov pc,lr
   27 00000000         ; ]
   28 00000000                 MEND
   29 00000000         
   30 00000000                 AREA             |C$$code|, CODE, READONLY
   31 00000000         
   32 00000000         ;========================================
   33 00000000         ;Workaround of problem between LCD and Framebuffer
   34 00000000         ;========================================
   35 00000000                 EXPORT           SDRAMtest
   36 00000000         SDRAMtest
   37 00000000 E3A00431        ldr              r0,=0x31000000
   38 00000004 E3A01702        ldr              r1,=0x80000
   39 00000008 E3A022FF        mov              r2,#0xf000000f
   40 0000000C E4802004 
                       LB2     str              r2,[r0],#4
   41 00000010 E4802004        str              r2,[r0],#4
   42 00000014 E2511004        subs             r1,r1,#4
   43 00000018 1AFFFFFB        bne              LB2
   44 0000001C E12FFF1E        bx               lr
   45 00000020         
   46 00000020         
   47 00000020         ;==============
   48 00000020         ; CPSR I,F bit
   49 00000020         ;==============
   50 00000020         ;int SET_IF(void);
   51 00000020         ;The return value is current CPSR.
   52 00000020                 EXPORT           SET_IF
   53 00000020         SET_IF
   54 00000020         ;This function works only if the processor is in previli
                       ged mode.



ARM Macro Assembler    Page 2 


   55 00000020 E10F0000        mrs              r0,cpsr
   56 00000024 E1A01000        mov              r1,r0
   57 00000028 E38110C0        orr              r1,r1,#NOINT
   58 0000002C E12FF001        msr              cpsr_cxsf,r1
   59 00000030                 MOV_PC_LR
   23 00000030         ; [ THUMBCODE
   24 00000030 E12FFF1E        bx               lr
   25 00000034         ; |
   26 00000034         ;   mov pc,lr
   27 00000034         ; ]
   60 00000034         
   61 00000034         ;void WR_IF(int cpsrValue);
   62 00000034                 EXPORT           WR_IF
   63 00000034         WR_IF
   64 00000034         ;This function works only if the processor is in previli
                       ged mode.
   65 00000034 E12FF000        msr              cpsr_cxsf,r0
   66 00000038                 MOV_PC_LR
   23 00000038         ; [ THUMBCODE
   24 00000038 E12FFF1E        bx               lr
   25 0000003C         ; |
   26 0000003C         ;   mov pc,lr
   27 0000003C         ; ]
   67 0000003C         
   68 0000003C         
   69 0000003C         ;void CLR_IF(void);
   70 0000003C                 EXPORT           CLR_IF
   71 0000003C         CLR_IF
   72 0000003C         ;This function works only if the processor is in previli
                       ged mode.
   73 0000003C E10F0000        mrs              r0,cpsr
   74 00000040 E3C000C0        bic              r0,r0,#NOINT
   75 00000044 E12FF000        msr              cpsr_cxsf,r0
   76 00000048                 MOV_PC_LR
   23 00000048         ; [ THUMBCODE
   24 00000048 E12FFF1E        bx               lr
   25 0000004C         ; |
   26 0000004C         ;   mov pc,lr
   27 0000004C         ; ]
   77 0000004C         
   78 0000004C         ;====================================
   79 0000004C         ; MMU Cache/TLB/etc on/off functions
   80 0000004C         ;====================================
   81 0000004C 00001000 
                       R1_I    EQU              (1<<12)
   82 0000004C 00000004 
                       R1_C    EQU              (1<<2)
   83 0000004C 00000002 
                       R1_A    EQU              (1<<1)
   84 0000004C 00000001 
                       R1_M    EQU              (1)
   85 0000004C 80000000 
                       R1_iA   EQU              (1<<31)
   86 0000004C 40000000 
                       R1_nF   EQU              (1<<30)
   87 0000004C         
   88 0000004C         ;void MMU_EnableICache(void)
   89 0000004C                 EXPORT           MMU_EnableICache
   90 0000004C         MMU_EnableICache



ARM Macro Assembler    Page 3 


   91 0000004C EE110F10        mrc              p15,0,r0,c1,c0,0
   92 00000050 E3800A01        orr              r0,r0,#R1_I
   93 00000054 EE010F10        mcr              p15,0,r0,c1,c0,0
   94 00000058                 MOV_PC_LR
   23 00000058         ; [ THUMBCODE
   24 00000058 E12FFF1E        bx               lr
   25 0000005C         ; |
   26 0000005C         ;   mov pc,lr
   27 0000005C         ; ]
   95 0000005C         
   96 0000005C         ;void MMU_DisableICache(void)
   97 0000005C                 EXPORT           MMU_DisableICache
   98 0000005C         MMU_DisableICache
   99 0000005C EE110F10        mrc              p15,0,r0,c1,c0,0
  100 00000060 E3C00A01        bic              r0,r0,#R1_I
  101 00000064 EE010F10        mcr              p15,0,r0,c1,c0,0
  102 00000068                 MOV_PC_LR
   23 00000068         ; [ THUMBCODE
   24 00000068 E12FFF1E        bx               lr
   25 0000006C         ; |
   26 0000006C         ;   mov pc,lr
   27 0000006C         ; ]
  103 0000006C         
  104 0000006C         ;void MMU_EnableDCache(void)
  105 0000006C                 EXPORT           MMU_EnableDCache
  106 0000006C         MMU_EnableDCache
  107 0000006C EE110F10        mrc              p15,0,r0,c1,c0,0
  108 00000070 E3800004        orr              r0,r0,#R1_C
  109 00000074 EE010F10        mcr              p15,0,r0,c1,c0,0
  110 00000078                 MOV_PC_LR
   23 00000078         ; [ THUMBCODE
   24 00000078 E12FFF1E        bx               lr
   25 0000007C         ; |
   26 0000007C         ;   mov pc,lr
   27 0000007C         ; ]
  111 0000007C         
  112 0000007C         ;void MMU_DisableDCache(void)
  113 0000007C                 EXPORT           MMU_DisableDCache
  114 0000007C         MMU_DisableDCache
  115 0000007C EE110F10        mrc              p15,0,r0,c1,c0,0
  116 00000080 E3C00004        bic              r0,r0,#R1_C
  117 00000084 EE010F10        mcr              p15,0,r0,c1,c0,0
  118 00000088                 MOV_PC_LR
   23 00000088         ; [ THUMBCODE
   24 00000088 E12FFF1E        bx               lr
   25 0000008C         ; |
   26 0000008C         ;   mov pc,lr
   27 0000008C         ; ]
  119 0000008C         
  120 0000008C         ;void MMU_EnableAlignFault(void)
  121 0000008C                 EXPORT           MMU_EnableAlignFault
  122 0000008C         MMU_EnableAlignFault
  123 0000008C EE110F10        mrc              p15,0,r0,c1,c0,0
  124 00000090 E3800002        orr              r0,r0,#R1_A
  125 00000094 EE010F10        mcr              p15,0,r0,c1,c0,0
  126 00000098                 MOV_PC_LR
   23 00000098         ; [ THUMBCODE
   24 00000098 E12FFF1E        bx               lr
   25 0000009C         ; |



ARM Macro Assembler    Page 4 


   26 0000009C         ;   mov pc,lr
   27 0000009C         ; ]
  127 0000009C         
  128 0000009C         ;void MMU_DisableAlignFault(void)
  129 0000009C                 EXPORT           MMU_DisableAlignFault
  130 0000009C         MMU_DisableAlignFault
  131 0000009C EE110F10        mrc              p15,0,r0,c1,c0,0
  132 000000A0 E3C00002        bic              r0,r0,#R1_A
  133 000000A4 EE010F10        mcr              p15,0,r0,c1,c0,0
  134 000000A8                 MOV_PC_LR
   23 000000A8         ; [ THUMBCODE
   24 000000A8 E12FFF1E        bx               lr
   25 000000AC         ; |
   26 000000AC         ;   mov pc,lr
   27 000000AC         ; ]
  135 000000AC         
  136 000000AC         ;void MMU_EnableMMU(void)
  137 000000AC                 EXPORT           MMU_EnableMMU
  138 000000AC         MMU_EnableMMU
  139 000000AC EE110F10        mrc              p15,0,r0,c1,c0,0
  140 000000B0 E3800001        orr              r0,r0,#R1_M
  141 000000B4 EE010F10        mcr              p15,0,r0,c1,c0,0
  142 000000B8                 MOV_PC_LR
   23 000000B8         ; [ THUMBCODE
   24 000000B8 E12FFF1E        bx               lr
   25 000000BC         ; |
   26 000000BC         ;   mov pc,lr
   27 000000BC         ; ]
  143 000000BC         
  144 000000BC         ;void MMU_DisableMMU(void)
  145 000000BC                 EXPORT           MMU_DisableMMU
  146 000000BC         MMU_DisableMMU
  147 000000BC EE110F10        mrc              p15,0,r0,c1,c0,0
  148 000000C0 E3C00001        bic              r0,r0,#R1_M
  149 000000C4 EE010F10        mcr              p15,0,r0,c1,c0,0
  150 000000C8                 MOV_PC_LR
   23 000000C8         ; [ THUMBCODE
   24 000000C8 E12FFF1E        bx               lr
   25 000000CC         ; |
   26 000000CC         ;   mov pc,lr
   27 000000CC         ; ]
  151 000000CC         
  152 000000CC         ;void MMU_SetFastBusMode(void)
  153 000000CC         ; FCLK:HCLK= 1:1
  154 000000CC                 EXPORT           MMU_SetFastBusMode
  155 000000CC         MMU_SetFastBusMode
  156 000000CC EE110F10        mrc              p15,0,r0,c1,c0,0
  157 000000D0 E3C00103        bic              r0,r0,#R1_iA:OR:R1_nF
  158 000000D4 EE010F10        mcr              p15,0,r0,c1,c0,0
  159 000000D8                 MOV_PC_LR
   23 000000D8         ; [ THUMBCODE
   24 000000D8 E12FFF1E        bx               lr
   25 000000DC         ; |
   26 000000DC         ;   mov pc,lr
   27 000000DC         ; ]
  160 000000DC         
  161 000000DC         ;void MMU_SetAsyncBusMode(void)
  162 000000DC         ; FCLK:HCLK= 1:2
  163 000000DC                 EXPORT           MMU_SetAsyncBusMode



ARM Macro Assembler    Page 5 


  164 000000DC         MMU_SetAsyncBusMode
  165 000000DC EE110F10        mrc              p15,0,r0,c1,c0,0
  166 000000E0 E3800103        orr              r0,r0,#R1_nF:OR:R1_iA
  167 000000E4 EE010F10        mcr              p15,0,r0,c1,c0,0
  168 000000E8                 MOV_PC_LR
   23 000000E8         ; [ THUMBCODE
   24 000000E8 E12FFF1E        bx               lr
   25 000000EC         ; |
   26 000000EC         ;   mov pc,lr
   27 000000EC         ; ]
  169 000000EC         
  170 000000EC         ;=========================
  171 000000EC         ; Set TTBase
  172 000000EC         ;=========================
  173 000000EC         ;void MMU_SetTTBase(int base)
  174 000000EC                 EXPORT           MMU_SetTTBase
  175 000000EC         MMU_SetTTBase
  176 000000EC         ;ro=TTBase
  177 000000EC EE020F10        mcr              p15,0,r0,c2,c0,0
  178 000000F0                 MOV_PC_LR
   23 000000F0         ; [ THUMBCODE
   24 000000F0 E12FFF1E        bx               lr
   25 000000F4         ; |
   26 000000F4         ;   mov pc,lr
   27 000000F4         ; ]
  179 000000F4         
  180 000000F4         ;=========================
  181 000000F4         ; Set Domain
  182 000000F4         ;=========================
  183 000000F4         ;void MMU_SetDomain(int domain)
  184 000000F4                 EXPORT           MMU_SetDomain
  185 000000F4         MMU_SetDomain
  186 000000F4         ;ro=domain
  187 000000F4 EE030F10        mcr              p15,0,r0,c3,c0,0
  188 000000F8                 MOV_PC_LR
   23 000000F8         ; [ THUMBCODE
   24 000000F8 E12FFF1E        bx               lr
   25 000000FC         ; |
   26 000000FC         ;   mov pc,lr
   27 000000FC         ; ]
  189 000000FC         
  190 000000FC         ;=========================
  191 000000FC         ; ICache/DCache functions
  192 000000FC         ;=========================
  193 000000FC         ;void MMU_InvalidateIDCache(void)
  194 000000FC                 EXPORT           MMU_InvalidateIDCache
  195 000000FC         MMU_InvalidateIDCache
  196 000000FC EE070F17        mcr              p15,0,r0,c7,c7,0
  197 00000100                 MOV_PC_LR
   23 00000100         ; [ THUMBCODE
   24 00000100 E12FFF1E        bx               lr
   25 00000104         ; |
   26 00000104         ;   mov pc,lr
   27 00000104         ; ]
  198 00000104         
  199 00000104         ;void MMU_InvalidateICache(void)
  200 00000104                 EXPORT           MMU_InvalidateICache
  201 00000104         MMU_InvalidateICache
  202 00000104 EE070F15        mcr              p15,0,r0,c7,c5,0



ARM Macro Assembler    Page 6 


  203 00000108                 MOV_PC_LR
   23 00000108         ; [ THUMBCODE
   24 00000108 E12FFF1E        bx               lr
   25 0000010C         ; |
   26 0000010C         ;   mov pc,lr
   27 0000010C         ; ]
  204 0000010C         
  205 0000010C         ;void MMU_InvalidateICacheMVA(U32 mva)
  206 0000010C                 EXPORT           MMU_InvalidateICacheMVA
  207 0000010C         MMU_InvalidateICacheMVA
  208 0000010C         ;r0=mva
  209 0000010C EE070F35        mcr              p15,0,r0,c7,c5,1
  210 00000110                 MOV_PC_LR
   23 00000110         ; [ THUMBCODE
   24 00000110 E12FFF1E        bx               lr
   25 00000114         ; |
   26 00000114         ;   mov pc,lr
   27 00000114         ; ]
  211 00000114         
  212 00000114         ;void MMU_PrefetchICacheMVA(U32 mva)
  213 00000114                 EXPORT           MMU_PrefetchICacheMVA
  214 00000114         MMU_PrefetchICacheMVA
  215 00000114         ;r0=mva
  216 00000114 EE070F3D        mcr              p15,0,r0,c7,c13,1
  217 00000118                 MOV_PC_LR
   23 00000118         ; [ THUMBCODE
   24 00000118 E12FFF1E        bx               lr
   25 0000011C         ; |
   26 0000011C         ;   mov pc,lr
   27 0000011C         ; ]

⌨️ 快捷键说明

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