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

📄 740t.s

📁 arm ads1.2 with crack.rar
💻 S
字号:
;;  Copyright ARM Ltd 2001. All rights reserved.
;;
;;  This code provides basic initialization for an ARM740T including:  
;;  
;;  - creation of memory protection regions
;;  - enabling the unified caches and write buffer
;;  - enabling Memory Protection Unit
;;
;;  This code must be run from a privileged mode

        AREA   INIT740, CODE, READONLY      ; name this block of code

        ENTRY

        EXPORT Cache_Init

Cache_Init

; If MMU/MPU enabled - disable (useful for ARMulator tests)
; possibly also need to consider data cache clean
;
;
;       MRC     p15, 0, r0, c1, c0, 0       ; read CP15 register 1 into r0
;       BIC     r0, r0, #0x1                ; clear bit 0 
;       MCR     p15, 0, r0, c1, c0, 0       ; write value back

;       MOV     r0,#0                       ; disable any other regions 
;       MCR     p15, 0, r0, c6, c1, 0
;       MCR     p15, 0, r0, c6, c2, 0
;       MCR     p15, 0, r0, c6, c3, 0
;       MCR     p15, 0, r0, c6, c4, 0
;       MCR     p15, 0, r0, c6, c5, 0
;       MCR     p15, 0, r0, c6, c6, 0
;       MCR     p15, 0, r0, c6, c7, 0  

;

; Region 0: Background: Base = 0x0, Size = 4Gb, NCNB, No access
; Region 1: SRAM: Base = 0x0, Size = 0x4000, WB, Full access
; Region 2: FLASH: Base = 0x24000000, Size = 0x02000000, WB, Full access
; Region 3: Peripherals: Base = 0x10000000, Size = 0x10000000, NCNB, Full access

; Set up region 0 and enable
        MOV     r0,#2_111111
        MCR     p15, 0, r0, c6, c0, 0       ; region 0

; Set up region 1 and enable
        MOV     r0,#2_100011
        MCR     p15, 0, r0, c6, c1, 0       ; region 1

; Set up region 2 and enable
        LDR     r0,=2_110001+0x24000000
        MCR     p15, 0, r0, c6, c2, 0       ; region 2

; Set up region 3 and enable
        LDR     r0,=2_110111 + 0x10000000
        MCR     p15, 0, r0, c6, c3, 0       ; region 3


; Set up cacheable/bufferable attributes
        MOV     r0, #2_0110
        MCR     p15, 0, r0, c2, c0, 0       ; cacheable
        MCR     p15, 0, r0, c3, c0, 0       ; bufferable


; Set up access permissions
        MOV     r0, #2_11111100
        MCR     p15, 0, r0, c5, c0, 0       ; access permissions

;
; set global core configurations 
;
        MRC     p15, 0, r0, c1, c0, 0       ; read CP15 register 1 into r0
        
        ORR     r0, r0, #(0x1 <<2)          ; enable Cache        
        ORR     r0, r0, #0x1                ; enable MPU

;
; additional configuration options      
;        
;       ORR     r0, r0, #(0x1 <<13)         ; enable Hi Vectors
;       ORR     r0, r0, #(0x1 <<7)          ; enable Big Endian


        MCR     p15, 0, r0, c1, c0, 0       ; write cp15 register 1

        MOV     pc,lr                       ; return

        END

⌨️ 快捷键说明

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