一.SDRAM(HY57V561620F)连线分析 1.  S3C2440 有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx 的地址空间,ngcsx引脚为低电平,选中外设. 2^27=128MByte, 8*128Mbyte = 1Gbyte,所以S3C2440 总的寻址空间是1Gbyte.但市面上很少有32位宽度的单片SDRAM,一般选择2片16位SDRAM 扩展得到32位SDRAM. 2.这里选择的SDARM是HY57V56…
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存.内存的工作原理.控制时序.及相关控制器的配置方法一直是嵌入式系统学习.开发过程中的一个难点.我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程. 内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由操作系统装载入内存中,由于内存是RAM(随机访问存储器),可以通过地址去定位一个字节的数据,CPU在执行程序时将…
u-boot中nandflash初始化流程分析(转) 原文地址http://zhuairlunjj.blog.163.com/blog/static/80050945201092011249136/   下面对nand flash的初始化代码nand_init()进行分析: 1.如果定义(CONFIG_COMMANDS & CFG_CMD_NAND)没定义(CFG_NAND_LEGACY) 则start_armboot()调用driver/nand/nand.c中的nand_init(),否则如…
韦东山的视频里面说S3C2440有4KB的内存,这个其实是不正确的,这4KB的RAM严格说不应该叫内存,严格来说芯片外面的64MB的SDRAM才能叫做内存,里面的那4KB只是当nandflash启动的时候用来加载bootloader的. 关于SRAM.DRAM.SDRAM SRAM:静态随机存储器,不需要刷新电路,这使得静态RAM比动态的RAM要快的多,但是,由于他所含的器件较多,集成度较低,不适合做大容量的内存,一般用在处理器的缓存里面,SRAM的速度非常快,在快速读取和刷新时能够保证数据完整…
12.1 SDRAM 介绍 12.1.1 SDRAM 定义 SDRAM(Synchronous Dynamic Random Access Memory):同步动态随机存储器-内存条 同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准: 动态是指存储阵列需要不断的刷新来保证数据不丢失:   对比:SRAM(静态的-触发器) 随机是指数据不是线性依次存储,而是自由指定地址进行数据读写  对比:Flash(块) DDR:DDR就是DDR SDRAM,是SDRAM的升级版.(DDR…
它包含7个文件: head.S init.c main.c Makefile nand.c nand.lds 我们之前的程序都是在nandflash的前4k放代码,上电后自动拷贝到SRAM中,之后将SRAM中的代码拷贝到SDRAM中.可是当我们的程序太大超过4k的时候就不行了,因为无法将nandflash的代码完全拷贝到SRAM中去,这时就需要从nandflash中拷贝代码了. 本程序里面我们要实现的就是:将一部分代码放在nandflash的4096之后,上电后,前面一部分代码自动拷贝到SRAM…
PCB直角走线的影响   布线(Layout)是PCB设计工程师最基本的工作技能之一.走线的好坏将直接影响到整个系统的性能,大多数高速的设计理论也要最终经过 Layout 得以实现并验证,由此可见,布线在高速 PCB 设计中是至关重要的.下面将针对实际布线中可能遇到的一些情况,分析其合理性,并给出一些比较优化的走线策略.主要从直角走线,差分走线,蛇形线等三个方面来阐述. 1. 直角走线 直角走线一般是PCB布线中要求尽量避免的情况,也几乎成为衡量布线好坏的标准之一,那么直角走线究竟会对信号传输产…
S3C2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动. 1)nand flash:适合大容量数据存储,类似硬盘: 2)nor flash:适合小容量的程序或数据存储,类似小硬盘: 3)sdram:主要用于程序执行时的程序存储.执行或计算,类似内存. Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启…
了解u-boot之前首先了解下Bootloader,简单说Bootloader就是一段小程序,它在系统上电时开始运行,初始化硬件设备,准备好软件环境,最后调用操作系统内核. u-boot全称:Universal Boot Loader,即通用Bootloader,遵循GPL条款,开放源码. 支持多种嵌入式操作系统内核:Linux.NetBSD.VxWorks等 支持多个处理器系列:如PowerPC.ARM.x86.MIPS等 u-boot的核心最终目的就是从Flash上读出内核,然后启动内核.如…
 为了cpu访问外部设备,ARM提供一个存储管理器部件,提供访问外部设备的所需的信号(对SDRAM.网卡.nor等设备进行初始化,以便存储器管理器配合CPU进行与外设数据通讯).   CPU通常读写一个外设仅仅发出地址,它不仔细过问其中的任何过程,地址发出后就交给了存储管理器,存储管理器就会根据地址判断是什么设备,并负责数据操作,把CPU想操作的数据反馈给CPU:      S3C2440对外引出27根地址线ADDR0-ADDR26,因此从地址线数目来看S3C2440对外访问的范围只有128MB…