s3c2440内存控制器与SDRAM基本测试】的更多相关文章

前面我们实验的LED和串口程序,是cpu发送地址给特定的寄存器,在寄存器中写相应的位,达到控制要求. 第一类是GPIO门电路如LED,第二类是协议类如串口,这些都不是cpu直接给地址信息,而是通过寄存器来控制的. 第三类是内存接口,cpu发出的地址可以直接传递给这种设备如nor flash,sdram,网卡.注意nand flash不属于这种类型. 关于SDRAM,可以参考这篇文章,这对于了解sdram很重要,非常有必要阅读一波. <高手进阶,终极内存技术指南(完整/进阶版)> 这篇文章能够让…
S3C2440A Memory Map after Reset S3C2440的内存空间划分为不同的块,当CPU向内存控制器发出地址,内存控制器根据地址范围,发出对应片选信号到片选引脚,实现对不同设备的控制.     BANK0 BUS WIDTH The data bus of BANK0 (nGCS0) should be configured with a width as one of 16-bit and 32-bit ones. Because the BANK0 works as…
配置内存控制器-SDRAM编程配置 2440内存控制器共有13个寄存器. BANK0--BANK5只需要设置BWSCON和BANKCONx(x为0-5)两个寄存器: BANK6.BANK7外接SDRAM时,除BWSCON和BANKCONx(x为6.7)外,还要设置REFRESH.BANKSIZE.MRSRB6.MRSRB7等4个寄存器. 下面分别说明各个寄存起的设置: 1.位宽和等待控制寄存器BWSCON(BUSWIDTH&WAITCONTROLREGISTER) 我们SDRAM的位宽为32,D…
1.内存接口概念 S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚(GPA-GPH)),有串口控制器 (接有TXD RXD引脚),有memory controller内存控制器,有Nand控制器等... 1.不同类型的控制器: (1)GPIO控制器属于门电路,不涉及到时序,相对简单. (2)串口控制器属于协议类接口,类似的协议类接口还有iic.iis.spi等. (3)前面的GPIO/门电路接口.协议类接口,都不会把地址输出到外部设备,仅仅只是将地址写入到相应的控制器. 接下来的内…
不同位宽设备的连接 black 我们先看一下2440芯片手册上外设rom是如何与CPU地址总线连接的. 8bit rom与CPU地址线的连接 8bit*2 rom与CPU地址线的连接 8bit*4 rom与CPU地址线的连接 16bit rom与CPU地址线的连接 16bit*2 rom与CPU地址线的连接 从上面的图中,我们知道可以对2片位宽为8bit的外设扩展级联成1个16bit的外设,同理可用4片位宽为8bit的外设进行级联成1个32bit的外设... 从上面的图中,我们还看见一个规律:…
1.norflash与2440的硬件连接 2.初始化nor,配置nor时序 1.如图是S3C2440的内存控制器的可编程访问周期读写时序,里面的时间参数要根据外部设备的性能进行配置,这里先列出时间参数的含义: Tacs: Address set-up time before nGCSn(表示地址信号A发出多久后才能发出nGCS片选) Tcos: Chip selection set-up time before nOE(表示片选信号nGCS发出多久后才能发出读使能信号) Tacc:access…
从上图可知,外部内存类的设备与存储管理器相连,那么CPU是怎样访问到内存的呢?通过存储管理器.CPU比较单纯,只会按照指令执行,CPU只负责发出地址,怎样找到内存类设备呢?这些都交给存储管理器来管理. s3c2440对外引出的27根地址线ADDR0-ADDR26的访问范围只有128M,那么如何达到1G呢,CPU还对外引出了8条片选线nGCS0-nGCS7,对应于bank0-bank7,当访问BANKX的地址空间时,nGCSx输出低电平选中外部芯片,这样就能达到1G的地址空间.如下图 s3c244…
S3C2440 存储控制器(memory controller)提供了訪问外部设备所需的信号,这是一种通过总线形式来訪问扩展的外设. S3C2440  的存储器控制器有下面的特性: 支持小字节序.大字节序(通过软件选择) 每一个BANK的地址空间为128MB.总共1GB(8 BANKs) 可编程控制的总线位宽(8/16/32 -bit).只是 BANK0 仅仅能选择两种位宽(16/32 -bit) 总共8个BANK. BANK0 ~ BANK5 能够支持外接 ROM,SRAM等,BANK6 ~…
回看<例说FPGA> ---DDR2控制器集成与读写测试 1.DDR2 IP核的配置 需要弄清楚的选项主要有: PLL reference clock frequency Memory clock frequency Controller data rate 对于DDR2 芯片的选型,可以在Memory Presets 里面选择,如果没有符合的器件,可以任意选中一个器件,点击modify parameters 按钮,在 preset Editor 里面进行参数配置. 2.片上RAM的配置 需要…
APP的CPU,内存,耗电,流量测试工具下载地址,后续文章会介绍如何使用Emmagee.itest.gt APP应用的CPU,内存,耗电,流量调查 可和同类产品比较,使用GT等工具:CPU靠system dump命令进行跟踪,内测靠DDMS的GC之后查看object   工具GT http://gt.qq.com/download.html 可下载最新的   工具itest http://soft.shouji.com.cn/down/29068.html   国内主流应用商店均可下载,如91助…
1.SDRAM原理 black (1)SDRAM内部存储结构: (2)再看看与2440连接的SDRAM原理图: sdram引脚说明: A0-A12:地址总线 D0-D15:数据总线(位宽16,2片级联成位宽32) BA0-BA1:bank选择 nSCS:片选 nSRAS:行地址选择 nSCAS:列地址选择 nWE:写使能 SCLK:时钟 SCKE:时钟使能 (3)SDRAM的地址范围: 之前我们讲"二.不同位宽外设与CPU地址总线的连接"这一节的时候,我们留下了一个问题,SDRAM的地…
转自:http://blog.sina.com.cn/s/blog_5ddb672b0100fkcf.html 1.首先应该先了解Flash ROM的种类 NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来. NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据.通俗的说,只给地址不行,要先命令,再给地址,才能读到NAND的数据,在一个总线完成的. 结论是:ARM无法从NAND直接启动.除非装载完程序,才能使用NAND Flash. Nand Flash的命令…
一.ARM中断体系结构 arm有7中异常工作模式 用户模式.快中断模式.管理模式.数据访问终止模式.中断模式.系统模式.未定义指令终止模式. 几种模式有什么不同呢, 1.不同的寄存器 2.不同的权限 3.触发条件 对于不同的寄存器,ARM920T有31个通用的32位寄存器和6个程序状态寄存器.这37个寄存器分为7组,进入某个工作模式时就使用他那组的寄存器.有些寄存器,不同的工作模式下有他的副本,当切换到另一个工作模式时,那个工作模式的寄存器副本将被使用:这些寄存器被称为备份寄存器(图中灰色部分的…
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w 作者:腾讯TMQ专项测试团队 导语 最近小优听说,隔壁的腾讯TMQ团队出了一本新书--<移动App性能评测与优化>,便借阅了一本,读完感觉写得确实很赞.这本书体系化地介绍了移动应用性能评测与优化的方方面面,如内存,电量,流畅度,导航,网络优化和安装包瘦身等,强烈推荐大家阅读~ 小优从书中摘取了第一章 "越用越…
Android程序中一旦加载的图片比较多,就有可能出现Out of Memory而导致程序崩溃.这个一方面是因为Android系统本身对于每个单独的进程有内存大小的限制(有16M,64M,128M,256M等等),另一方面是因为Android系统对于图片资源的垃圾回收比较慢(文章http://jiangnane.com/index.php/archives/230中对Android源码进行了分析,发现Android的setImageViewBitmap(Bitmap bm)方法的源码中没有建立新…
刚开始学习linux在2440上面 linux内核分配标志可以分为三类:行为修饰符.区修饰符.类型. 区修饰符表示从哪儿分配内存,内核把物理内存分为多个区,每个区用于不同的目的. 内存中缓冲区存在的原因是可以提高对块设备的文件操作运行效率提高,而提高的本质是缓冲区数据的共享.…
实验指导书及代码包下载: http://pan.baidu.com/s/1c1VRibY iCore3 购买链接: https://item.taobao.com/item.htm?id=524229438677…
/==========翻译S3C2440存储控制器部分================/ 5 存储控制器 概述 S3C2440内存控制器为外部存储访问提供内存控制信号. S3C2440A有如下特征: 大端/小端(由软件选择) 地址空间:每块由128MB存储空间,一共有8块达1GB. 除了空间0外,其他所有的空间都能通过编程控制访问大小. 总共有8个内存空间 其中有6个空间用来ROM,SRAM等. 其余两个空间用来ROM,SRAM,SDRAM等. 7个内存空间有固定的起始地址. 1个内存空间起始地…
SDRAM的调试总结 1 说明 实验平台: JZ2440 CPU: S3C2440 SDRAM型号: EM63A165TS-6G   2 SDRAM的一些基本概念 2.1 引脚分配   2.2 引脚描述 A0-A12 :地址线 DQ0-DQ15 :数据线 LDQM.UDQM :数据屏蔽控制 BA0-BA1 :L-BANK地址线 CLK :时钟 CKE :时钟使能 CS# :片选 WE# :写使能 CAS# :列地址选通脉冲 RAS# :行地址选通脉冲 VSS.VSSQ :地 VDD.VDDQ :…
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存.内存的工作原理.控制时序.及相关控制器的配置方法一直是嵌入式系统学习.开发过程中的一个难点.我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程. 内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由操作系统装载入内存中,由于内存是RAM(随机访问存储器),可以通过地址去定位一个字节的数据,CPU在执行程序时将…
2.SDRAM内存工作原理 上面产生的误解关于 Bank ,这个bank 不是 和 S3C2440 芯片有关系(RAM 自身有bank , SDRAM 自身也有bank ,就像书 有 好几章节一样) 所以人们在 SDRAM内部分割成多个 L-Bank,目前基本都是 4个(这也是SDRAM规范中的最高L-Bank数量),由此可见,在进行寻址时就要先确定是哪个 L-Bank,然后在这个选定的 L-Bank中选择相应的行与列进行寻址.因此对内存的访问,一次只能是一个 L-Bank工作.如图2-50 当…
本篇基本是韦东山书上的 一.内存管理单元MMU介绍 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查.MMU使得每个用户进程拥有自己独立的地址空间,并通过内存访问权限的检查保护每个进程所用的内存不被其他进程破坏. 重点就在于地址映射:页表的结构与建立.映射的过程. 1.S3C2440 MMU地址变换过程  1)地址的分类一个程序在运行之前,没有必要全部装入内存,仅需要将那些要运行的部分先装入内存,其余部分在用到时从磁盘载入,当内存不足时,再将暂时不用的部分…
一.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…
文章目录 一.内部结构 二.相关寄存器 BWSCON BANKCON6 REFRESH BANKSIZE MRSR 三.读写SDRAM SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准:动态是指存储阵列需要不断的刷新来保证数据不丢失:随机是指数据不是线性依次存储,而是自由指定地址进行数据读写 一.内部结构 原理图如下: 存储逻辑结构: 可以看出SDRAM的内部是…
文章目录 一.内存接口的概念 二.存储控制器(内存控制器) 2.1 什么是存储控制器? 2.2 S3C2440存储控制器介绍 2.3 存储控制器如何处理不同位宽的外设 2.4 怎么确定芯片的访问地址? 三.时序问题 一.内存接口的概念 S3C2440是SOC,所以会有很多外设,一般驱动外设的方法可以分为: 通过CPU访问相应的的寄存器,然后通过控制器驱动外设 CPU直接访问外设地址,驱动外设 后一种访问方式是CPU直接对内存地址的访问,即通过内存接口访问外设,CPU通过片选线选定外设,通过地址线…
文章目录 一.S3C2440的启动方式 二.代码 一.S3C2440的启动方式 S3C2440的MMU有一种"steppingstone".技术,是协助MCU从无法执行程序的NAND FLASH执行启动程序的一种方法,其启动步骤如下: 1.系统上电后,首先自动判断是否是autoboot模式,如果使用 s3c2440是带有nandflash的,并且被设置成autoboot,从nandflash开始启动. 2.在判断是autoboot模式后,mcu内置的nandflash控制器自动将nan…
原文:SQLServer表变量对IO及内存影响测试 1. 测试创建表变量对IO的影响 测试创建表变量前后,tempdb的空间大小,目前使用sp_spaceused得到大小,也可以使用视图sys.dm_db_file_space_usage use tempdb go Set nocount on Exec sp_spaceused /*插入数据之前*/ declare @tmp_orders table ( list_no int,id int) insert into @tmp_orders(…
来源地址: http://blog.csdn.net/wenwenxiong/article/details/77197997 记录一下 以后好找.. 一.linux cpu.内存.IO.网络的测试工具 cpu测试工具 1.Super Pi for linux Super PI是利用CPU的浮点运算能力来计算出π(圆周率),所以目前普遍被用户用做测试系统稳定性和测试CPU计算完后特定位数圆周率所需的时间. ./super_pi 20 20为位数.表示要算2的多少次方位,如通常要算小数点后1M位.…
一.Memtester简单介绍 Memtester主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随机值,异或比较,减法,乘法,除法,与或运算等等. 通过给定测试内存的大小和次数, 可以对系统现有的内存进行上面项目的测试. 二.安装 1. 在http://pyropus.ca/software/memtester/ 下载memtester-4.3.0.tar.gz: 2. 执行以下命令,安装Memtester. tar zxvf memtester-4.2.2.tar.gz…
最近要测试一台机器的整体性能情况,就在google搜索一番,发现这个一个小工具,说是可以进行内存的压力测试,Memtester主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随机值,异或比较,减法,乘法,除法,与或运算等等. 通过给定测试内存的大小和次数, 可以对系统现有的内存进行上面项目的测试. 1 下载 wget http://pyropus.ca/software/memtester/old-versions/memtester-4.2.2.tar.gz 2 安装 .t…