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

📄 cp15.lst

📁 ucos 在 arm9 芯片上的移植
💻 LST
📖 第 1 页 / 共 5 页
字号:
   39 00000020         tci_loop
   40 00000020 EE17FF7E        mrc              p15, 0, r15, c7, c14, 3
   41 00000024 1AFFFFFD        bne              tci_loop
   42 00000028 E3A00000        mov              r0,#&0
   43 0000002C EE070F15        mcr              p15,0,r0,c7,c5,0
   44 00000030         MMUNoUse
   45 00000030 E59F052C        ldr              r0,=&0001005
   46 00000034 E1C11000        bic              r1,r1,r0
   47 00000038 EE011F10        mcr              p15,0,r1,c1,c0,0
   48 0000003C         ;xhl add end    
   49 0000003C E3A02000        mov              r2,#&0
   50 00000040 EE082F17        mcr              p15,0,r2,c8,c7,0 ;Invalidate TL
                                                            B                  
                                                                               
                                                                               
                                                                               
                                                                 
   51 00000044 E59F151C        ldr              r1,=SECTABLE_ADDR
   52 00000048 E3A02A01        mov              r2,#&1000   ;Translation Table 
                                                            4096 entries       
                                                                               
                                                                               
                                                                               
                                                            
   53 0000004C E3A00000        mov              r0,#&0
   54 00000050         loop_clr_TTBR
   55 00000050 E1520000        cmp              r2,r0
   56 00000054 14810004        strne            r0,[r1],#4
   57 00000058 12422001        subne            r2,r2,#&1
   58 0000005C 1AFFFFFB        bne              loop_clr_TTBR ;loop clear 0x03e
                                                            f0000 len 16K      
                                                                               
                                                                               
                                                                               
                                                              
   59 00000060 E59F5504        ldr              r5,=memregions
   60 00000064 E59F84FC        ldr              r8,=PAGETABLE_ADDR
   61 00000068         loopnextsection
   62 00000068 E4954004        ldr              r4,[r5],#4  ;section size      
                                                                               
                                                                               
                                                                               
                                                                   
   63 0000006C E3540000        cmp              r4,#&0
   64 00000070 0A000038        beq              tabelend    ;size of 0 means fi
                                                            nish               



ARM Macro Assembler    Page 6 


                                                                               
                                                                               
                                                                               
                                                            
   65 00000074 E4950004        ldr              r0,[r5],#4  ;offset of memory  
                                                                               
                                                                               
                                                                               
                                                                   
   66 00000078 E4956004        ldr              r6,[r5],#4  ;descriptor        
                                                                               
                                                                               
                                                                               
                                                                   
   67 0000007C E4957004        ldr              r7,[r5],#4  ;descriptor        
                                                                               
                                                                               
                                                                               
                                                                    
   68 00000080 E59F14E0        ldr              r1,=SECTABLE_ADDR ;Section Tabl
                                                            e address          
                                                                               
                                                                               
                                                                               
                                                                         
   69 00000084 E1A02A20        mov              r2,r0,lsr #20 ;section is 1M ti
                                                            mes                
                                                                               
                                                                               
                                                                               
                                                              
   70 00000088 E0811102        add              r1,r1,r2,lsl #2 ;section table 
                                                            is 4 bytes(make sec
                                                            tion table addr)   
                                                                               
                                                                               
                                                                
   71 0000008C         loopinsection
   72 0000008C E3540601        cmp              r4,#&100000 ;1M                
                                                                               
                                                                               
                                                                               
                                                                               
                                                            
   73 00000090 BA000007        blt              pagemode    ;must greater 1M me
                                                            mory               
                                                                               
                                                                               
                                                                               
                                                            
   74 00000094 E2444601        sub              r4,r4,#&100000 ;eche section ta
                                                            ble is 1M          
                                                                               
                                                                               
                                                                               
                                                               
   75 00000098 E59F04D0        ldr              r0,=&fff00000
   76 0000009C E0060000        and              r0,r6,r0    ;make section descr
                                                            iptor              



ARM Macro Assembler    Page 7 


                                                                               
                                                                               
                                                                               
                                                            
   77 000000A0 E1800007        orr              r0,r0,r7
   78 000000A4 E3800012        orr              r0,r0,#&12  ;section descriptor
                                                                               
                                                                               
                                                                               
                                                                               
                                                            
   79 000000A8 E4810004        str              r0,[r1],#4  ;store section tabl
                                                            e                  
                                                                               
                                                                               
                                                                               
                                                            
   80 000000AC E2866601        add              r6,r6,#&100000
   81 000000B0 EAFFFFF5        b                loopinsection
   82 000000B4         pagemode
   83 000000B4 E3540000        cmp              r4,#&0
   84 000000B8 0AFFFFEA        beq              loopnextsection ;a section end,
                                                            loop next          
                                                                               
                                                                               
                                                                               
                                                                
   85 000000BC E59F04B0        ldr              r0,=&fffffc00
   86 000000C0 E5912000        ldr              r2,[r1,#0]  ;section table addr
                                                                               
                                                                               
                                                                               
                                                                               
                                                            
   87 000000C4 E3520000        cmp              r2,#&0
   88 000000C8 10023000        andne            r3,r2,r0
   89 000000CC 1A000009        bne              pagetable   ;first leve descrip
                                                            tor exist          
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                            
   90 000000D0 E0088000        and              r8,r8,r0    ;R8->Page Table add
                                                            ress               
                                                                               
                                                                               
                                                                               
                                                            
   91 000000D4 E3880011        orr              r0,r8,#&11  ;Coarse page table 
                                                                               
                                                                               
                                                                               
                                                                               
                                                            
   92 000000D8 E5810000        str              r0,[r1,#0]  ;store coarse page 
                                                            table base address 
                                                                               



ARM Macro Assembler    Page 8 


                                                                               
                                                                               
                                                            
   93 000000DC E1A03008        mov              r3,r8
   94 000000E0 E3A02C01        mov              r2,#&100    ;256 small page    
                                                                               
                                                                               
                                                                               
                                                                               
                                                            
   95 000000E4 E3A00000        mov              r0,#&0
   96 000000E8         loopclrpagetable
   97 000000E8 E1520000        cmp              r2,r0
   98 000000EC 14880004        strne            r0,[r8],#4
   99 000000F0 12422001        subne            r2,r2,#&1
  100 000000F4 1AFFFFFB        bne              loopclrpagetable ;loop clear pa
                                                            ge table 256*4     
                                                                               
                                                                               
                                                                               
                                                                 
  101 000000F8         pagetable
  102 000000F8 E3A0100C        mov              r1,#&c
  103 000000FC E0071001        and              r1,r7,r1    ;section descriptor
                                                                               
                                                                               
                                                                               
                                                                               
                                                            
  104 00000100 E3A00B03        mov              r0,#&c00
  105 00000104 E0070000        and              r0,r7,r0
  106 00000108 E1A00520        mov              r0,r0,lsr #10
  107 0000010C E0800100        add              r0,r0,r0,lsl #2
  108 00000110 E0800200        add              r0,r0,r0,lsl #4
  109 00000114 E3A07000        mov              r7,#&0
  110 00000118 E0817200        add              r7,r1,r0,lsl #4 ;make small pag
                                                            e AP               
                                                                               
                                                                               
                                                                               
                                                                
  111 0000011C E515100C        ldr              r1,[r5,#-12] ;descriptor       
                                                                               
                                                                               
                                                                               
                                                                               
                                                             
  112 00000120 E3A00AFF        mov              r0,#&ff000
  113 00000124 E0011000        and              r1,r1,r0    ;make small page de
                                                            scriptor           
                                                                               
                                                                               
                                                                               
                                                            
  114 00000128 E1A01621        mov              r1,r1,lsr #12
  115 0000012C E0833101        add              r3,r3,r1,lsl #2
  116 00000130         loopinpage
  117 00000130 E3540A01        cmp              r4,#&1000
  118 00000134 BAFFFFCB        blt              loopnextsection ;<4K memory, sy



ARM Macro Assembler    Page 9 


                                                            stem not use       
                                                                               
                                                                               
                                                                               
                                                                
  119 00000138 E2444A01        sub              r4,r4,#&1000 ;page size is 4K  
                                                                               
                                                                               
                                                                               
                                                                               
                                                             
  120 0000013C E59F0434        ldr              r0,=&fffff000
  121 00000140 E0060000        and              r0,r6,r0
  122 00000144 E1800007        orr              r0,r0,r7
  123 00000148 E3800002        orr              r0,r0,#&2
  124 0000014C E4830004        str              r0,[r3],#4
  125 00000150 E2866A01        add              r6,r6,#&1000
  126 00000154 EAFFFFF5        b                loopinpage
  127 00000158         tabelend
  128 00000158 E59F0408        ldr              r0,=SECTABLE_ADDR
  129 0000015C EE020F10        mcr              p15,0,r0,c2,c0,0 ;write TTBR   
                                                                               
                                                                               
                                                                               
                                                                               
                                                                 
  130 00000160 E59F2414        ldr              r2,=&55555555
  131 00000164 EE032F10        mcr              p15,0,r2,c3,c0,0 ;write Domain 
                                                            access permissions 
                                                                               
                                                                               
                                                                               

⌨️ 快捷键说明

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