S3C2440 SDRAM寄存器初始化设置

发布者:uioo9158最新更新时间:2018-07-22 来源: eefocus关键字:S3C2440  SDRAM  寄存器  初始化设置 手机看文章 扫描二维码
随时随地手机看文章

板子是s3c2440,使用两片容量为32MB、位宽16bit的EM63A165TS-6G芯片拼成容量为64M、32bit的SDRAM存储器。根据2410datasheet,要使用SDRAM需配置13个寄存器,以下逐个来看:

1、 BWSCON:Bus width & wait status control register总线位宽和等待状态控制寄存器。

此寄存器用于配置BANK0 – BANK7的位宽和状态控制,每个BANK用4位来配置,分别是:

● ST(启动/禁止SDRAM的数据掩码引脚。对于SDRAM,此位置0;对于SRAM,此位置1)

● WS(是否使用存储器的WAIT信号,通常置0为不使用)

● DW(两位,设置位宽。此板子的SDRAM是32位,故将DW6设为10)

特殊的是bit[2:1],即DW0,设置BANK0的位宽,又板上的跳线决定,只读的。我这板子BWSCON可设置为0x22111110。其实只需将BANK6对应的4位设为0010即可。

2、 BANKCON0 – BANKCON7

用来分别配置8个BANK的时序等参数。SDRAM是映射到BANK6和BANK7上的(内存只能映射到这两个BANK,具体映射多大的空间,可用BANKSIZE寄存器设置),所以只需参照SDRAM芯片的datasheet配置好BANK6和BANK7,BANKCON0 – BANKCON5使用默认值0x00000700即可。

对于BANKCON6和BANKCON7中的各个位的描述:

(1)MT(bit[16:15]):设置本BANK映射的物理内存是SRAM还是SDRAM,后面的低位就根据此MT的选择而分开设置。本板子应置0b11,所以只需要再设置下面两个参数

(2)Trcd(bit[3:2]):RAS to CAS delay(00=2 clocks,01=3 clocks,10=4 clocks),推2410手册上的荐值是0b01。我们PC的BIOS里也可以调节的,应该玩过吧。

(3)SCAN(bit[1:0]):Column address number(00 = 8-bit,01 = 9-bit,10= 10-bit),SDRAM列地址位数。查阅HY57V561620CT-H芯片手册得知此值是9,所以SCAN=0b01。

综合以上各值,BANKCON6 – 7设为0x00018005。

3、 REFRESH:刷新控制寄存器。

此寄存器的bit[23:11]可参考默认值,或自己根据经验修改,这里用0x008e0000,关键是最后的Refresh Counter(简称R_CNT,bit[10:0])的设置,2410手册上给出了公式计算方法。SDRAM手册上“8192 refresh cycles / 64ms”的描述,得到刷新周期为64ms/8192=7.8125us,结合公式,R_CNT=2^11 + 1 – 12 * 7.8125 = 1955。所以可得REFRESH=0x008e0000+1995=0x008e07a3。

4、 BANKSIZE:设置SDRAM的一些参数。其中BK76MAP(bit[2:0])配置BANK6/7映射的大小,可设置为010 = 128MB/128MB或001 = 64MB/64MB,只要比实际RAM大都行,因为bootloader和linux内核都可以检测可用空间的。BANKSIZE=0x000000b2。

5、 MRSRB6、MRSRB7:Mode register set register bank6/7

可以修改的只有CL[6:4](CAS latency,000 = 1 clock, 010 = 2 clocks, 011=3 clocks),其他的全部是固定的(fixed),故值为0x00000030。这个CAS在BIOS中应该也设置过吧,对PC的速度提升很明显哦J

至此,13个寄存器全部配置好了,下面就可以把代码复制到SDRAM中执行了,同样的程序速度要比片内SRAM运行的慢不少。


关键字:S3C2440  SDRAM  寄存器  初始化设置 引用地址:S3C2440 SDRAM寄存器初始化设置

上一篇:S3C2440内存初始化
下一篇:s3c2440中断程序(烧录到NORFlash,运行在SDRAM中)

推荐阅读最新更新时间:2024-03-16 16:09

单片机avr 中断寄存器 中断c语言函数 外部中断介绍
简介:中断的概念,ATmega16中断向量表,avr中断寄存器SREG,MCU控制和状态寄存器MCUCSR,通用中断控制寄存器GICR, MCU控制寄存器MCUCR,ICCAVR中断函数格式介绍 中断就是暂停正在执行的程序语句,转去执行另一功能(函数)的程序语句,执行完后,立即返回原先暂停执行的语句处,继续执行。单片机的中断系统解决了单片机运算速度快,外设(如键盘)速度慢之间的数据传输问题,提高了单片机的实时性和数据处理能力。 中断源:产生中断的地方,ATmega16具有20个中断源和一个复位中断,不同的单片机中断源的个数是不一样的。单片机的中断源分为外部中断源和内部中断源,有三个外部中断源有INT0,INT1,INT2,当连接在
[单片机]
单片机avr 中断<font color='red'>寄存器</font> 中断c语言函数 外部中断介绍
s3c2440——按键中断
s3c2440的异常向量表: IRQ中断地址是0x18.所以,根据之前的异常处理方式,我们编写启动文件: 为什么需要lr减4,可以参考这篇文章: http://blog.csdn.net/zzsfqiuyigui/article/details/23334177 这是为了保证,当cpu正在执行某条指令时被中断打断,中断返回的时候,要继续执行这条被打断的指令,如果不减去4,cpu处理完中断之后,将会在被打断执行的这条指令的下一条指令开始执行(因为lr_irq保存的是下一条指令执行的地址),就会丢失掉这个被打断指令的执行,所以,保存中断处理完毕的返回地址很重要。 void handle_irq_c(void) {
[单片机]
<font color='red'>s3c2440</font>——按键中断
基于WinCE的嵌入式视频数据采集系统设计
  随着嵌入式技术的不断发展,各种嵌入式微处理器和控制器不断出现,并广泛应用于工控、通信、PDA、安保等领域。基于ARM920t内核的嵌入式微处理器S3C2440,以其良好的数据处理能力、低功耗、小体积、支持多种嵌入式操作系统(如WinCE、Linux)、集成多种外设(如I2C控制器、LCD控制器等)等优点,广泛应用于手持设备等。WinCE操作系统具有内核可剪裁、实时性好、支持多种通信、模块化设计、具有丰富的API等特点,广泛用于嵌入式实时操作系统。这里提出的嵌入式图像数据采集系统是某“纳米技术与微系统”实验室开发的“嵌入式传感测控系统”中实现图像采集功能的子系统,该系统是以S3C2440为硬件核心,以WinCE为软件平台,能实时
[嵌入式]
[register]-04-ARMv8的寄存器简介和总结
在介绍寄存器之前,我们先看下ARM中都有什么,以arm为例: 1、通用寄存器 (1)、a r m v 7 color{red}{arm v7}armv7 有 16 个 32-bit 通用寄存器,用 r0-r15 表示; sp:r13, lr:r14, pc:r15 (2)、a r m v 8 color{red}{arm v8}armv8 有 31 个 64-bit 通用寄存器,用 x0-x30 表示,和v7不一样的是,这31个寄存器也可以作为 32-bit 寄存器来用,用 w0-w30 表示,其中 wn 是 xn 的低32位; lr:x30, sp, pc 2、向量寄存器(SIMD) (1)、a r m v 7 colo
[单片机]
[register]-04-ARMv8的<font color='red'>寄存器</font>简介和总结
ARM学习笔记8 通用寄存器和存储器内容交换指令和软中断指令
  交换指令将一个存储单元内容与制定的寄存器内容相交换,交换指令为进程间同步提供了一种方便的解决途径。该指令产生一堆原子Load/Store操作,该操作发生在一个连续的总线操作中,在操作期间阻止其他任何指令对该存储单元的读/写。 一、通用寄存器和存储器字数据交换指令SWP   1、作用     将一个内存单元(该单元地址放在寄存器Rn中)的内容读取到一个寄存器Rd中,同时将另一个寄存器Rm的内容写入到该内存单元中。   2、语法格式     SWP{ condition } Rd , Rm ,   3、参数说明     3.1、 Rd :确定指令的目标寄存器     3.2、 Rm :该寄存器包含将要被存储到内存单元中的数据  
[单片机]
基于S3C2440的嵌入式Linux根文件系统构建
嵌入式Linux早已成为IT界家喻户晓的一个名字,使用Linux进行嵌入式产品开发有一个很大的优势,就是开发资源丰富,且成本低廉,嵌入式Linux操作系统越来越受到重视,其应用也越来越广泛。而文件系统作为操作系统的重要组成部分,用于控制对数据文件及设备的存取,提供对文件和目录的分层组织形式,数据缓冲以及对文件存取权限的控制。根文件系统一直是Linux系统不可或缺的组件,在嵌入式Lin-ux中,内核在启动期间进行的最后操作之一就是安装根文件系统。Busybox是构建嵌入式Linux根文件系统的软件,用它制作根文件系统简单、方便,而且设置灵活。 1 根文件 Linux要在一个分区上存放系统启动所必需的文件,如内核映像文件、内核
[单片机]
基于<font color='red'>S3C2440</font>的嵌入式Linux根文件系统构建
51单片机的特殊功能寄存器(SFR)
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下: 符号 地址 功能介绍 B F0H B寄存器 ACC   E0H 累加器 PSW   D0H 程序状态字 IP   B8H 中断优先级控制寄存器 P3   B
[单片机]
一个单片机串行数据采集/传输模块的设计
在微机测控系统中,经常要用到A/D转换。常用的方法是扩展一块或多块A/D采集卡。当模拟量较少或是温度、压力等缓变信号场合,采用总线型A/D卡并不是最合适、最经济的方案。这里介绍一种以GNS97C2051单片机为核心,采用TLC2543 12位串行A/D转换器构成的采样模块,该模块的采样数据由单片机串口经电平转换后送到上位机(IBM PC兼容机)的串口COM1或COM2,形成一种串行数据采集串行数据传输的方式。经实践调试证实:该模块功耗低、采样精度高、可靠性好、接口简便,有一定实用价值。 1 主要器件介绍 1.1 TLC2543串行A/D转换器 模块采用TI公司的TLC2543 12位串
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved