[转]NandFlash和NorFlash的异同

2008-09-23,星期二 | 分类:嵌入式, 转载 | 标签:, , | 113 views
一. NAND和NOR的比较 NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。"flash存储器"经常可以与"NOR存储器"互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。 二.性能比较 flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。 ☆ NOR的读速度比NAND稍快一些; ☆ NAND的写入速度比NOR快很多; ☆ 大多数写入操作需要先进行擦除操作; ☆ NAND的擦除单元更小,相应的擦除电路更少。

[转]arm-linux-gcc和arm-elf-gcc区别

2008-09-19,星期五 | 分类:嵌入式 | 标签:, , , , | 407 views
在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种:arm-linux-*和 arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib.Glibc。uClibc/uC-libc以及 newlib都是C语言库文件,只是所应用的领域不同而已,Glibc是针对PC开发的,uClibc/uC-libc是与Glibc API兼容的小型化C语言库,实现了Glibc部分功能。 关于uClibc/uC-libc的说明,详见如下: There are two libc libraries commonly used with uClinux. uC-libc anduClibc. They are quite different despite their similar names. Here is aquick overview of how they are different. uC-libc is the original library for uClinux. It was based on sourcesfrom the Linux-8086 C ...

[原]gspca在arm平台上的开发详解

2008-09-08,星期一 | 分类:ARM, Linux, 原创, 嵌入式 | 标签:, , , , , | 284 views
在上一篇中笔者介绍了gspca在arm平台上的移植过程,如有不清楚的可以再仔细研究一下: http://blog.suraid.cn/index.php/2008/09/gspca-arm-compile/ 这一篇中,笔者将结合中星微的zc301p芯片摄像头,带你走进gspca的源码世界!