ebi.s

来自「嵌入式系统」· S 代码 · 共 801 行 · 第 1/2 页

S
801
字号
        ;***************************************
		;	set EBI Segment Map Registers 3 
        ;***************************************
        IF ((APD_EBI3_SIZE >= APD_EBI_SIZE_MIN):LAND:\
            (APD_EBI3_SIZE <= APD_EBI_SIZE_MAX))
        ELSE
             APD_EBI3_SIZE Error;
        ENDIF
    ENDIF ;---IF (APD_EBI3_E = APD_EBI_ENABLE)---
		LDR r1, =((APD_EBI3_E:SHL:APD_RAM_SEG_REG_E_OFFSET):OR:\
		          (APD_EBI3_START:AND:APD_RAM_SEG_REG_START_VALID):OR:\
		          (APD_EBI3_SIZE:SHL:APD_RAM_SEG_REG_SIZE_OFFSET));
		STR r1, [r0, #APD_RAM_SEG_REG3_OFFSET];

;*******************************************
;	SETUP EBI 4
;*******************************************
    IF (APD_EBI4_E = APD_EBI_ENABLE)
    ;***************************************
    ;	set EBI Control Registers 4
    ;***************************************
        IF ((APD_EBI4_IDLE >= APD_EBI_IDLE_MIN):LAND:\
            (APD_EBI4_IDLE <= APD_EBI_IDLE_MAX))
        ELSE
            APD_EBI4_IDLE Error;
        ENDIF

        IF ((APD_EBI4_RS = APD_EBI_AFTER):LOR:\
            (APD_EBI4_RS = APD_EBI_SAME))
        ELSE
             APD_EBI4_RS Error;
        ENDIF
            
        IF ((APD_EBI4_RH = APD_EBI_BEFORE):LOR:\
            (APD_EBI4_RH = APD_EBI_SAME))
        ELSE
             APD_EBI4_RH Error;
        ENDIF

        IF ((APD_EBI4_WS = APD_EBI_AFTER):LOR:\
            (APD_EBI4_WS = APD_EBI_SAME))
        ELSE
             APD_EBI4_WS Error;
        ENDIF

        IF ((APD_EBI4_WH = APD_EBI_BEFORE):LOR:\
            (APD_EBI4_WH = APD_EBI_SAME))
        ELSE
             APD_EBI4_WH Error;
        ENDIF

        IF ((APD_EBI4_AS = APD_EBI_AFTER):LOR:\
            (APD_EBI4_AS = APD_EBI_SAME))
        ELSE
             APD_EBI4_AS Error;
        ENDIF

        IF ((APD_EBI4_AH = APD_EBI_BEFORE):LOR:\
            (APD_EBI4_AH = APD_EBI_SAME))
        ELSE
             APD_EBI4_AH Error;
        ENDIF

        IF ((APD_EBI4_P = APD_EBI_WORD4_PAGE):LOR:\
            (APD_EBI4_P = APD_EBI_WORD8_PAGE))
        ELSE
             APD_EBI4_P Error;
        ENDIF

        IF ((APD_EBI4_S = APD_EBI_BIT32):LOR:\
			(APD_EBI4_S = APD_EBI_BIT16):LOR:\
            (APD_EBI4_S = APD_EBI_BIT8))
        ELSE
             APD_EBI4_S Error;
        ENDIF

        IF ((APD_EBI4_SSPEED >= APD_EBI_SSPEED_MIN):LAND:\
            (APD_EBI4_SSPEED <= APD_EBI_SSPEED_MAX))
        ELSE
             APD_EBI4_SSPEED Error;
        ENDIF

        IF ((APD_EBI4_NSPEED >= APD_EBI_NSPEED_MIN):LAND:\
            (APD_EBI4_NSPEED <= APD_EBI_NSPEED_MAX))
        ELSE
             APD_EBI4_NSPEED Error;
        ENDIF

        LDR r1, = APD_EBI4_IDLE_V:OR:APD_EBI4_RS_V:OR:\
        		  APD_EBI4_RH_V:OR:APD_EBI4_WS_V:OR:\
        		  APD_EBI4_WH_V:OR:APD_EBI4_AS_V:OR:\
        		  APD_EBI4_AH_V:OR:APD_EBI4_P_V:OR:\
				  APD_EBI4_S_V:OR:APD_EBI4_NSS_V
        STR r1, [r0, #APD_RAM_SEG_CTL4_OFFSET];

        ;***************************************
		;	set EBI Segment Map Registers 4 
        ;***************************************
        IF ((APD_EBI4_SIZE >= APD_EBI_SIZE_MIN):LAND:\
            (APD_EBI4_SIZE <= APD_EBI_SIZE_MAX))
        ELSE
             APD_EBI4_SIZE Error;
        ENDIF
    ENDIF ;---IF (APD_EBI4_E = APD_EBI_ENABLE)---
		LDR r1, =((APD_EBI4_E:SHL:APD_RAM_SEG_REG_E_OFFSET):OR:\
		          (APD_EBI4_START:AND:APD_RAM_SEG_REG_START_VALID):OR:\
		          (APD_EBI4_SIZE:SHL:APD_RAM_SEG_REG_SIZE_OFFSET));
		STR r1, [r0, #APD_RAM_SEG_REG4_OFFSET];


;*******************************************
;	SETUP EBI 5
;*******************************************
    IF (APD_EBI5_E = APD_EBI_ENABLE)
    ;***************************************
    ;	set EBI Control Registers 5
    ;***************************************
        IF ((APD_EBI5_IDLE >= APD_EBI_IDLE_MIN):LAND:\
            (APD_EBI5_IDLE <= APD_EBI_IDLE_MAX))
        ELSE
            APD_EBI5_IDLE Error;
        ENDIF

        IF ((APD_EBI5_RS = APD_EBI_AFTER):LOR:\
            (APD_EBI5_RS = APD_EBI_SAME))
        ELSE
             APD_EBI5_RS Error;
        ENDIF
            
        IF ((APD_EBI5_RH = APD_EBI_BEFORE):LOR:\
            (APD_EBI5_RH = APD_EBI_SAME))
        ELSE
             APD_EBI5_RH Error;
        ENDIF

        IF ((APD_EBI5_WS = APD_EBI_AFTER):LOR:\
            (APD_EBI5_WS = APD_EBI_SAME))
        ELSE
             APD_EBI5_WS Error;
        ENDIF

        IF ((APD_EBI5_WH = APD_EBI_BEFORE):LOR:\
            (APD_EBI5_WH = APD_EBI_SAME))
        ELSE
             APD_EBI5_WH Error;
        ENDIF

        IF ((APD_EBI5_AS = APD_EBI_AFTER):LOR:\
            (APD_EBI5_AS = APD_EBI_SAME))
        ELSE
             APD_EBI5_AS Error;
        ENDIF

        IF ((APD_EBI5_AH = APD_EBI_BEFORE):LOR:\
            (APD_EBI5_AH = APD_EBI_SAME))
        ELSE
             APD_EBI5_AH Error;
        ENDIF

        IF ((APD_EBI5_P = APD_EBI_WORD4_PAGE):LOR:\
            (APD_EBI5_P = APD_EBI_WORD8_PAGE))
        ELSE
             APD_EBI5_P Error;
        ENDIF

        IF ((APD_EBI5_S = APD_EBI_BIT32):LOR:\
			(APD_EBI5_S = APD_EBI_BIT16):LOR:\
            (APD_EBI5_S = APD_EBI_BIT8))
        ELSE
             APD_EBI5_S Error;
        ENDIF

        IF ((APD_EBI5_SSPEED >= APD_EBI_SSPEED_MIN):LAND:\
            (APD_EBI5_SSPEED <= APD_EBI_SSPEED_MAX))
        ELSE
             APD_EBI5_SSPEED Error;
        ENDIF

        IF ((APD_EBI5_NSPEED >= APD_EBI_NSPEED_MIN):LAND:\
            (APD_EBI5_NSPEED <= APD_EBI_NSPEED_MAX))
        ELSE
             APD_EBI5_NSPEED Error;
        ENDIF

        LDR r1, = APD_EBI5_IDLE_V:OR:APD_EBI5_RS_V:OR:\
        		  APD_EBI5_RH_V:OR:APD_EBI5_WS_V:OR:\
        		  APD_EBI5_WH_V:OR:APD_EBI5_AS_V:OR:\
        		  APD_EBI5_AH_V:OR:APD_EBI5_P_V:OR:\
				  APD_EBI5_S_V:OR:APD_EBI5_NSS_V
        STR r1, [r0, #APD_RAM_SEG_CTL5_OFFSET];

        ;***************************************
		;	set EBI Segment Map Registers 5 
        ;***************************************
        IF ((APD_EBI5_SIZE >= APD_EBI_SIZE_MIN):LAND:\
            (APD_EBI5_SIZE <= APD_EBI_SIZE_MAX))
        ELSE
             APD_EBI5_SIZE Error;
        ENDIF
    ENDIF ;---IF (APD_EBI5_E = APD_EBI_ENABLE)---
		LDR r1, =((APD_EBI5_E:SHL:APD_RAM_SEG_REG_E_OFFSET):OR:\
		          (APD_EBI5_START:AND:APD_RAM_SEG_REG_START_VALID):OR:\
		          (APD_EBI5_SIZE:SHL:APD_RAM_SEG_REG_SIZE_OFFSET));
		STR r1, [r0, #APD_RAM_SEG_REG5_OFFSET];

;*******************************************
;	SETUP EBI 6
;*******************************************
    IF (APD_EBI6_E = APD_EBI_ENABLE)
    ;***************************************
    ;	set EBI Control Registers 6
    ;***************************************
        IF ((APD_EBI6_IDLE >= APD_EBI_IDLE_MIN):LAND:\
            (APD_EBI6_IDLE <= APD_EBI_IDLE_MAX))
        ELSE
            APD_EBI6_IDLE Error;
        ENDIF

        IF ((APD_EBI6_RS = APD_EBI_AFTER):LOR:\
            (APD_EBI6_RS = APD_EBI_SAME))
        ELSE
             APD_EBI6_RS Error;
        ENDIF
            
        IF ((APD_EBI6_RH = APD_EBI_BEFORE):LOR:\
            (APD_EBI6_RH = APD_EBI_SAME))
        ELSE
             APD_EBI6_RH Error;
        ENDIF

        IF ((APD_EBI6_WS = APD_EBI_AFTER):LOR:\
            (APD_EBI6_WS = APD_EBI_SAME))
        ELSE
             APD_EBI6_WS Error;
        ENDIF

        IF ((APD_EBI6_WH = APD_EBI_BEFORE):LOR:\
            (APD_EBI6_WH = APD_EBI_SAME))
        ELSE
             APD_EBI6_WH Error;
        ENDIF

        IF ((APD_EBI6_AS = APD_EBI_AFTER):LOR:\
            (APD_EBI6_AS = APD_EBI_SAME))
        ELSE
             APD_EBI6_AS Error;
        ENDIF

        IF ((APD_EBI6_AH = APD_EBI_BEFORE):LOR:\
            (APD_EBI6_AH = APD_EBI_SAME))
        ELSE
             APD_EBI6_AH Error;
        ENDIF

        IF ((APD_EBI6_P = APD_EBI_WORD4_PAGE):LOR:\
            (APD_EBI6_P = APD_EBI_WORD8_PAGE))
        ELSE
             APD_EBI6_P Error;
        ENDIF

        IF ((APD_EBI6_S = APD_EBI_BIT32):LOR:\
			(APD_EBI6_S = APD_EBI_BIT16):LOR:\
            (APD_EBI6_S = APD_EBI_BIT8))
        ELSE
             APD_EBI6_S Error;
        ENDIF

        IF ((APD_EBI6_SSPEED >= APD_EBI_SSPEED_MIN):LAND:\
            (APD_EBI6_SSPEED <= APD_EBI_SSPEED_MAX))
        ELSE
             APD_EBI6_SSPEED Error;
        ENDIF

        IF ((APD_EBI6_NSPEED >= APD_EBI_NSPEED_MIN):LAND:\
            (APD_EBI6_NSPEED <= APD_EBI_NSPEED_MAX))
        ELSE
             APD_EBI6_NSPEED Error;
        ENDIF

        LDR r1, = APD_EBI6_IDLE_V:OR:APD_EBI6_RS_V:OR:\
        		  APD_EBI6_RH_V:OR:APD_EBI6_WS_V:OR:\
        		  APD_EBI6_WH_V:OR:APD_EBI6_AS_V:OR:\
        		  APD_EBI6_AH_V:OR:APD_EBI6_P_V:OR:\
				  APD_EBI6_S_V:OR:APD_EBI6_NSS_V
        STR r1, [r0, #APD_RAM_SEG_CTL6_OFFSET];

        ;***************************************
		;	set EBI Segment Map Registers 6 
        ;***************************************
        IF ((APD_EBI6_SIZE >= APD_EBI_SIZE_MIN):LAND:\
            (APD_EBI6_SIZE <= APD_EBI_SIZE_MAX))
        ELSE
             APD_EBI6_SIZE Error;
        ENDIF
    ENDIF ;---IF (APD_EBI6_E = APD_EBI_ENABLE)---
		LDR r1, =((APD_EBI6_E:SHL:APD_RAM_SEG_REG_E_OFFSET):OR:\
		          (APD_EBI6_START:AND:APD_RAM_SEG_REG_START_VALID):OR:\
		          (APD_EBI6_SIZE:SHL:APD_RAM_SEG_REG_SIZE_OFFSET));
		STR r1, [r0, #APD_RAM_SEG_REG6_OFFSET];

;*******************************************
;	SETUP EBI 7
;*******************************************
    IF (APD_EBI7_E = APD_EBI_ENABLE)
    ;***************************************
    ;	set EBI Control Registers 7
    ;***************************************
        IF ((APD_EBI7_IDLE >= APD_EBI_IDLE_MIN):LAND:\
            (APD_EBI7_IDLE <= APD_EBI_IDLE_MAX))
        ELSE
            APD_EBI7_IDLE Error;
        ENDIF

        IF ((APD_EBI7_RS = APD_EBI_AFTER):LOR:\
            (APD_EBI7_RS = APD_EBI_SAME))
        ELSE
             APD_EBI7_RS Error;
        ENDIF
            
        IF ((APD_EBI7_RH = APD_EBI_BEFORE):LOR:\
            (APD_EBI7_RH = APD_EBI_SAME))
        ELSE
             APD_EBI7_RH Error;
        ENDIF

        IF ((APD_EBI7_WS = APD_EBI_AFTER):LOR:\
            (APD_EBI7_WS = APD_EBI_SAME))
        ELSE
             APD_EBI7_WS Error;
        ENDIF

        IF ((APD_EBI7_WH = APD_EBI_BEFORE):LOR:\
            (APD_EBI7_WH = APD_EBI_SAME))
        ELSE
             APD_EBI7_WH Error;
        ENDIF

        IF ((APD_EBI7_AS = APD_EBI_AFTER):LOR:\
            (APD_EBI7_AS = APD_EBI_SAME))
        ELSE
             APD_EBI7_AS Error;
        ENDIF

        IF ((APD_EBI7_AH = APD_EBI_BEFORE):LOR:\
            (APD_EBI7_AH = APD_EBI_SAME))
        ELSE
             APD_EBI7_AH Error;
        ENDIF

        IF ((APD_EBI7_P = APD_EBI_WORD4_PAGE):LOR:\
            (APD_EBI7_P = APD_EBI_WORD8_PAGE))
        ELSE
             APD_EBI7_P Error;
        ENDIF

        IF ((APD_EBI7_S = APD_EBI_BIT32):LOR:\
			(APD_EBI7_S = APD_EBI_BIT16):LOR:\
            (APD_EBI7_S = APD_EBI_BIT8))
        ELSE
             APD_EBI7_S Error;
        ENDIF

        IF ((APD_EBI7_SSPEED >= APD_EBI_SSPEED_MIN):LAND:\
            (APD_EBI7_SSPEED <= APD_EBI_SSPEED_MAX))
        ELSE
             APD_EBI7_SSPEED Error;
        ENDIF

        IF ((APD_EBI7_NSPEED >= APD_EBI_NSPEED_MIN):LAND:\
            (APD_EBI7_NSPEED <= APD_EBI_NSPEED_MAX))
        ELSE
             APD_EBI7_NSPEED Error;
        ENDIF

        LDR r1, = APD_EBI7_IDLE_V:OR:APD_EBI7_RS_V:OR:\
        		  APD_EBI7_RH_V:OR:APD_EBI7_WS_V:OR:\
        		  APD_EBI7_WH_V:OR:APD_EBI7_AS_V:OR:\
        		  APD_EBI7_AH_V:OR:APD_EBI7_P_V:OR:\
				  APD_EBI7_S_V:OR:APD_EBI7_NSS_V
        STR r1, [r0, #APD_RAM_SEG_CTL7_OFFSET];

        ;***************************************
		;	set EBI Segment Map Registers 7 
        ;***************************************
        IF ((APD_EBI7_SIZE >= APD_EBI_SIZE_MIN):LAND:\
            (APD_EBI7_SIZE <= APD_EBI_SIZE_MAX))
        ELSE
             APD_EBI7_SIZE Error;
        ENDIF
    ENDIF ;---IF (APD_EBI7_E = APD_EBI_ENABLE)---
		LDR r1, =((APD_EBI7_E:SHL:APD_RAM_SEG_REG_E_OFFSET):OR:\
		          (APD_EBI7_START:AND:APD_RAM_SEG_REG_START_VALID):OR:\
		          (APD_EBI7_SIZE:SHL:APD_RAM_SEG_REG_SIZE_OFFSET));
		STR r1, [r0, #APD_RAM_SEG_REG7_OFFSET];


	MEND
	
	END	

⌨️ 快捷键说明

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