JLInk 调试加载的履行初始化存储器脚本(2440) Setmem 0x53000000 0x00000000 32 原理: 1、什么是存储操控器 存储操控器是创建和操控其他存储设备的一种设备。S3C2440中存储操控器的开端地址为0x48000000完毕地址为0x48000030。通过装备存储操控器供给的13个寄存器的详细数值来到达拜访外围设备的意图。 2、怎么得到外围设备的拜访地址 在阐明得到外围设备地址之前,先阐明一下什么是片选信号。读过微机原理的同志应该很清楚了。 在S3C2440中分为nGCS0~nGCS7,共8个片选信号。别离对应了BANK0~BANK7,当需求拜访外围设备的空间时(即拜访BANKx 时),nGCSx 引脚输出低电平信号,这样挑选相对应的BANKx外围设备来拜访。(注:nGCS0~nGCS7在S3C2440手册中能够查找到相应的地址分配表) BANK拜访地址=BANK开端地址+地址线地址。 3、存储操控器中寄存器的运用 3.1、存储操控器供给的13个寄存器 BWSCON,BANKCONx(x=0~7),REFRESH,BANKSIZE,MRSRBx(x=6~7),共13个寄存器。在这些寄存器的装备中,当装备BANK0~BANK5的时分,只需求装备BWSCON和BANKCONx(x=0~5)即可。因为BANK6和BANK7嘤糜谕饨覵DRAM,所以装备的时分除装备BWSCON和BANKCONx(x=6~7)外,还需求装备REFRESH,BANKSIZE,MRSRB6和MRSRB7等4个寄存器。 BWSCON(R/WBusWidth & WaitStatusControl,位宽和等候寄存器) BWSCON共32位,BWSCON的高4位对应了外设的BANK7,可是BWSCON是每4位对应一个BANK,所以顺次类推能够得到其他BANK6~BANK0的对应位数。 STx(x= 0~7):发动/制止SDRAM数据掩码引脚。关于SDRAM此位为0,关于SRAM此位为1。一般为0。 WSx(x= 0~7):是否运用存储器的WAIT信号。一般设为0。 /*0 = WAIT disable*/ DWx(x= 0~7):用2位来设置对应BANK位宽(数据总线宽度),00=8-bit;01=16-bit;10=32-bit;11=reserved 其间,比较特别的BANK0,它没有ST0和WS0,且DW0[2:1]为只读,由硬件电路跳线决议01=16-bit;10=32-bit。 BANKCONx(x= 0~5):用来操控外接设备的拜访时序,默认设置0X0700能够满意运用需求。 BANKCONx(x= 6~7):只要BANK6和BANK7能够用来外接SRAM或SDRAM,所以在装备BANK6~BANK7会有所不同。 MT[16:15]位:用来标识外接的设备是ROM/SRAM,仍是SDRAM。 /*00 = ROM or SRAM;01 = Reserved;10 = Reserved;11 = Sync.DRAM */ 当MT=0b00时(即外接ROM):此刻设置与BANKCONx(x= 0~5)并无多大差异。 当MT=0b11时(即外接SDRAM): Trcd[3:2]:Time ofRAS toCASdelay(内存行地址传输到列地址的延迟时刻) /*00 = 2 clocks;01 = 3 clocks;10 = 4 clocks*/ SCAN[1:0]:表明SDRAM列的地址,可依据详细芯片状况设置 /*00 = 8-bit;01 = 9-bit;10= 10-bit*/ REFRESH:改写操控寄存器。 REFEN[23]:使能操控SDRAM改写功用。/*0 = Disable;1 = Enable (self or CBR/auto refresh)*/ TREFMD[22]:SDRAM改写形式。/*0 = CBR/Auto Refresh;1 = Self Refresh (休眠形式)*/ Trp[21:20]:Time of SDRAMRASpre-charge(RAS预充电时刻)。/*00 = 2 clocks;01 = 3 clocks;10 = 4 clocks;11 = Not support*/ Tsrc[19:18]:Time of SDRAMSemiRowcycle(半行周期时刻)。/*00 = 4 clocks;01 = 5 clocks;10 = 6 clocks;11 = 7 clocks*/ 注:Reserved[17:11]:Not used. Refresh Counter[10:0]:SDRAM refresh count value(改写计数值)。 BANKSIZE寄存器: BURST_EN[7]:ARM coreburstoperation enable(ARM内中心突发操作使能)。/*0 = Disable burst operation;1 = Enable burst operation*/ 注:Reserved[6]:Not used. SCKE_EN[5]:SDRAM power down mode enable control bySCKE。(SCKE power down形式使能)/*0 = SDRAM power down mode disable;1 = SDRAM power down mode enable*/ SCLK_EN[4]:SCLK is enabled only during SDRAM access cycle for reducing power consumption. When SDRAM is not accessed SCLK becomes L level(低电平). /*0 = SCLK is always active. 1 = SCLK is active only during the access (recommended).*/注:Reserved[3]:Not used. BK76MAP[2:0]:设置BANK6~BANK7的巨细。/* 010 = 128MB/128MB;001 = 64MB/64MB;000 = 32M/32M;111 = 16M/16M;110 = 8M/8M;101 = 4M/4M;100 = 2M/2M */ MRSRBx(x= 6~7):SDRAM形式设置寄存器。 能做修正的只要CL[6:4]:代表SDRAM时序的一些参数。 /*000 = 1 clock;010 = 2 clocks;011=3 clocks;Others: reserved*/ |
2410内存操控器介绍(BWSCON)
http://blogold.chinaunix.net/u1/59572/showart_1914422.html
|