Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

NandFlashϵÁÐÖ®¶þ£ºS3C2410¶ÁдNand Flash·ÖÎö

NandFlashϵÁÐÖ®¶þ£ºS3C2410¶ÁдNand Flash·ÖÎö
2009Äê12ÔÂ09ÈÕ ÐÇÆÚÈý 09:06
Ò»¡¢½á¹¹·ÖÎö
S3C2410´¦ÀíÆ÷¼¯³ÉÁË8λNandFlash¿ØÖÆÆ÷¡£Ä¿Ç°Êг¡Éϳ£¼ûµÄ8λNandFlashÓÐÈýÐǹ«Ë¾µÄk9f1208¡¢k9f1g08¡¢k9f2g08µÈ¡£k9f1208¡¢k9f1g08¡¢k9f2g08µÄÊý¾ÝÒ³´óС·Ö±ðΪ512Byte¡¢2kByte¡¢2kByte¡£ËüÃÇÔÚѰַ·½Ê½ÉÏÓÐÒ»¶¨²îÒ죬ËùÒÔ³ÌÐò´úÂë²¢²»Í¨Óᣱ¾ÎÄÒÔS3C2410´¦ÀíÆ÷ºÍk9f1208ϵͳΪÀý£¬½²ÊöNandFlashµÄ¶Áд·½·¨¡£
NandFlashµÄÊý¾ÝÊÇÒÔbit µÄ·½Ê½±£´æÔÚmemory cellÀïµÄ£¬Ò»°ãÀ´Ëµ£¬Ò»¸öcell ÖÐÖ»ÄÜ´æ´¢Ò»¸öbit£¬ÕâЩcell ÒÔ8 ¸ö»òÕß16 ¸öΪµ¥Î»£¬Á¬³Ébit line£¬ÐγÉËùνµÄbyte(x8)/word(x16)£¬Õâ¾ÍÊÇNAND Device µÄλ¿í¡£ÕâЩLine ×é³ÉPage£¬ page ÔÙ×éÖ¯ÐγÉÒ»¸öBlock¡£k9f1208µÄÏà¹ØÊý¾ÝÈçÏ£º
1block=32page£»1page=528byte=512byte(Main Area)+16byte(Spare Area)¡£
×ÜÈÝÁ¿Îª=4096£¨blockÊýÁ¿£©*32£¨page/block£©*512(byte/page)=64Mbyte
NandFlashÒÔҳΪµ¥Î»¶ÁдÊý¾Ý£¬¶øÒÔ¿éΪµ¥Î»²Á³ýÊý¾Ý¡£°´ÕÕk9f1208µÄ×éÖ¯·½Ê½¿ÉÒÔ·ÖËÄÀàµØÖ·£º Column Address¡¢halfpage pointer¡¢Page Address ¡¢Block Address¡£A[0:25]±íʾÊý¾ÝÔÚ64M¿Õ¼äÖеĵØÖ·¡£
Column Address±íʾÊý¾ÝÔÚ°ëÒ³ÖеĵØÖ·£¬´óС·¶Î§0~255£¬ÓÃA[0:7]±íʾ£»
halfpage pointer±íʾ°ëÒ³ÔÚÕûÒ³ÖеÄλÖ㬼´ÔÚ0~255¿Õ¼ä»¹ÊÇÔÚ256~511¿Õ¼ä£¬ÓÃA[8]±íʾ£»
Page Address±íʾҳÔÚ¿éÖеĵØÖ·£¬´óС·¶Î§0~31£¬ÓÃA[13:9]±íʾ£»
Block Address±íʾ¿éÔÚflashÖеÄλÖ㬴óС·¶Î§0~4095£¬A[25:14] ±íʾ£»
¶þ¡¢¶Á²Ù×÷¹ý³Ì
K9f1208µÄѰַ·ÖΪ4¸öcycle¡£·Ö±ðÊÇ£ºA[0:7]¡¢A[9:16]¡¢A[17:24]¡¢A[25]¡£
¶Á²Ù×÷µÄ¹ý³ÌΪ: 1¡¢·¢ËͶÁȡָÁ2¡¢·¢Ë͵Ú1¸öcycleµØÖ·£»3¡¢·¢Ë͵Ú2¸öcycleµØÖ·£»4¡¢·¢Ë͵Ú3¸öcycleµØÖ·£»5¡¢·¢Ë͵Ú4¸öcycleµØÖ·£»6¡¢¶ÁÈ¡Êý¾ÝÖÁҳĩ¡£
K9f1208ÌṩÁËÁ½¸ö¶ÁÖ¸Á‘0x00’¡¢‘0x01’¡£ÕâÁ½¸öÖ¸ÁîÇø±ðÔÚÓÚ‘0x00’¿ÉÒÔ½«A[8]ÖÃΪ0£¬Ñ¡ÖÐÉϰëÒ³£»¶ø‘0x01’¿ÉÒÔ½«A[8]ÖÃΪ1£¬Ñ¡ÖÐϰëÒ³¡£
ËäÈ»¶Áд¹ý³Ì¿ÉÒÔ²»´ÓÒ³±ß½ç¿ªÊ¼£¬µ«ÔÚÕýʽ³¡ºÏÏ»¹Êǽ¨Òé´ÓÒ³±ß½ç¿ªÊ¼¶ÁдÖÁÒ³½áÊø¡£ÏÂÃæÍ¨¹ý·ÖÎö¶ÁȡҳµÄ´úÂ룬²ûÊö¶Á¹ý³Ì¡£
static void ReadPage(U32 addr, U8 *buf) //addr±íʾflashÖеĵڼ¸Ò³£¬¼´‘flashµØÖ·>>9’
{
U16 i;
NFChipEn(); //ʹÄÜNandFlash
WrNFCmd(READCMD0); //·¢ËͶÁÖ¸Áî‘0x00’£¬ÓÉÓÚÊÇÕûÒ³¶ÁÈ¡


Ïà¹ØÎĵµ£º

C/C++Éî²ã̽Ë÷

Ò»¡¢
1¡¢¹ØÓÚ×Ö½Ú˳Ðò£º»°ËµÔÚÌØ¶¨µÄÓ²¼þƽ̨ÉÏ£¬¶à×Ö½ÚÊý¾ÝµÄ˳Ðò´æ·ÅÓÐÁ½ÖÖ·½Ê½£¨little-endian¡¢big-endian£©¡£Ç°ÕßµÄÊý¾ÝµÄµÍ×Ö½Ú
     ²¿·Ö´æ·ÅÔڵ͵ØÖ·Äڴ棬ºóÕßÇ¡ºÃÏà·´¡£PCÒ»°ãÊÇ»ùÓÚIA-32΢´¦ÀíÆ÷£¬ÊôÓÚlittle-endian¡£Ä³Ð©RISC¼Ü¹¹µÄCPU£¬ÀýÈçSPARC¡¢
    POWERPCµÈ£¬ÔòÊ ......

c/c++ ×óÖµ ÓÒÖµÌÖÂÛ

×óÖµÐÔ£¨lvalueness£©ÔÚC/C++ÖÐÊDZí´ïʽµÄÒ»¸öÖØÒªÊôÐÔ¡£Ö»ÓÐͨ¹ýÒ»¸ö×óÖµ±í´ïʽ²ÅÄÜÀ´ÒýÓü°¸ü¸ÄÒ»¸ö¶ÔÏó£¨object£©µÄÖµ¡££¨Ä³Ð©Çé¿öÏ£¬ÓÒÖµ±í´ïʽҲÄÜÒýÓã¨refer£©µ½Ä³Ò»¸ö¶ÔÏ󣬲¢ÇÒ¿ÉÄܼä½ÓÐ޸ĸöÔÏóµÄÖµ£¬ºóÊö£©¡£
    ºÎν¶ÔÏó£¿Èç¹ûûÓÐÃ÷ȷ˵Ã÷£¬ÕâÀï˵µÄ¶ÔÏ󣬺ÍÏÁÒåµÄÀà/¶ÔÏó£¨class/object£© ......

c º¯ÊýÖ¸Õë

c º¯ÊýÖ¸Õë
º¯ÊýÖ¸ÕëÊÇʲô£¿
     Ò»¸öº¯ÊýÕ¼ÓÃÒ»¶ÎÁ¬ÐøÄÚ´æ¡£µ±µ÷ÓÃÒ»¸öº¯Êýʱ£¬Êµ¼ÊÉÏÊÇÌø×ªµ½º¯ÊýÈë¿ÚµØÖ·£¬Ö´Ðк¯ÊýÌåµÄ´úÂ룬Íê³Éºó·µ»Ø¡£
ÈçºÎÕÒµ½¶ÔÓ¦µÄÈë¿ÚµØÖ·£¿
     ÕâÊÇÓɺ¯ÊýÃûÀ´±ê¼ÇµÄ£¬Êµ¼ÊÉÏ£¬º¯ÊýÃû¾ÍÊǺ¯ÊýµÄÈë¿ÚµØÖ·¡£ º¯ÊýÖ¸ÕëÊÇÒ»ÖÖÌØÊâÀàÐ͵ÄÖ¸Õë£¬Ë ......

CºÍC++µÄ±ê×¼¿â

CºÍC++µÄ±ê×¼¿â
ĬÈÏ·ÖÀà   2008-02-28 14:28   ÔĶÁ3   ÆÀÂÛ0  
×ֺţº ´ó´ó  ÖÐÖР СС
http://blog.chinaunix.net/u/6776/showart_186792.html C/C++Éî²ã̽Ë÷
    ±¾Ð¡½ÚÎÒÃǸÅÀÀÒ»ÏÂC/C++±ê×¼¿âµÄȫò¡£
    C/C++±ê×¼¿âµÄÄÚ ......

ROM¡¢RAM¡¢DRAM¡¢SRAM¡¢FLASHµÄÇø±ð


ROMºÍRAMÖ¸µÄ¶¼Êǰ뵼Ìå´æ´¢Æ÷£¬ROMÊÇRead Only MemoryµÄËõд£¬RAMÊÇRandom Access MemoryµÄËõд¡£ROMÔÚϵͳֹͣ¹©µçµÄʱºòÈÔÈ»¿ÉÒÔ±£³ÖÊý¾Ý£¬¶øRAMͨ³£¶¼ÊÇÔÚµôµçÖ®ºó¾Í¶ªÊ§Êý¾Ý£¬µäÐ͵ÄRAM¾ÍÊǼÆËã»úµÄÄÚ´æ¡£
RAMÓÐÁ½´óÀ࣬һÖÖ³ÆÎª¾²Ì¬RAM£¨Static RAM/SRAM£©£¬SRAMËٶȷdz£¿ì£¬ÊÇĿǰ¶Áд×î¿ìµÄ´æ´¢É豸ÁË£¬µ«ÊÇËüÒ² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ