ARM与Flash ROM

原文地址:http://wuxu833.blog.163.com/blog/static/17214471720109106511331/

以ARM为核心的嵌入式设备,是一种以计算机为核心的产品,必须要有存储软件的存储器。单片机中软件存储在单片机芯片内的ROM存储器中,单片机的ROM容量很小,一般都小于1MBytes,所以ROM集成在芯片内。PC机要求的ROM比较大,主板上启动计算机用的BIOS存储在主板上一片1MBytes左右的Flash ROM中,操作系统和应用程序存储在硬盘中。ARM产品因为体积的缘故,通常都不用硬盘,但软件的体积一般都在几MBytes以上,通常在芯片外扩展联接容量较大的Flash ROM存储软件。

Flash ROM分为两种:NOR Flash ROM 和 NAND Flash ROM。NOR Flash ROM 用法类似于SDRAM 内存,有地址总线、数据总线、控制总线,但是容量比较小,价格贵。NAND Flash ROM用法完全不同于SDRAM内存,容量大,价格便宜,现在的U盘实际上都是用NAND Flash ROM  制作的。

根据不同的ARM芯片,使用 Flash ROM 的方法也不尽相同。ARM7 时代,一般使用 NOR Flash ROM,因为软件体积比较小,比如S3C44B0,使用一片2MBytes的NOR Flash ROM,可以放下全部软件:Bootloader、uCLinux内核及文件系统。ARM9的芯片有两种用法:1、有些ARM芯片只能从NOR Flash ROM启动软件,所以扩展两片Flash ROM ,一片NOR Flash ROM存储Bootloader和Linux内核,一片容量大的NAND Flash ROM存储文件系统,常见的有AT91RM9200芯片;2、有些ARM9芯片内有专门的硬件机制,能让Bootloader直接从NAND Flash ROM中启动运行,所以就只需要扩展一片NAND Flash ROM,所有软件都放在这片 NAND Flash ROM 中,常见的有S3C2410、S3C2440。

S3C2440一般扩展联接一片64MBytes以上的NAND Flash ROM芯片,例如 K9F1208。S3C2440能直接从NAND Flash ROM上启动软件的原理是:S3C2440内有一块4KBytes的内置SRAM和NAND Flash ROM的硬件驱动电路,S3C2440上电启动时,将NAND Flash ROM的前4KBytes字节内容拷贝到内置SRAM中,然后运行SRAM中的软件,这样在设计软件时,Bootloader放在NAND Flash ROM的起始处,Bootloader的前4KBytes内容为ARM核心的初始化和NAND Flash ROM的软件驱动,并将整个Bootloader拷贝到SDRAM中运行,Bootloader在SDRAM运行完毕后,再从 NAND Flash ROM 中拷贝Linux内核到SDRAM,然后运行Linux。

NAND Flash ROM芯片(例如K9F1208)的引脚很少,不像SDRAM和NOR Flash ROM那样有专门的地址总线、数据总线、控制总线,而只有8根地址、数据复用的输入/输出线和若干控制线。所以NAND Flash ROM芯片与ARM芯片的联接是专门的方法。

S3C2440和K9F1208的联接方式介绍如下:

1、S3C2440与NAND Flash ROM联接的相关引脚有:数据总线DATA[31:0],OM[1:0],CLE命令锁存,ALE地址锁存,nFCE(NAND Flash 芯片使能)、nFRE(NAND Flash 读使能)、nFWE(NAND Flash 写使能)、NCON(NAND Flash 设置)、FRnB(NAND Flash 芯片状态----就绪/忙),另外还有GPG13、GPG14、GPG15用于 NAND Flash ROM 的设置。

2、K9F1208的引脚:I/O[7:1],CLE、ALE、CE、RE、WE、WP(写保护)、R/B。

3、S3C2440与K9F1208的联接:

        S3C2440                               K9F1208

            DATA[7:0]---------------------I/O[7:0]

            CLE------------------------------CLE

            ALE------------------------------ALE

            nFCE----------------------------CE

            nFRE----------------------------RE

            nFWE----------------------------WE

            FRnB----------------------------R/B

4、特殊引脚

    S3C2440:NCON(1)、GPG13(1)、GPG14(1)、GPG15(0),OM[1:0]要设置成“00”以保证S3C2440从NAND Flash ROM 启动。

    K9F1208:WP(1)

NAND Flash ROM 芯片引脚较少,与ARM芯片的联接比较简单,当然还需要ARM芯片支持 NAND Flash ROM。

NOR Flash ROM 芯片与ARM芯片的联接类似于SDRAM芯片与ARM芯片联接,不再多说。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值