当前位置:首页 > 单片机 > 单片机
[导读]S3C2440中共有8个bank每个bank的地址空间为128MB,总共1GB。bank0数据位宽是由硬件选择,其他可由设置相应寄存器来改变。bank0-bank5支持外接ROM和SRAM,bank6和bank7还支持SDRAM(即开发板上的内存),且bank6和ba

S3C2440中共有8个bank每个bank的地址空间为128MB,总共1GB。bank0数据位宽是由硬件选择,其他可由设置相应寄存器来改变。bank0-bank5支持外接ROM和SRAM,bank6和bank7还支持SDRAM(即开发板上的内存),且bank6和bank7的地址空间大小是可变的。

S3C2440对外引出27根地址线ADDR0-ADDR26,访问空间128MB。同时还引出nGCS0-nGCS7,对应bank0-bank7,当访问相应bank时。相应的nGCSx输出低电平选中外设。地址分布图如下。

Steppingstone是cpu内部的RAM有4KB。当cpu上电时硬件选择了从Nand flash启动则,硬件上则会将Nand flash中前4KB的数据复制到Steppingstone中,起始地址为0。

使用SDRAM:

SDRAM需要连接到bank6或者bank7。开发板上使用的SDRAM是HY57V561620,此SDRAM由4个逻辑Bank(L-bank)组成,每个bank有4M,数据宽度是16位。所以其容量为4*4MB*2B=32MB。开发板有两块SDRAM。数据宽度32位,则容量为64MB。连接如图:

因为板上SDRAM总容量为64MB,所以地址线用到26根。最末尾两位LADDR24和LADDR25连接SDRAM的BA0和BA1,用来选择SDRAM的逻辑bank。因为是32位数据宽度低两位LADDR0和LADDR1没有使用。SDRAM的片选信号nSCS连接到cpu的nGCS6:nSCS0上所以使用的是Bank6。

SDRAM的访问步骤大致如下:

1.cpu发出片选信号nSCS有效,SDRAM被选中。

2.LADDR24和LADDR25,选中SDRAM中的L-bank。

3.对被选中的芯片进行行列寻址。

4.找到的存储单元的数据传输到数据总线上。

这些操作都是在设置好相应的寄存器,在访问内存时,cpu自动操作的。cpu可以根据设置在寄存器中的列地址位数和内存大小等信息,自动分出L-bank,行,列地址,并按相应的时序发送到SDRAM。

寄存器介绍:

存储控制器共有13个寄存器,bank0-bank5只需设置BWSCON和BANKCONx。bank6和bank7外接SDRAM时还需设置其他寄存器,下面是各个寄存器的介绍。

BWSCON(Bus width & Wait CONtrol register)位宽和等待寄存器。此寄存器设置每个bank的位宽,其中每4位控制一个bank。根据数据手册其中每4位中

DWx:占两位设置bankx的位宽,00对应8位01对应16位10对应32位

WSx:占一位是否使用WAIT信号,一般为0不使用

STx:占一位是否启用SDRAM数据掩码引脚SDRAM此位为0

其中比较特殊的是bank0,它的位宽是由硬件引脚OM0,OM1决定的。

BANKCONx(BANK CONtrol register)。在8个bank中bank6和bank7可以接SDRAM所以BANKCON6和BANKCON7与0-5不同。0-5中主要控制外接设备的访问时序。而6和7多出了,

MT:用于设置此BANK是外接存储器类型。SRAM/ROM为00,SDRAM为11

Trcd:RAS到CAS的延时

SCAN:SDRAM的列地址数,00为8位01为9位10为10位,

REFRESH (refresh control register)刷新控制寄存器,其中REFEN 0为禁止刷新功能,1为开启刷新功能。TREFMD刷新模式,Trp预充电时间,Tsrc半行周期。剩下0-10位是刷新计数器,计算公式为2^11+1-SDRAM时钟频率(MHz)*SDRAM刷新周期(us).2440开发板在未使用PLL时,时钟频率等于晶振频率12MHz,计算得出等于1955.整个寄存器则在本开发板中为0x008C07A3

BANKSIZE bank大小寄存器,其中BURST_EN 0为禁止突发传送1为支持突发传输。SCKE_EN使能掉电模式与否,SCLK_EN仅在访问SDRAM期间发出SCLK信号。BK76MAP设置BANK6/7大小。010为128MB 001为64MB。本例为0xb1。

MRSRBx(SDRAM mode register set rgister)x为6和7。能设置的只有CL[6:4]CAS等待时间。整个寄存器设置为0x30

实验代码简介:

@****************************************

@ 设置SDRAM 将下载到nandflash中转存到内部

@ SRAM中的程序复制到SDRAM 然后跳到SDRAM处

@ 执行

@****************************************



.equMEM_CTL_BASE,0x48000000

.equSDRAM_BASE,0x30000000

.equWTCON,0x53000000

.text

.global _start

_start:

bl disable_watchdog

bl init_sdram

bl move_to_sdram

ldr pc,=jump_to_main



disable_watchdog:

ldr r1,=WTCON

mov r2,#0x0

str r2,[r1]

mov pc,lr


init_sdram:

ldr r1,=MEM_CTL_BASE

adrl r2,mem_cfg_val

add r3,r1,#52@4*13=52

0:@数字标号是局部标号,这种标号可以在不同区域多次出现。

ldr r4,[r2],#4

str r4,[r1],#4

cmp r1,r3

bne 0b

mov pc,lr


move_to_sdram:

mov r1,#0;

ldr r2,=SDRAM_BASE

add r3,r1,#4*1024

0:

ldr r4,[r1],#4

str r4,[r2],#4

cmp r2,r3

bne 0b

mov pc,lr


jump_to_main:

ldr sp,=0x34000000

bl main



.align 4

mem_cfg_val:

.word0x22011110@BWSCON

.word0x00000700@BANKCON0

.word0x00000700@BANKCON1

.word0x00000700@BANKCON2

.word0x00000700@BANKCON3

.word0x00000700@BANKCON4

.word0x00000700@BANKCON5

.word0x00018005@BANKCON6

.word0x00018005@BANKCON7

.word0x008C07A3@REFRESH

.word0x000000b1@BANKSIZE

.word0x00000030@MRSRB6

.word0x00000030@MRSRB7

Makefile文件如下:

sdram.bin : head.Sleds.c
arm-linux-gcc-c -o head.o head.S
arm-linux-gcc -c -o leds.o leds.c
arm-linux-ld -Ttext 0x30000000 head.o leds.o -o sdram_elf
arm-linux-objcopy -O binary -S sdram_elf sdram.bin
arm-linux-objdump -D -m armsdram_elf > sdram.dis
clean:
rm -fsdram.dis sdram.bin sdram_elf *.o


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ARM系统几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,这一点一直严重制约了ARM系统的发展和应用。GOOGLE开发了开放式的Andro...

关键字: Linux x86 ARM

随着计算需求的多样化,尤其是随着移动设备、嵌入式系统和云计算的兴起,ARM 和 x86 架构之间的争论变得更加突出。ARM(高级 RISC 机器)和 x86 代表两种不同类型的处理器架构,每种架构都针对不同的工作负载和用...

关键字: Linux x86 ARM

从画质优化 (NSS) 到帧率提升 (NFRU) 和光线追踪(NSSD),Arm 计划覆盖移动端图形处理的多个维度,推动边缘 AI 图形革命。而未来通过持续的技术迭代,Arm也将保持在移动计算领域的技术领先,满足手游、A...

关键字: ARM 神经图形技术 GPU AI ML

7月31日消息,据媒体报道,芯片架构提供商Arm Holdings首席执行官Rene Haas宣布,公司正加大投入开发自有芯片产品,此举标志着其从传统IP授权模式向提供实体芯片的战略重大转变。

关键字: ARM META

7月28日消息,2025年,中国AI硬件市场规模将首次突破万亿元大关。

关键字: AI ARM

受生成式 AI 驱动, RISC-V 芯片市场快速发展。预计到2030年,RISC-V SoC出货量将达到1618.1亿颗,营收将达到927亿美元。其中,用于AI加速器的RISC-V SoC出货量将达到41亿颗,营收将达...

关键字: RISC-V CPU AI CUDA ARM 推理
关闭