ARM 2440 Nand Flash 控制器 中文资料
ARM--2440

最後,打開S3C2440開發平台的電源,此時,剛剛燒 進NAND FLASH的BIOS程式就會啟動執行。
嵌入式系統概論-以S3C2440核心為架構 copyright @ 許永和
6.5 用sjf2440工具將BIOS燒錄至Nor Flash
6.1 2440開發平台的配置與連接 6.2 開發平台連接至PC主機 6.3 S3C2440開發平台初步測試 6.4 BIOS 燒錄測試 6.5 用sjf2440工具將BIOS燒錄至Nor Flash
嵌入式系統概論-以S3C2440核心為架構 copyright @ 許永和
燒錄完畢後注意事項
燒錄後該做的動作
關閉電源,拔掉JTAG插頭,將J21(OM0)的JUMP接上, 將PC的UART串列介面和實驗板UART串列介面2透過 UART串列介面線連接好。 在PC主機上啟動DNW程式,設定DNW初始化動作,並執 行Connect 。
嵌入式系統概論-以S3C2440核心為架構 copyright @ 許永和
確認燒錄驅動程式安裝
圖6.30 GIVEIO驅動安裝成功畫面
先選“InStall Parallel Port Driver”欄下的“Remove” 按紐,然後再點選該項目下的“Install”按紐。 如圖6.30則顯示出“Service is installed and run”,表 示GIVEIO驅動程式已安裝成功。
實驗板相關跳線設定
啟動模式的選擇,是透過J21(OM0)跳線來決定的。
J21接上JUMP,從NAND FLASH啟動。 J21接上JUMP,從NOR FLASH啟動。
J21處於短路狀態。
出廠時實驗板的起動代碼置於NAND FLASH中。
ARM samsung 2440中文手册 s3c2440a_16ADC&TSC

第十六章ADC和触摸屏接口16.1概述10位CMOS的ADC(模数转换器)是有8通道模拟输入的循环类型设备。
其转换模拟输入信号到10位的数字编码,最大的转换率是在2.5MHz转换时钟下达到500KSPS。
AD转换器支持片上采样和保持功能及掉电模式。
触摸屏接口可以控制或选择触摸屏触点用于XY坐标的转换。
触摸屏接口包括触摸触点控制逻辑和有中断产生逻辑的ADC接口逻辑。
16.2特点-分辨率:10位-微分线性误差:±1.0LSB-积分线性误差:±2.0LSB-最大转换速率:500KSPS-低功耗-供电电压:3.3V-输入模拟电压范围:0~3.3V-片上采样保持功能-普通转换模式-分离的XY坐标转换摸-自动连续XY坐标转换模式-等待中断模式16.3ADC及触摸屏接口操作模块图如图16-1所示AD转换器和触摸屏接口的功能模块图。
注意AD转换器设备是一个循环类型。
注意(图标)当触摸屏接口使用时,XM或PM应该接触摸屏接口的地。
当触摸屏设备不使用时,XM或PM应该连接模拟输入信号作为普通ADC转换用。
16.4功能描述16.4.1AD转换时间当GCLK频率为50MHz和预分频器(预定标器)值为49,总共10位转换时间如下:AD转换器频率=50MHz/(49+1)=1MHz转换时间=1/(1MHz/5cycles)=1/200KHz=5us注:AD转换器设计在最大2.5MHz时钟下工作,所以转换率最高达到500KSPS。
16.4.2触摸屏接口模式(1)正常转换模式单个转换模式可能多数是使用在通用目的的ADC转换。
该模式可以通过设置ADCCON(ADC控制寄存器)来初始化并且完成对ADCDAT0的读写操作(ADC数据寄存器0)。
(2)分离XY坐标转换模式触摸屏控制器可以在两种转换模式中的一种模式下操作。
分离的XY坐标转换模式由以下方法操作。
X坐标模式写X坐标转换数据到ADCDAT0,触摸屏接口产生中断源到中断控制器。
第9课 ARM2440概述与存储器控制器~总结笔记

第9课 S3C2440概述及其存储器控制器作者:☆翔子★各位兄弟姐妹,大家好!第9课的的总结笔记,来了。
这次和大家聊聊2440的一些东西,还有它的存储器控制器。
关于S3C2440这个芯片,其实说实话,它不是一款工业级别的芯片,只能用在电子消费类的应用场合。
真正牛的ARM芯片,AT91做的比2440稳定一些。
但是2440比AT火。
为啥呢?因为大部分的高校,开的ARM课程,都是从三星的44B0开始的,然后开2410的课程。
2440自然就成了2410的替代品。
但是对于我们来说,无所谓。
我们学的是嵌入式系统的开发流程,学的嵌入式linux,wince。
那么,2440足够。
这是一款32位的cpu,照理说,它是可以寻址4G的地址空间的。
但是,芯片引脚上,只给出了27根地址线。
这27根引脚,是A0~A26。
因此单靠芯片上的27根引脚,它只能控制128M的空间。
那总共的4G空间,芯片引脚才用了128M,剩下的在哪里?实际上,在cpu芯片手册上,查它的内部寄存器的地址,我们可以找到一部分答案。
比如这次总结笔记要讲的存储器控制寄存器,13个寄存器,每个寄存器的地址,都大于0X4000 0000的地址。
而0x4000 0000这个地址,是1G空间的分界线。
也就是说,1G~3G之间的空间,实际上都是被芯片自己占用了。
实际上,给用户的使用的空间,只有1G.。
我们刚才说了,我们使用了128M,用了27根地址线。
而1G空间,需要30根地址线。
剩下的3根用在什么地方?查了资料,突然明白了。
这三根,被三星公司偷偷地用在了3-8译码器的输入端去了。
而这个3-8译码器的输出端,就是对应这nGCS 0~7,对应着8个bank。
好了,很明显了,三星的2440留给用户使用的这1G空间,27根线用于芯片引脚来控制具体的bank了,剩下的三根,用于选择当前处于哪个bank。
另外,说到这个地址线,我想起2440与SDRAM芯片连接的时候,地址线的连接还是有点说法的。
ARM9 GT2440

GT2440 简要评测昨天笔者收到了由GT 工作室寄来的arm9开发板样品,型号为GT2440。
此款配置为S3C2440 400MHz主控器,2MB Norflash,64MB Nand flash和64MB SDRAM。
由于笔者是电子爱好者,喜欢自己动手做些东西,因此用过不少开发板。
现在就让我们看看这款名为GT2440的arm9开发板有什么特别之处。
一外观篇先来看看包装盒,这是专门为这款型号设计的打开包装,里面的开发套件及配件取出开发套件。
此开发套件自带一个3.5寸的触摸液晶屏,并配有白色透明液晶面板,颇有时尚感。
再来看一下附件,USB线,串口线,网线,电源,JTAG板,光盘及触摸笔。
由图片中可以看到,GT2440所带的数据线均为一性压铸而成的,保证了质量。
同时USB也采用了2.0的高速数据线。
在竞争日益激烈的市场环境下,不少开发板厂商都在配件上压缩成本,从此款开发套件所带的附件,可以看出该厂商一贯宣称的品质路线。
二软件篇看完了硬件,再看一下软件。
此开发套件支持linux和wince5.0操作系统,与市面上其他的开发板类似,在此就不多加介绍,以下为运行画面。
在拿到开发板之前,笔者就听厂商介绍此款开发套件有区别与其他开发套件的独门绝技,下面就让我们来看一看到底有何独特之处?从宣传资料上了解到,厂商为这款开发套件开发了一个特有的SPS游戏系统。
根据手册上的操作,笔者为这款开发板装上了该游戏系统。
在烧写过程中,笔者留意到这样一个小细节。
用过arm9开发板的人都知道,开发板一般带有Nor flash和Nand flash,通过跳线在二者之间切换启动,此款开发板也不例外,值得注意的是,此款开发板已经用导线将开发板上的跳线引至液晶驱动板底面的微型拨动开关,这样,不用拆下液晶就能在二者之间切换。
这样的人性化设计还是值得肯定的。
开机画面系统启动后,画面提示插入游戏卡。
根据说明手册,将光盘中的游戏目录拷贝至SD卡,插入开发板上的SD卡插。
s3c2440芯片中文手册2

第二章处理器工作模式2.1概述S3C2440采用了非常先进的ARM920T内核,它是由ARM(Advanced RISC Machines) 公司研制的。
2.2 处理工作状态从程序员的角度上看,ARM920T可以工作在下面两种工作状态下的一种:● ARM 状态:执行32位字对齐的ARM指令● THUMB 状态:执行16位半字对齐的THUMB指令。
在这种状态下,PC 寄存器的第一位来选择一个字中的哪个半字注意;这两种状态的转换不影响处理模式和寄存器的内容。
2.3 切换状态进入THUMB 状态进入THUMB 状态,可以通过执行BX指令,同时将操作数寄存器的状态位(0位)置1来实现。
当从异常(IRQ,FIQ,UNDEF,ABORT,SWI等)返回时,只要进入异常处理前处理器处于THUMB状态,也会自动进入THUMB状态。
进入ARM状态进入ARM状态,可以通过执行BX指令,并且操作数寄存器的状态位(0位)清零来实现。
当处理进入异常(IRQ,FIQ,RESET,UNDEF,ABORT,SWI等)。
这时,PC值保持在异常模式下的link寄存器中,并从异常向量地址处开始执行处理程序。
存储空间的格式ARM920T将存储器空间视为从0开始由字节组成的线性集合,字节0到3中保存了第一个字节,字节4到7中保存第二个字,以此类推,ARM920T对存储的字,可以按照小端或大端的方式对待。
大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放2.4 指令长度指令可以是32位长度(在ARM状态下) 或16位长度(在THUMB状态) 。
数据类型ARM920T支持字节(8位),半字(16位) 和字(32位) 数据类型。
字必须按照4字节对齐,半字必须是2字节对齐。
2.5 操作模式ARM920T支持7种操作模式:● 用户模式(user模式),运行应用的普通模式● 快速中断模式(fiq模式),用于支持数据传输或通道处理● 中断模式(irq模式),用于普通中断处理● 超级用户模式(svc模式),操作系统的保护模式● 异常中断模式(abt模式),输入数据后登入或预取异常中断指令● 系统模式(sys模式),使操作系统使用的一个有特权的用户模式● 未定义模式(und模式),执行了未定义指令时进入该模式]外部中断,异常操作或软件控制都可以改变中断模式。
S3C2440芯片内部结构

S3C2440芯片内部结构首先是ARM920T内核,它是S3C2440芯片的核心部分,负责执行指令和进行数据计算。
ARM920T是ARM9系列的一款高性能内核,具有5级流水线结构,支持高级数据处理指令和多种存储器接口。
它的内置缓存和分支预测机制可以提高执行效率,充分发挥芯片的计算能力。
其次是外设控制器,S3C2440芯片内置了多个外设控制器,包括UART串口、SPI、I2C总线、USB等接口,以及LCD控制器、触摸屏控制器、MMC/SD卡控制器等功能模块。
这些控制器可以与各种外部设备进行通信和数据交互,为系统提供了丰富的接口和功能。
存储器接口是S3C2440芯片与外部存储器之间的桥梁,它可以连接闪存、SDRAM、NAND Flash等不同类型的存储器。
通过存储器接口,芯片可以读写存储器中的数据,并进行程序的存储和执行。
S3C2440提供了高速的存储器控制器和多种存储器接口,可以满足不同应用场景的需求。
时钟和电源管理模块是S3C2440芯片的核心组成部分,它负责提供系统时钟和电源管理功能。
时钟管理模块可以根据需要设置系统的工作频率,提供外设时钟和CPU时钟等。
电源管理模块可以对芯片的功耗进行控制,实现节能和延长电池寿命。
除了上述主要模块外,S3C2440芯片还具有其他辅助功能,如中断管理、DMA控制、中央处理器监视器等。
中断管理模块可以对外部中断信号进行处理,实现系统的实时响应。
DMA控制模块可以实现高速数据传输,减轻CPU负担。
中央处理器监视器模块可以对系统进行监控和调试,提高系统的可靠性和稳定性。
总结起来,S3C2440芯片的内部结构包括ARM920T内核、外设控制器、存储器接口、时钟和电源管理等模块。
这些模块相互协作,共同完成系统的计算、通信、存储和控制等任务。
有了这些丰富的硬件资源和功能,S3C2440芯片可以满足不同应用领域的需求,为嵌入式系统的开发和应用提供了良好的支持。
s3c2440工作原理

s3c2440工作原理
S3C2440是一款ARM11核心的微处理器,其工作原理可以概括为以下几
个方面:
1. 地址空间管理:S3C2440的存储器控制器具有大小端模式选择、可编程
的访问位宽、8个存储器banks等特点。
每个bank有128M 的字节(总
共1G字节/8个banks)。
其中,前6个存储器bank(bank0-bank5)可以是ROM、SRAM等类型的存储器,而后两个存储器bank(bank6-
bank7)则可以作为ROM、SRAM、SDRAM等类型的存储器。
2. 数据传输方式:S3C2440提供了三个UART端口,每个UART端口都可以通过查询、中断和DMA方式传输数据。
当发送数据时,CPU先将数据写入发送FIFO中,然后UART会自动将FIFO中的数据复制到“发送移位器”中,发送移位器将数据一位一位地发送到TXDn数据线上。
接收数据时,“接收移位器”将RXDn数据线上的数据一位一位地接收进来,然后复制到接收FIFO中,CPU即可从中读取数据。
3. 寄存器配置:S3C2440的UART有3个独立通道,每个通道支持的停止位有1位、2位,数据位有5、6、7、8位,支持校验功能,另外还有红外发送/接收功能。
这些功能通过相应的寄存器进行配置。
以上信息仅供参考,如需了解更多信息,建议查阅S3C2440的硬件手册或相关技术文档。
S3C2410中文手册第7章_时钟及电源管理模块

第七章时钟及电源管理模块时钟电源管理模块包含了3部分:Clock控制、USB控制、POWER控制.时钟控制逻辑单元能够产生s3c2440需要的时钟信号,包括CPU使用的主频FCLK,AHB总线设备使用的HCLK,以及APB总线设备使用的PCLK.2440内部有2个PLL(锁相环):一个对应FCLK、HCLK、PCLK,另外一个对应的是USB使用(48MHz)。
时钟控制逻辑单元可以在不使用PLL情况下降低时钟CLOCK的频率,并且可以通过软件来驱使时钟和各个模块的连接/断开,以减少电源消耗。
对于电源控制逻辑单元,2440有许多钟电源管理方案来针对所给的任务保持最优的电源消耗。
S3c2440中的电源管理模块对应4种模式:NORMAL模式、SLOW模式,IDLE模式,SLEEP 模式。
NORMAL模式:这个模块给CPU时钟以及2440相应的外围设备提供时钟。
这个模式下,当所有的外围设备都被打开,电源消耗被最大化。
它允许用户通过软件来控制外部设备的操作。
例如,如果一个定时器不需要时,那么用户可以通过CLKCON寄存器来关闭时钟和定时器的连接,来降低电源消耗。
SLOW模式:NON-PLL模式,不同于Normal模式,这个模式使用的一个外部时钟(XTlpll 或EXTCLK)来直接作为2440的主频FCLK,而没有使用PLL。
在这个模式下,电源的消耗仅依赖于外部时钟频率,电源同PLL有关的消耗可以被排除。
IDLE模式:这个模式下CPU的时钟FCLK被断开,而还继续提供其他外围设备的时钟。
因此空闲模式导致减少了CPU核相应的电源消耗。
任何中断请求都能够将CPU唤醒。
Sleep模式:这个模式断开了内部电源。
因此在这个模式下CPU&内部的逻辑单元都没有电源消耗,除了一个wake-up逻辑单元。
激活sleep模式需要2个独立的电源。
一个给wake-up逻辑模块提供电源,另外一个给内部逻辑包括CPU提供电源,并且其是对于poweron/off可控的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0:页=256 字(NCON=0)或页=1K字(NCON=1)
1:页=512 字节(NCON=0)或页=2K字节(NCON=1)
GPG14:
NAND Flash存储器地址周期选择
0:3 个地址周期(NCON=0)或 4 个地址周期(NCON=1)
S3C2440A 中文 Datasheet 第六章 Nand Flash 控制器
位[7:0] 1st I/O[7:0]
6.2.7 Steppingstone (4k 字节 SRAM)
NAND Flash 控制器使用 NAND Flash 作为启动缓冲器且你可以将这个区域用作其他用途。
6.2.8 ECC(错误纠错码)
NAND Flash 控制器包括 4 个 ECC(错误接错码)模块。两个模块(一个用于 data[7:0],一个用 于 data[15:8])可以被用于(上限)2048bytes 的 ECC 奇偶码的生成,另外两个模块(一个 用于 data[7:0],一个用于 data[15:8])可以被用于(上限)16bytes 的 ECC 奇偶校验码的生
(2) 8 位 NAND Flash 存储器接口
寄存器
位[31:24]
位[23:16]
NFMECCD0
-
2nd ECC for I/O[7:0]
NFMECCD1
-
4th ECC for I/O[7:0]
位[15:8] -
位[7:0] 1st ECC for I/O[7:0] 3rd ECC for I/O[7:0]
6.2.3 引脚配置
OM[1:0]=00:使能NAND Flash存储器启动
NCON:
NAND Flash存储器选择
0:普通NAND Flash(256 字/512 字节页大小,3/4 地址周期)
1:先进NAND Flash(1K字/2K字节页大小,4/5 地址周期)
GPG13:
NAND Flash存储器页容量选择
6.2.4 NAND Flash 存储器时序
NCON0 0 1
GPG13 1 0
GPG14 1 1
GPG15 0 1
S3C2440A 中文 Datasheet 第六章 Nand Flash 控制器
联系信箱: admin@ Forum: /
S3C2440A 中文 Datasheet 第六章 Nand Flash 控制器
联系信箱: admin@ Forum: /
第六章 Nand Flash 控制器
6.1 概述
目前,Nor Flash 价格较高,而 SDRAM 和 Nand Flash 存储器相对经济,这样促使一些用户在 NAND Flash 上执行启动代码,在 SDRAM 上执行主程序。
位[7:0] 1st ECC for I/O[7:0] 3rd ECC for I/O[7:0]
寄存器 NFSECCD
位[31:24] 2nd ECC for I/O[15:8]
位[23:16] 2nd ECC for I/O[7:0]
位[15:8] 1st ECC for I/O[15:8]
位[7:0] 1st ECC for I/O[7:0]
S3C2440A 中文 Datasheet 第六章 Nand Flash 控制器
6.2.1 模块图
联系信箱: admin@ Forum: /
6.2.2 Boot loader 功能
在重启期间,NAND Flash控制器通过引脚状态得到连接 NAND Flash的信息(NCON(Adv flash), GPG13(页大小), GPG14(地址周期), GPG15(总线宽度)–参考引脚配置)。在上电 或重启以后,NAND Flash控制器自动的装载 4KB的boot loader代码。在装载boot loader代码 后,其在steppingstone中被执行。 注:在自动重启期间,ECC没有检查,因为NAND Flash的前 4KB数据一般认为没有位错 误。
寄存器 NFSECCD
位[31:24]
位[23:16]
-
2nd ECC for I/O[7:0]
位[15:8]
位[7:0]
-
1st ECC for I/O[7:0]
6.2.8.3 ECC 编程指引
(1)在软件模式下,ECC 模块为所有的读写数据生成 ECC 奇偶码。因此你通过写 InitECC 位(NFCONT[4])置 1 来重置 ECC 的值,且在读写数据之前清 0 theMainECCLock 位 (NFCONT[15])。
6.2.6 数据寄存器配置
(1)16 位NAND Flash存储器接口
A.字访问
寄存器
大小端
位[31:24]
NFDATA 小端
2nd I/O[15:8]
NFDATA 大端
1st I/O[15:8]
位[23:16] 2nd I/O[7:0] 1stI/O[7:0]
位[15:8] 1stI/O[15:8] 2nd I/O[15:8]
在通常状态下,这些引脚必须被设置为输入以至于当通过软件方式进入睡眠模式或异
常
状态时,引脚状态不会被改变。
NAND Flash 存储器配置表
NCON0
GPG13
0: Normal NAND
0: 256Words
1: 512Bytes
1: Advance NAND 0: 1Kwords
1: 2Kbytes
联系信箱: admin@ Forum: /
1:4 个地址周期(NCON=0)或 5 个地址周期(NCON=1)
GPG15
NAND Flash存储器总线宽度选择
0:8 位总线宽度
1:16 位总线宽度
注:NCON,GPG[15:13]引脚配置在重启期间被?
位[23:16]
NFMECCD0 2nd ECC for
2nd ECC for
I/O[15:8]
I/O[7:0]Βιβλιοθήκη NFMECCD1 4th ECC for
4th ECC for
I/O[15:8]
I/O[7:0]
位[15:8] 1st ECC for I/O[15:8] 3rd ECC for I/O[15:8]
DATA2 P4' P32'
DATA1 P2 -
DATA0 P2' -
6.2.8.1 ECC 模块特点
ECC 生成由控制寄存器的 ECC 锁位(主 ECC 锁、空闲 ECC 锁)来控制。
6.2.8.2 ECC 寄存器配置(大小端)
(1)16 位 NAND Flash 存储器接口
寄存器
位[31:24]
6.2.5 软件模式
s3c2440A仅支持软件模式访问。使用此模式,你可以完整的访问NAND Flash。NAND Flash控制器支持NAND Flash存储器的直接访问接口。 (1)写命令寄存器=NAND Flash存储器命令周期 (2)写地址寄存器=NAND Flash存储器地址周期 (3)写数据寄存器=写数据到NAND Flash(写周期) (4)读数据寄存器=从NAND Flash读数据(读周期) (5)读主ECC寄存器和空闲ECC寄存器=从NAND Flash存储器读数据 注:在软件模式中,你必须用查询或中断来检测RnB状态输入引脚。
一般情况下,启动代码会拷贝 NAND Flash 上的内容到 SDRAM。使用硬件的 ECC,NAND Flash 的数据被检查。在完成拷贝的基础上,主程序将在 SDRAM 上被执行。
6.2 特性
(1)自动启动:启动代码在重启时被传输到 4kbytes 的 Steppingstone 上。传输后代码会在 Steppingstone 上被执行
(2)NAND Flash 存储器接口:支持 256 字、512 字节、1000 字和 2000Byte 页 (3)软件模式:用户可以直接访问 NAND Flash,例如这个特性可以被用于对 NADN Flash
存储器的读/擦除/编程。 (4)接口:8/16 微的 NADN Flash 存储器接口总线 (5)硬件 ECC 生成,检测和指示(软件纠错) (6)SFR 接口:支持小端模式,对于数据和 ECC 数据寄存器的字节/半字/字访问,对于其 他 寄存器的字访问。 (7)Steppingstone 接口:支持大小端,字节/半字/字访问 (8)Steppingstone 4kB 内部 SRAM 缓冲器可以在 NAND Flash 启动后被用于其他目的。
(2)不管读还是写数据,ECC 模块在寄存器 NFMECC0/1 上生成 ECC 奇偶码。 (3)在你完整的读写一页后(不包括空闲区域数据),theMainECCLock 位置 1(锁 定)。ECC
奇偶码被锁定且 ECC 状态寄存器的值不会被改变。 (4)生成空闲区域 ECC 奇偶码,清 0(非锁定)SpareECCLock 位(NFCONT[6])
注:
GPG14 0: 3-Addr 1: 4-Addr 0: 4-Addr 1: 5-Addr
GPG15 0:8-bit bus width
1: 16-bit bus width
例:NAND Flash配置设置
部件
页大小/总大小
K9S1208V0M-xxxx 512Byte/512Mbit
K9K2G16U0M-xxxx 1KW / 2Gbit
s3c2440A 的驱动代码可以在外部的 NAND Flash 存储器上被执行。为了支持 NAND Flash 的 boot loader,s3c2440A 配备了一个内部的 SRAM 缓冲器名为“Steppingstone”。启动时, NAND Flash 上的前 4KByte 字节将被装载到 Steppingstone 上别且装载到 Steppingstone 上的 启动代码会被执行。