s3c2440 存储系统和I/O空间 认识

发布者:RainbowMelody最新更新时间:2016-08-08 来源: eefocus关键字:s3c2440  存储系统  IO空间 手机看文章 扫描二维码
随时随地手机看文章
用友善之臂的板子已经有一段时间了.对于存储系统和I/O空间的认识也渐渐淡忘了,原因是在做其他开发时,一直用着自带的启动代码,从不关心板子的储存空间配置.最近在做网卡驱动,突然间就不知道网卡的地址是什么了,于是花点时间总结一下.废话少说.开始吧.

1,板上的存储资源

两个32M的SDRAM.

一个2M的NOR FLASH

一个128M(有些是64M)的NAND FLASH

以上这些资源看原理图便知.

2,板上的I/O资源

       这块板子上(准确的说是S3C2440)的I/O空间是用存储映射的方法映射到存储空间上的,也就说I/O空间是要占用存储空间的.

3,各种存储器的区别与各自的用途

       为什么这块板子上有那么多存储设备呢?原因很简单.每种存储设备的用途都不一样,而且为了兼顾广大用户的需要,也必须有不同的存储设备.首先说SDRAM.(写到这突然想起忘了说SRAM了.SRAM是静态随机存储器,它具有掉电不丢失数据且不必频繁刷新的特点,存储速度快,相当于PC的内存,看来这块相当于内存的东西很重要,可是刚刚怎么没说有这块东西呢?原因很简单.因为本来就没有.其实,如果需要随机存储器,SDRAM就是随机存储器啊,只是它需要不断的刷新以保持里面的数据(电平).说到这,SDRAM的作用同学们也应该了解了.也就说我们这块板子就是有64M的内存,足够用了.

其次说说NOR FLASH.NOR FLASH是具有SRAM接口特性的ROM.可是NOR FLASH才2M未免太少了,没错,是很少,可是我们有NAND FLASH啊,它也是ROM啊,所以加起来我们可以说这块板子有130M(66M)的硬盘.这也足够用了,可以少好几个Linux了.

再说说NAND FLASH,NAND FLASH可以做的很大,但是速度却比不上NOR FLASH,NOR FLASH能做快却不能做的大,所以,速度和容量是一对矛盾.为了克服这对矛盾,这板子上两种FLASH都有了.各有用途.另外,初学者一定要知道NAND FLASH 与NOR FLASH启动的不同吧.这是跟他们的特性有关的,接下来谈谈.

4,NOR FLASH 启动与NAND FLASH 启动

       开发板上有一个S2开关,当它打在NOR一端是就是NOR启动.相反,打在另一端就是NAND FLASH启动了.先说着两种启动的不同,再说说硬件上是如何启动的,空间有时如何分配的.当S2打在NAND FLASH启动,那么程序就是在NAND FLASH上跑起来.其实,在内部还有一个4K字节的steppingstone的缓冲器(其实这是一个SRAM),当选择NAND FALSH 启动时,这个缓冲器映射在地址0x0000_0000上,而它负责将NAND FLASH上的代码复制到SDRAM上(大家都知道,程序运行时都是在RAM上运行的,怎么可能是在FLASH上运行呢,其实就是将FLASH上的代码复制了而已)而负责复制这段代码的东西就是传说中的BIOS啦.

当S2打在NOR FLASH一端时,又有什么区别呢?当选择用NOR FLASH启动时,2M的NOR FLASH就映射到地址0x0000_0000上,程序就是从这里运行了.那难道程序就能从NOR FLASH上运行吗?当然不行,那为什么可以在这里启动呢,其实这个NOR FLASH已经安装了BIOS的了(若有读者不知什么是BIOS,那就暂且认为它的功能就是从FLASH上复制代码到SDRAM就可以了)

4,S3C2410 S3C2440NAND 存储系统

       大家都知道,32位可以寻址4G空间.但是S3C2440却的存储空间里把4G这样子分的:

(途中只显示最低的1G)

 

 

       0x4000_0000只有还有3G空间是这样分配:

OM[1:0]=01或者是10 时:0x4000_0000-0x4000_0fff.这4字节的就是前面说的stepingstone的啦.0x4000_0fff_0x4800_0000是没用到的.0x4800_0000-0x6000_0000的空间是特殊功能寄存器的.你发现,所有的寄存器都是在这个范围内的.0x6000_0000—0Xffff_ffff的还是未用到的.

OM[1:0]=00时.这个时候如上图所示.刚刚说的steppingstone映射到ox000_0000那里,也即是途中的BOOT INTERNAL SRAM.其他的一样.

其实.S3C2440把低1G的空间分成了8块,由图可知,第0至6这七块的起始地址是不变的.而第七段的地址是可变的(它的地址有第六块需要用到多少来决定,反正就是第六第七是连在一起的).前6块可以是ROM SRAM .最后两块不但可以是ROM,SRAM外,还可以是SDRAM.其实啊,简单点的说,就是只有最后两块才能是SDRAM.也就是说SDRAM必须要映射到这两块里面.mini2440就是选择映射在第七块上,所以SDRAM的起始地址是0x3000_0000(这就是手册上为什么在加载测试程序时DNW的初始值要设为这个,它就是为了想程序直接加载到SDRAM上,这只是做实验而且,掉电后还是会丢失的.所以做产品时是不可能这样做的).

刚刚说S3C2440把存储空间分为8块,它为什么要这么做呢?其实很简单,即使它不这么做,我们也会这么做的.先了算一算数:每块128M,那就是需要27根地址线来寻址.而8块呢就跟着引出与之一一对应的8跟片选引脚.讲到这聪明的读者必能想到.其实这8根片选引脚就是里面用3根地址线译码出来的.所以一共用了30根地址线,30根不正好是1G么.呵呵.

说的差不多了.应该有很多需要完善的,但是这对于初学者来说还是有一定的帮助吧?

 

 


S3C2440 MEMORY CONTROLLER详解

 

 


       BANK0总线宽度由OM[1:0]引脚决定,当OM[1:0]=01时,booting ROM data width是16位,当[1:0]=10时,booting ROM data width是32位,当OM[1:0]=00时,从NAND FLASH启动。在友善之臂S3C2440开发板上,OM1引脚直接接地。

 

 

 

s3c2440 存储系统和I/O空间 认识 - Wornyong - 智能物联,嵌入您我!
 依据这张表,可以查找到SDRAM的BANK选择引脚连接方式,比如,我们使用的SDRAM是2片HYNIX的HY57V561620(L)T,它的规格是4*4M*16bit(使用两片是为了配置成32位的总线宽度),BANK大小是4M*16=64MB,总线宽度是32位,器件大小是4*BANK大小=256Mb(M bit的意思吧),寄存器配置就是(4M*16*4B)*2 ( M bit ),根据上面的表格,SDRAM上的BANK地址引脚(BA[1:0])与S3C2440的A[25:24]相连。
s3c2440 存储系统和I/O空间 认识 - Wornyong - 智能物联,嵌入您我!
 
 上表是寄存器控制地址总线连接方式,我们使用2片SDRAM配置成32位的总线宽度,所以SDRAM上的A[12:0]接到S3C2440的A[14:2]引脚。
       具体的S3C2440与两片SDRAM接线方式如下图所示:
s3c2440 存储系统和I/O空间 认识 - Wornyong - 智能物联,嵌入您我!

 

 SDRAM的工作时序作为ARM工程师了解即可,具体的读写控制由寄存器控制器完成,作为FPGA工程师则需要详细了解SDRAM工作原理与时序,在此不再赘述。作为ARM工程师,最重要的是准确配置与SDRAM相关的寄存器。

 


 

软件可编程的大小端模式;

       地址空间:每个BANK可寻址128MB(总共8个BANK 1GB空间);

       可编程的访问位宽:BANK0为16或32位,其他BANK为8或16或32位;

       8个存储器BANK,其中6个用于ROM或者SRAM,2个用于ROM、SRAM或者SDRAM;

       BANK0~BANK6的起始地址固定;

       BANK7的起始地址和大小可编程;

       所有存储器BANK的访问周期可编程;

       外部wait信号可延长总线周期;

       支持SDRAM的自刷新和掉电模式。

 

s3c2440 存储系统和I/O空间 认识 - Wornyong - 智能物联,嵌入您我!

关键字:s3c2440  存储系统  IO空间 引用地址:s3c2440 存储系统和I/O空间 认识

上一篇:基于LPC1114的学习型红外遥控器
下一篇:ARM3级流水和5级流水为什么都是PC=PC+8

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

S3C2440外部中断之按键中断
要做2440的中断实验。首先要了解ARM的中断体系结构。ARM体系CPU有七种工作模式。分别是: 用户模式(usr):ARM处理器正常程序执行状态。 快速中断模式(fiq):用于高速数据传输或通道处理。 中断模式(irq):用于通用的中断处理。 管理模式(svc):操作系统使用的保护模式。 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 系统模式(sys):运行具有特权的操作系统任务。 未定义指令终止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。 此外,ARM体系的CPU有两种工作状态,分别是:ARM状态、Thumb状态。 实际上,CPU一
[单片机]
<font color='red'>S3C2440</font>外部中断之按键中断
s3c2440的GPIO驱动
S3C2440包含有130多个通用的GPIO,同时这些端口也拥有一些复用功能(如ADC输入),有部分端口只能输入,有部分端口只能输出,今天我们来看看如何设置一个GPIO的输出电平以及如何获取一个端口的GPIO电平 对GPIO进行操作分为以下几步 1. 功能设置,GPXCON寄存器,针对于2440addr.h,分别为 rGPACON, rGPBCON, rGPCCON, rGPDCON, rGPECON, rGPFCON, rGPGCON, rGPHCON, rGPJCON 通过设置不同的值来选着不同的功能,输入,输出,复用,等 2. 数据读写,GPXDAT寄存器,在输入模式下,dat寄存器相应位代表相应引脚的当前电
[单片机]
s3c2440的时钟详解
s3c2440 cpu的默认工作主频有两种12MHz和16.9344MHz,也就是我们的晶振的频率,但一般12MHz的晶振用的比较多,Fin就是指我们接的晶振频率。大家都知道s3c2440上电正常工作后频率是远远大于12MHz和16.9344MHz的,我们的s3c2440的cpu正常工作时的频率就是405MHz,因此这就需要一个电路来提升频率,在s3c2440的datasheet中找到了这个电路,下面这个就是PLL电路: 由图中可以看出,Fin进去后,经过PLL电路,最终输出两个PLL信号频率即MPLL和UPLL,这两个又是什么呢 UPLL是专用于USB设备的,MPLL是用于CPU及外围电路的,不清楚,还是得找s3c2440的
[单片机]
<font color='red'>s3c2440</font>的时钟详解
S3C2440-IIC
[单片机]
基于S3C2440处理器拳击娱乐系统设计
引 言 拳击娱乐系统是为满足广大群众的需要而设计,目前市场上还没有模拟真人的对抗性的拳击娱乐设备,该系统的出现使人们从枯燥的锻炼中摆脱出来,能够主动地投入到娱乐中。在人形靶的头部正面和胸部正面各安装一个击打气袋和压力传感器,当语音提示可以开始击打时,使用者可以全力击打头、胸部,同时ARM9处理器采集相应的击打数据,在人形靶上安装有自动出击拳装置。 该系统选用了Samsung公司的16/32位RISC处理器S3C2440,由于该处理器价格低、功耗小、性能高,从而降低了整个系统的成本,便于市场的推广。 在用户界面的设计上,采用目前流行的Qt/Embedded,使显示界面更直观,操作更方便。Qt/Embedded丰富的控件资源和较好的
[单片机]
基于<font color='red'>S3C2440</font>处理器拳击娱乐系统设计
s3c2440裸机之中断向量的写法(一)
直接使用跳转指令(B) b reset b undefined_instruction b software_interrupt b prefetch_abort b data_abort b not_used b irq b fiq /* ... */ 反汇编后是这个样子的(链接时的起始地址为0x33f80000): 33f80000 .text : 33f80000: ea000006 b 33f80020 reset 33f80004: ea000006 b 33f80024 undefined_instruction 33f80008: ea000006 b 33f80028 software_interrupt 3
[单片机]
s3c2440裸机-电阻触摸屏编程(1.电阻触摸屏原理)
一、电阻触摸屏原理 触摸屏包含上下叠合的两个透明层,一般覆盖在lcd表面,两个透明层是由均匀的电阻介质组成,如下图。 当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间的薄膜会产生接触,此时会形成x方向和y方向的坐标。那么x,y坐标的值是怎么得来的呢?本质上就是通过ADC转换得来的。详解如下: 触摸屏的等效电路可以看成如下图: 计算触点的X,Y坐标分为如下两步(见下图): 1.计算Y坐标: 在Y+电极施加驱动电压Vdrive, Y-电极接地,由于上下两层膜形成触点,X+做为触点的引出端,测量得到接触点的电压,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。如下图: 2.计算X坐标: 在X+电
[单片机]
<font color='red'>s3c2440</font>裸机-电阻触摸屏编程(1.电阻触摸屏原理)
LSI 面向中端客户推出低成本高性能存储系统
  LSI 公司 (NYSE: LSI) 日前宣布推出 LSI™ Engenio® 4900 存储系统,该新一代中端磁盘存储系统旨在以低成本实现最佳性能、高动态灵活性以及高级功能。系统的多协议连接性和模块化架构支持8Gb/s光纤通道 (8G FC) 和 1Gb/s iSCSI 主机接口,有助于降低采购及运营成本,同时还能满足服务器和存储整合的需求。   “在当前充满挑战的经济环境中,IT 机构面临着既要控制成本、同时又要满足数据量快速增长要求的严峻挑战。满足上述要求的关键在于部署理想的存储解决方案,以便在无需进行大规模基础设施升级的情况下大幅提高效率及性能。”IDC 存储系统与 IT 执行战略部副总裁 Richard Villa
[工业控制]
LSI 面向中端客户推出低成本高性能<font color='red'>存储系统</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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