EQU,及变量定义伪指令与内存划分的关系

 

INTPND     EQU 0x01e00004此处为定义以下等值伪指令均不参与编译
;EQU伪指令只起一个程序预编译器接口作用,此处可看作类似于C语言宏定义,为了方便阅读,实际上并不是
;定义常量INTPND,程序出现此标号时 将被替换,而其他的定义数据的伪指令则需要提前划定定义在存储器的位置
;是代码段还是数据段,例如下面的代码

SMRDATA DATA
;*****************************************************************
;存储器最好配置成最优的性能,下面的参数不是最优化的
;*****************************************************************

;*** memory access cycle parameter strategy ***
; 1) Even FP-DRAM, EDO setting has more late fetch point by half-clock
; 2) The memory settings,here, are made the safe parameters even at 66Mhz.
; 3) FP-DRAM Parameters:tRCD=3 for tRAC, tcas=2 for pad delay, tcp=2 for bus load.
; 4) DRAM refresh rate is for 40Mhz.

;bank0 16bit BOOT ROM
;bank1 8bit USBD12
;bank2 16bit IDE
;bank3 8bit RTL8019
;bank4 N/C
;bank5 N/C
;bank6 16bit SDRAM
;bank7 16bit SDRAM
   
    [ BUSWIDTH=16   
 DCD 0x11110101 ;Bank0=16bit BootRom(AT29C010A*2) :0x0
    | ;BUSWIDTH=32
 DCD 0x22222220 ;Bank0=OM[1:0], Bank1~Bank7=32bit
    ]
 
 DCD  ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC)) ;GCS0
 DCD  ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC)) ;GCS1
 DCD  ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC)) ;GCS2
 DCD  ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC)) ;GCS3
 DCD  ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC)) ;GCS4
 DCD  ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC)) ;GCS5
 
 [ BDRAMTYPE="DRAM"
 DCD  ((B6_MT<<15)+(B6_Trcd<<4)+(B6_Tcas<<3)+(B6_Tcp<<2)+(B6_CAN)) ;GCS6 check the MT value in parameter.a
 DCD  ((B7_MT<<15)+(B7_Trcd<<4)+(B7_Tcas<<3)+(B7_Tcp<<2)+(B7_CAN)) ;GCS7
 | ;"SDRAM"
 DCD  ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) ;GCS6
 DCD  ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) ;GCS7
 ]
 
 DCD  ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT) ;REFRESH RFEN=1, TREFMD=0, trp=3clk, trc=5clk, tchr=3clk,count=1019
 DCD  0x10   ;SCLK power down mode, BANKSIZE 32M/32M
 DCD  0x20   ;MRSR6 CL=2clk
 DCD  0x20   ;MRSR7

 ALIGN 

由于DCD伪指令是定义一个字的数据并有确定的初值,而此段先前已定义在代码段中,这就需要

声明SMRDATA DATA 即在代码段中定义数据,而且定义完数据以后要做一下字对齐即执行align指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值