TQ2440开发板存储器
TX2440A与TQ2440A开发板使用核心板完全相同
有过51单片基础的同学应该都会看懂下图,先看下图,对实验板存储器分布有一个整体印象:
s3c2440存储器概述:
1、S3C2440A的存储器管理器提供访问外部存储器的所有控制信号
2、27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等
3、总共有8个存储器bank(bank0—bank7)
bank0---bank5为固定128MB
bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB
最大共1GB
4、bank0可以作为引导ROM
其数据线宽只能是16位和32位,其它存储器的数据线宽可以是8位、16位和32位
5、7个固定存储器bank(bank0-bank6)起始地址
bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等
6、所有存储器bank的访问周期都是可编程的
7、支持SDRAM的自刷新和掉电模式
8、支持大小端(软件选择)

NANDFLASH启动: OM1=0 OM0=0
NORFLASH启动: OM1=0 OM0=1
开发板硬件:
TQ2440A开发板使用的SDRAM:
型号:K4S561632(两片)
大小:
4M * 16bit * 4banks * 2片= 512 bit = 64M 字节
数据宽度:32 bit
连接在BANK6上,片选信号nGCS6
地址范围:0x3000_0000—0x33FF_FFFF
有四个逻辑BANK(L-BANK)
由BA1、BA0选择
行地址数:13
列地址数:9
SDRAM存储区分布:
0x3000_0000~0x3100_0000程序代码区、文字常量区
0x33ff_0000~0x33ff_4800堆区
0x33ff_4800~0x33ff_8000栈区
0x33ff_ff00~0x3400_0000偏移中断向量表
SDRAM配置寄存器:

NOR FLASH (EN29LV160AB):
大小:2M
数据宽度:16bit
连接在BANK0上,片选信号nGCS0
地址范围:0x0000_0000---0x0020_0000
特点:
线性寻址
可直接按地址进行读写操作
写操作之前需进行擦除操作
写入、擦除速度较慢,读取速度较快,单位密度低、成本较高
NAND FLASH(K9F2G08)
大小:256M * 8Bit
数据宽度:8位
地址范围:有专门的时序控制总线,不占用系统总线资源
特点:
非线性寻址
读操作,一次必须读一个扇区(512字节)
写操作,可按指定地址直接写入
写之前必须进行擦除操作
单位密度高、成本低、擦除速度快
存储空间组织:(256M+8M)×8bit
数据空间: 2planes×1kblocks×64pages×2048Byte
寄存器空间: 2planes×1kblocks×64pages×64Byte
自动编程和擦除
页编程:(2048+64)Byte
块擦除:(128K+4K)Byte
2112Byte 页读取操作

NAND FLASH 启动方式:
1、2440内部有一个叫做“起步石(Steppingstone)” 的 SRAM缓冲器
2、系统启动时Nand flash存储器的前面4K字节被自动拷贝到Steppingstone中
3、Steppingstone被映射到nGCS0对应的BANK0存储空间
4、CPU在Steppingstone的4-KB内部缓冲器中开始执行引导代码
5、引导代码执行完毕后,自动跳转到SDRAM执行
管脚配置:
D[7:0] : 数据/命令/地址/的输入/输出口(与数据总线共享)
CLE : 命令锁存使能 (输出)
ALE : 地址锁存使能(输出)
nFCE : NAND Flash 片选使能(输出)
nFRE : NAND Flash 读使能 (输出)
nFWE : NAND Flash 写使能 (输出)
R/nB : NAND Flash 准备好/繁忙(输入)
控制寄存器:

NAND FLASH 操作步骤:
1、通过NFCONF寄存器配置NandFlash;
2、写NandFlash命令到NFCMMD寄存器;
3、写NandFlash地址到NFADDR寄存器;
4、写数据到NFDATA,或从NFDATA读数据;
5、在读写数据时,通过NFSTAT寄存器来获得Nand flash的状态信息。应该在读操作前或写入之后检查R/nB信号(准备好/忙信号)
6、在读写操作后要查询校验错误代码,对错误进行纠正
寻址:
对于K9F1208(64M)
Block Address 块地址 A[25:14]
Page Address 页地址 A[13:9]
Column Address 列地址 A[7:0]
A8是halfpage pointer
被读命令00h设为低电平 访问A区(0~255byte)
被读命令01h设为高电平 访问B区(256~511byte)
50h访问C区(512~527byte)
地址传送顺序是:列地址,页地址,块地址
TQ2440开发板存储器的更多相关文章
- 运行在TQ2440开发板上以及X86平台上的linux内核编译
一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...
- 基于TQ2440开发板的WiFi模块的使用经验总结
一.软.硬件资源准备: 内核版本:linux-2.6.30.4 交叉编译器版本:4.3.3 wpa_supplicant工具:wpa_supplicant-0.7.3.tar ; openssl-0. ...
- TQ2440开发板挂载U盘出现乱码
解决方法:配置内核 make menuconfig File Systems ---> DOS/FAT/NT Filesystems ---> (utf8) D ...
- tq2440开发板基本配置
时钟配置及分配 tq2440的晶振频率是12MHz,在uboot中有如下语句: #define S3C2440_CLKDIV 0x05 /* FCLK:HCLK:PCLK = 1:4:8, UCL ...
- 【转】深度分析NandFlash—物理结构及地址传送(以TQ2440开发板上的K9F2G08U0A为例)
K9F2G08U0A是三星公司生产的总容量为256M的NandFlash,常用于手持设备等消费电子产品.还是那句话,搞底层就得会看datasheet,我们就从它的datasheet看起. 这就是 K9 ...
- 在TQ2440开发板上ping 127.0.0.1不通
问题:在TQ2440上ping 127.0.0.1,提示错误 ping: sendto: Network is unreachable 解决方法:ifconfig lo 127.0.0.1 up ...
- TQ2440开发板网络配置方式
一.命令行模式 1.设置IP.子网掩码(netmask) #ifconfig eth0 <IP地址> netmask <子网掩码> up up 表示开启网卡eth0,可以不加 ...
- 把Linux目录挂载到开发板、设置开发板从NFS启动、取消开发板从NFS启动
声明:文中"PC虚拟机Linux"是指在PC上安装了虚拟机,然后在虚拟机中装的Linux. 关于NFS的详细介绍可参考:http://www.cnblogs.com/nufangr ...
- AC6102开发板USB3.0测试和使用说明
AC6102开发板USB3.0测试和使用说明 概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲, ...
随机推荐
- TC-572-D1L2 (双向搜索+记忆化)
solution: 这一题是比较难实现的双向搜索题:(字符串+双向搜索+hash记忆化) 我们可以先把K的前半部分枚举出来,并将得出的所有结果和题目给的n个数的每一个数的前半部分都比对一遍,得到它和每 ...
- NOIP2016-D2-T2 蚯蚓(单调队列)
构建三个单调队列(用STL),分别储存未切的蚯蚓,切后的第一段,切后的第二段,即可简单证明其单调性. 证明:设$q$为单调队列$\because a_1 \geqslant a_2 \geqslant ...
- Manacher's Algorithm 马拉车算法
作用:求一个字符串中的最长子串,同时还可以求所有子串的长度. 题目链接: https://vjudge.net/contest/254692#problem/B 代码: #include<bit ...
- 基于I2C总线的0.96寸OLED显示屏驱动
资料未整理,先占位置,以后补充
- 大数据系列之分布式计算批处理引擎MapReduce实践-排序
清明刚过,该来学习点新的知识点了. 上次说到关于MapReduce对于文本中词频的统计使用WordCount.如果还有同学不熟悉的可以参考博文大数据系列之分布式计算批处理引擎MapReduce实践. ...
- [HNOI2007]梦幻岛宝珠 「套路:分层 $DP$」
显然直接 \(01\) 背包会超时并且超空间 套路:分层 \(DP\) 「考虑将每个子结构看作一层(也就是包含了不止 \(1\) 个物品的信息),并且大层不会对小层造成影响,可以考虑先进行每一层的自我 ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- 数组的splice方法
splice 该方法向或者从数组中添加或者删除项目,返回被删除的项目,同时也会改变原数组. splice(index,howmany,item1,...itemX) index参数:必须,整数,规定添 ...
- django和flask关于oralce数据库配置
Django中关于Oracle数据库配置 # 使用SERVICE_NAME DATABASES = { 'default': { 'ENGINE': 'django.db.backends.oracl ...
- vscodes使用(一): 常用插件,在线与离线安装
一.常用插件 1.Live server 浏览器实时刷新 插件安装成功后,会在底部工具栏中,显示个Go Live *.html文件,点击右键,可以看到live server两条指令 2.Esasy ...
