NAND FLASHºÍNOR FLASHÏê½â
NAND FLASHºÍNOR FLASHÏê½â
NOR FLASHºÍNAND FLASHÊÇÏÖÔÚÊг¡ÉÏÁ½ÖÖÖ÷ÒªµÄ·ÇÒ×ʧÉÁ´æ¼¼Êõ¡£
INTELÓÚ1988ÄêÊ×ÏÈ¿ª·¢³öNOR FLASH¼¼Êõ£¬³¹µ×¸Ä±äÁËÔÏÈÓÉEPROMºÍEEPROMһͳÌìϵľÖÃæ¡£
1989Ä꣬¶«Ö¥¹«Ë¾·¢±íÁËNAND FLASH½á¹¹£¬Ç¿µ÷¸üµÍµÄ³É±¾£¬¸ü¸ßµÄÐÔÄÜ£¬²¢ÇÒ¿ÉÒÔÏó´ÅÅÌÒ»Ñùͨ¹ý½Ó¿ÚÇáËÉÉý¼¶¡£
µ«ÊǾ¹ýÁËÊ®¶àÄêÖ®ºó£¬ÈÔÈ»ÓÐÏ൱¶àµÄÓ²¼þ¹¤³Ìʦ·Ö²»ÇåNOR FLASHºÍNAND FLASH¡£
NOR FLASH¸üÊʺÏÓÃÀ´´æ´¢ÉÙÁ¿µÄ´úÂë
“NAND FLASH´æ´¢Æ÷”¾³£¿ÉÒÔÓë“NOR FLASH´æ´¢Æ÷”»¥»»Ê¹Óá£
Ðí¶àÒµÄÚÈËʿҲ¸ã²»Çå³þNAND FLASH¼¼ÊõÏà¶ÔÓÚNOR
FLASH¼¼ÊõµÄÓÅÔ½Ö®´¦£¬ÒòΪ´ó¶àÊýÇé¿öÏÂÉÁ´æÖ»ÊÇÓÃÀ´´æ´¢ÉÙÁ¿µÄ´úÂ룬ÕâʱNORÉÁ´æ¸üÊʺÏһЩ¡£¶øNAND
FLASHÔòÊǸßÊý¾Ý´æ´¢ÃܶȵÄÀíÏë½â¾ö·½°¸¡£
¡¡¡¡NOR FLASHµÄÌØµãÊÇоƬÄÚÖ´ÐÐ(XIP, eXecute In
Place)£¬ÕâÑùÓ¦ÓóÌÐò¿ÉÒÔÖ±½ÓÔÚFLASHÉÁ´æÄÚÔËÐУ¬²»±ØÔÙ°Ñ´úÂë¶Áµ½ÏµÍ³RAMÖС£
NOR FLASHµÄ´«ÊäЧÂʺܸߣ¬ÔÚ1¡«4MBµÄСÈÝÁ¿Ê±¾ßÓкܸߵijɱ¾Ð§Ò棬µ«ÊǺܵ͵ÄдÈëºÍ²Á³ýËÙ¶È´ó´óÓ°ÏìÁËËüµÄÐÔÄÜ¡£
¡¡¡¡NAND FLASH½á¹¹ÄÜÌṩ¼«¸ßµÄµ¥ÔªÃܶȣ¬¿ÉÒÔ´ïµ½¸ß´æ´¢Ãܶȣ¬²¢ÇÒдÈëºÍ²Á³ýµÄËÙ¶ÈÒ²ºÜ¿ì¡£Ó¦ÓÃNAND
FLASHµÄÀ§ÄÑÔÚÓÚFLASHµÄ¹ÜÀíºÍÐèÒªÌØÊâµÄϵͳ½Ó¿Ú¡£
ÐÔÄܱȽÏ--NOR FLASHµÄ¶ÁËٶȱÈNAND FLASHÉÔ¿ìһЩ
ÐÔÄܱȽÏ
¡¡¡¡FLASHÉÁ´æÊÇ·ÇÒ×ʧ´æ´¢Æ÷£¬¿ÉÒÔ¶Ô³ÆÎª¿éµÄ´æ´¢Æ÷µ¥Ôª¿é½øÐвÁдºÍÔÙ±à³Ì¡£ÈκÎFLASHÆ÷¼þµÄдÈë²Ù×÷Ö»ÄÜÔÚ¿Õ»òÒѲÁ³ýµÄµ¥Ôª
ÄÚ½øÐУ¬ËùÒÔ´ó¶àÊýÇé¿öÏ£¬ÔÚ½øÐÐдÈë²Ù×÷֮ǰ±ØÐëÏÈÖ´ÐвÁ³ý¡£NAND
FLASHÆ÷¼þÖ´ÐвÁ³ý²Ù×÷ÊÇÊ®·Ö¼òµ¥µÄ£¬¶øNORÔòÒªÇóÔÚ½øÐвÁ³ýǰÏÈÒª½«Ä¿±ê¿éÄÚËùÓеÄλ¶¼Ð´Îª0¡£
¡¡¡¡ÓÉÓÚ²Á³ýNOR FLASHÆ÷¼þʱÊÇÒÔ64¡«128KBµÄ¿é½øÐеģ¬Ö´ÐÐÒ»¸öдÈë/²Á³ý²Ù×÷µÄʱ¼äΪ5s£¬Óë´ËÏà·´£¬²Á³ýNAND
FLASHÆ÷¼þÊÇÒÔ8¡«32KBµÄ¿é½øÐеģ¬Ö´ÐÐÏàͬµÄ²Ù×÷×î¶àÖ»ÐèÒª4ms¡£
¡¡¡¡Ö´ÐвÁ³ýʱ¿é³ß´çµÄ²»Í¬½øÒ»²½À´óÁËNOR FLASHºÍNADN
FLASHÖ®¼äµÄÐÔÄܲî¾à£¬Í³¼Æ±íÃ÷£¬¶ÔÓÚ¸ø¶¨µÄÒ»Ì×дÈë²Ù×÷(ÓÈÆäÊǸüÐÂСÎļþʱ)£¬¸ü¶àµÄ²Á³ý²Ù×÷±ØÐëÔÚ»ùÓÚNOR
FLASHµÄµ¥ÔªÖнøÐС£ÕâÑù£¬µ±Ñ¡Ôñ´æ´¢½â¾ö·½°¸Ê±£¬Éè¼ÆÊ¦±ØÐëȨºâÒÔϵĸ÷ÏîÒòËØ¡£
¡¡¡¡1).NOR FLASHµÄ¶ÁËٶȱÈNAND FLASHÉÔ¿ìһЩ¡£
¡¡¡¡2).NAND FLASHµÄдÈëËٶȱÈNOR FLASH¿ìºÜ¶à¡£
¡¡¡¡3).NAND FLASHµÄ4ms²Á³ýËÙ¶ÈÔ¶±ÈNOR FLASHµÄ5s¿ì¡£
¡¡¡¡4).´ó¶àÊýдÈë²Ù×÷ÐèÒªÏȽøÐвÁ³ý²Ù×÷¡£
¡¡¡¡5).NAND FLASHµÄ²Á
Ïà¹ØÎĵµ£º
Ò»¡¢Nor flash(drivers\mtd\maps\at91rm9200_nor.c)
static struct mtd_partition partitions[] = {
{
.name = "Bootloader",
.size = 0x00040000,
.offset = 0,
.mask_flags = MTD_WRITEABLE /* force read-only */
......
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.system.fscommand;
import flash.display.StageDisplayState;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
/**
* ...
* @author LittleSpace
*/
public class Main extends Sprite
{ ......
»úÆ÷ÄÚ²¿ÓÐÒ»²¿·Öflash¹©¿Í»§Ê¹Óã¬Í¬Ê±»úÆ÷Ö§³Ösd¿¨¡£µ±²åÈësd¿¨Ê±ºòflashÄÚ²¿ºÍsd¿¨ÄÚ²¿µÄ¶àýÌå¶¼¿ÉÒÔ±»²¥·ÅÆ÷ʶ±ð£¬Ò»µ©°Îµôsd¿¨£¬ÔòflashÄÚµÄýÌå¶Ô²¥·ÅÆ÷Ò²²»¼ûÁË¡£
½â¾ö·½·¨£º
ÐÞ¸Äframeworks/base/services/java/com/android/server/MountService.javaÎļþµÄº¯Êý£ºnotifyMediaBadRemovalÈçÏ£¬ºìɫΪÌí¼Ó¡£
mCon ......
http://www.52rd.com/Blog/Detail_RD.Blog_foxice_10404.html
http://www.foxice.net/techinfo_nandboot1.asp
Ò»ÖÖNAND FLASH×ÔÆô¶¯µÄз½·¨
foxice ·¢±íÓÚ 2007-8-27 15:29:00
1
Òý
ÑÔ
Ëæ×ÅÏû·ÑÀàµç×Ó²úÆ·°üÀ¨ PDA £¬ MP3
¡¢ÖÇÄÜÊÖ»úµÈÊÖ³ÖÉ豸µÄÊг¡ÐèÇóÖð²½À©´ó£¬²úÆ·¼äµÄ¾ºÕùÒ²Óú·¢¼¤ÁÒ£¬½µµÍ²úÆ·µÄÉè¼ ......