关于S3C2440与SDRAM、Nandflash、Norflash的连线分析,比较详细。
S3C2440 与SDRAM 的地址连线分析S3C2440 有27 根地址线ADDR[26:0],8 根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx 的地址空间,ngcsx 引脚为低电平,选中外设。
2^27=2^7 * 2^10 * 2^10 = 128Mbyte
8*128Mbyte = 1Gbyte
所以S3C2440 总的寻址空间是1Gbyte。
市面上很少有32 位宽度的单片SDRAM,一般选择2 片16 位SDRAM 扩展得到32位SDRAM.
选择的SDARM 是HY57V561620F,4Mbit * 4bank *16,共32Mbyte。

首先了解下SDRAM 的寻址原理。
SDRAM 内部是一个存储阵列。可以把它想象成一个表格。和表格的检索原理一样,先指定行,再指定列,就可以准确找到所需要的存储单元。这个表格称为逻辑BANK。目前的SDRAM 基本都是4 个BANK。寻址的流程就是先指定BANK 地址,再指定行地址,最后指定列地址。这就是SDRAM 的寻址原理。
关键字:S3C2440 SDRAM
引用地址:
S3C2440-SDRAM连线分析
推荐阅读最新更新时间:2026-03-05 20:39
十二、S3C2440 裸机 — SDRAM
12.1 SDRAM 介绍 12.1.1 SDRAM 定义 SDRAM(Synchronous Dynamic Random Access Memory):同步动态随机存储器-内存条 同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准; 动态是指存储阵列需要不断的刷新来保证数据不丢失; 对比:SRAM(静态的-触发器) 随机是指数据不是线性依次存储,而是自由指定地址进行数据读写 对比:Flash(块) DDR:DDR就是DDR SDRAM,是SDRAM的升级版。(DDR:double data rate,双倍速度的SDRAM) SDRAM经历了几代:SDR DDR1 DDR2 DDR3 DDR
[单片机]
嵌入式linux开发 (九) RAM(3) s3c2440外扩sdram
- JZ2440 S3C2440 ARM920T -内置 Steppingstone (4K-Byte SRAM) 无rom -外扩 EM63A165TS-6G:32MB/片,SDRAM,共两片 soc The S3C2440A is developed with ARM920T core, 0.13um CMOS standard cells and a memory complier. The ARM920T implements MMU, AMBA BUS, and Harvard cache architecture with separate 16KB instruction and 16KB
[单片机]
uboot-2011.12移植到S3C2440(四)——SDRAM初始化之后,卡在board.c的memset不动
按照转载的(四序)中设置SDRAM,并且修改uboot.lds之后,程序走到memset不再运行,无法解决。暂停。这应该是NANDFLASH代码挪窝的问题,说是2410和2440不兼容。研究中。 uboot-2010.09和201112这两个版本的memset不同,在2011.12版本中,将memset写成汇编语言了,这个比较难整,等待N人解决吧。 这一部分,csdn有csuwzc进行了201103的版本的移植,简单看了下,发现做的很好,我出错的原因大致就在于栈设置不正确,以及其它的小细节,我不打算继续深究,我现在以uboot-2010.09为模板移植。
[单片机]
S3C2440—8.读写SDRAM
SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写 一.内部结构 原理图如下: 存储逻辑结构: 可以看出SDRAM的内部是一个阵列,就像表格一样,其寻址方式是按照块、行、列来的,即先选定SDRAM芯片,然后发出块信号确定那一块,再发出行信号确定哪一行,再发出列信号确定哪一列。 CPU对SDRAM的访问可以分为以下几步: CPU对存储控制器发出统一编址 内存控制器发出片选信号
[单片机]
S3C2440移植uboot之新建单板_时钟_SDRAM_串口
文章目录 1.新建单板 1.1 将2410的单板文件夹拷贝成2440: 1.2 将2410的头文件拷贝成2440 2.修改boards.cfg,使uboot支持2440单板: 3.修改uboot系统时钟 4.烧写修改后的uboot 5.烧写uboot,发现串口已有数据,但是乱码 5.1进入archarmcpuarm920ts3c24x0Speed.c下的get_HCLK ()函数: 5.2编译测试 5.3所以就直接去掉该文件,不让编译器编译即可,步骤如下所示: 加粗样式 1.新建单板 1.1 将2410的单板文件夹拷贝成2440: cd /work/system/u-boot-2012.04.01/board/sam
[单片机]
s3c2440中断程序(烧录到NORFlash,运行在SDRAM中)
现在正在看韦东山的《嵌入式Linux应用开发完全手册》,看到了中断部分。书上是将程序烧录到NANDFlash中,由于当mini2440板子从NANDFlash启动的时候,会自动将其中的前4KB程序拷贝到CPU内部的SRAM(4KB大小)中,并且将该SRAM的起始地址映射为0x0。所以当中断发生的时候,PC指针指向0x0+offset(如:IRQ就是0x18),可以找到中断服务程序的入口。 但是有4KB的限制,加上U-BOOT一般都烧录到NORFlash中,再将程序搬移到SDRAM中再运行的,恰好手底下有JLINK设备,所以决定写一个烧录到NORFlash,运行在SDRAM中的中断测试程序。 先说一下整体思路:将系统启动时寻找的八个
[单片机]
S3C2440存储控制器、SDRAM原理、内存初始化
NandFlash和NorFlash都是Flash的一种,都是散存,都是磁盘存储介子,但是NandFlash一般比较大,而NorFlash都比较小,并且NorFlash比较贵,并且NorFlash写的速度比较慢,但读的速度比较快,而NandFlash读的速度比较慢,写的速度比较快。 NOR Flash是总线型设备,可在芯片内执行(XIP,eXecute In Place),应用程序可以直接在FIash闪存内运行,不必再把代码读到系统RAM中;而NAND Flash则需I/O接口,因此使用时需要写入驱动程序 SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器
[单片机]
S3C2440开发板中SDRAM \NOR FLASH\ NAND FLASH地址分配
TQ2440 开发板的NOR FLASH是16bit数据位宽,选择从NOR FLASH启动,所以OM0接VDD,OM1接VSS,NOR FLASH接的是ngcs0,也就是接在BANK0.因为选择的NOR FLASH是2Mbyte,所以NOR FLASH的地址范围是0x0000 0000 --- 0x001f ffff。上电时,程序会从Norflash中启动,ARM直接取Norflash中的指令运行。 NAND FLASH 以页为单位读写,要先命令,再给地址,才能读到NAND的数据。NAND FLASH是接在NAND FLASH控制器上而不是系统总线上,所以没有在8个BANK中分配地址。如果S3C2440被配置成从Nand Flash
[单片机]