nand flash½á¹¹ÒÔ¼°¶Áд·ÖÎö
NAND Flash µÄÊý¾ÝÊÇÒÔbit µÄ·½Ê½±£´æÔÚmemory cell£¬Ò»°ãÀ´Ëµ£¬Ò»¸öcell ÖÐÖ»ÄÜ´æ´¢Ò»¸öbit¡£ÕâЩcell ÒÔ8 ¸ö»òÕß16 ¸öΪµ¥Î»£¬Á¬³Ébit line£¬ÐγÉËùνµÄbyte(x8)/word(x16)£¬Õâ¾ÍÊÇNAND Device µÄλ¿í¡£ÕâЩLine »áÔÙ×é³ÉPage.
(Nand Flash ÓжàÖֽṹ£¬ÎÒʹÓõÄNand Flash ÊÇK9F1208,ÏÂÃæÄÚÈÝÕë¶ÔÈýÐǵÄK9F1208U0M)£¬Ã¿Ò³528Byte£¬Ã¿32 ¸öpage ÐγÉÒ»¸öBlock£¬ Sizeof(block)=16kByte ¡£
1 block="16kbyte"£¬512Mbit=64Mbyte£¬Numberof(block)=4096 1block=32page, 1page=528byte=512byte(Main Area)+16byte(Spare Area)
Nand flash ÒÔҳΪµ¥Î»¶ÁдÊý¾Ý£¬¶øÒÔ¿éΪµ¥Î»²Á³ýÊý¾Ý¡£
°´ÕÕÕâÑùµÄ×éÖ¯·½Ê½¿ÉÒÔÐγÉËùνµÄÈýÀàµØÖ·£º
--Block Address -- Page Address --Column Address
¶ÔÓÚNAND Flash À´½²£¬µØÖ·ºÍÃüÁîÖ»ÄÜÔÚI/O[7:0]ÉÏ´«µÝ£¬Êý¾Ý¿í¶ÈÊÇ8 λ¡£
512byteÐèÒª9bitÀ´±íʾ£¬¶ÔÓÚ528byteϵÁеÄNAND£¬Õâ512byte±»·Ö³É1st halfºÍ2nd half,¸÷×ԵķÃÎÊÓɵØÖ·Ö¸ÕëÃüÁîÀ´Ñ¡Ôñ£¬A[7:0]¾ÍÊÇËùνµÄcolumn address¡£
32 ¸öpage ÐèÒª5bit À´±íʾ£¬Õ¼ÓÃA[13:9]£¬¼´¸Ãpage ÔÚ¿éÄÚµÄÏà¶ÔµØÖ·¡£BlockµÄµØÖ·ÊÇÓÉA14 ÒÔÉϵÄbit À´±íʾ£¬ÀýÈç512Mb µÄNAND£¬¹²4096block£¬Òò´Ë£¬ÐèÒª12 ¸öbit À´±íʾ£¬¼´A[25:14]£¬Èç¹ûÊÇ1Gbit µÄ528byte/pageµÄNAND Flash£¬Ôòblock addressÓÃA[26:24]±íʾ¡£¶øpage address¾ÍÊÇblcok address|page address in block
NAND Flash µÄµØÖ·±íʾΪ£º
Block Address|Page Address in block|halfpage pointer|Column Address
µØÖ·´«ËÍ˳ÐòÊÇColumn Address,Page Address,Block Address¡£
ÓÉÓÚµØÖ·Ö»ÄÜÔÚI/O[7:0]ÉÏ´«µÝ£¬Òò´Ë£¬±ØÐë²ÉÓÃÒÆÎ»µÄ·½Ê½½øÐС£ ÀýÈ磬¶ÔÓÚ512Mbit x8 µÄNAND flash£¬µØÖ··¶Î§ÊÇ0~0x3FF_FFFF£¬Ö»ÒªÊÇÕâ¸ö·¶Î§ÄÚµÄÊýÖµ±íʾµÄµØÖ·¶¼ÊÇÓÐЧµÄ¡£ÒÔNAND_ADDR ΪÀý£º µÚ1 ²½ÊÇ´«µÝcolumn address£¬¾ÍÊÇNAND_ADDR[7:0]£¬²»ÐèÒÆÎ»¼´¿É´«µÝµ½I/O[7:0]ÉÏ£¬¶øhalfpage pointer ¼´bit8 ÊÇÓɲÙ×÷Ö¸Áî¾ö¶¨µÄ£¬¼´Ö¸Áî¾ö¶¨ÔÚÄĸöhalfpage ÉϽøÐжÁд¡£¶øÕæÕýµÄbit8 µÄÖµÊÇdon't care µÄ¡£ µÚ2 ²½¾ÍÊǽ«NAND_ADDR ÓÒÒÆ9 룬½«NAND_ADDR[16:9]´«µ½I/O[7:0]ÉÏ µÚ3 ²½½«NAND_ADDR[24:17]·Åµ½I/O ÉÏ µÚ4 ²½ÐèÒª½«NAND_ADDR[25]·Åµ½I/O ÉÏ Òò´Ë£¬Õû¸öµØÖ·´«µÝ¹ý³ÌÐèÒª4 ²½²ÅÄÜÍê³É£¬¼´4-step addressing¡£ Èç¹ûNAND Flash µÄÈÝÁ¿ÊÇ256Mbit ÒÔÏ£¬ÄÇô£¬block adress ×î¸ßλֻµ½bit24£¬Òò´ËѰַ Ö»ÐèÒª3 ²½¡
Ïà¹ØÎĵµ£º
1.½«ÏÂÃæ´úÂë¸´ÖÆÓÃд×Ö°å±£´æÎªflash.jsÎļþ.
// Show Hide Poll
function WriteFlash(flash,_width,_height) {
document.writeln("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\" ......
Java´úÂë import flash.external.ExternalInterface; function hello(){ return "²âÊԳɹ¦ÁËŶ~~"; } //ÔÊÐíflashµ÷ÓÃjsº¯Êý ²ÎÊý1£ºjsº¯ÊýÃû³Æ ²ÎÊý2£ºÏòjsº¯Êý´«µÝµÄ²ÎÊý ExternalInterface.call("hello", "jacky"); ......
Ñо¿FlashǶÈëÓÎÏ·ÖеĿÉÐÐÐÔ.......
äÖȾÎÊÌâÒѽâ¾ö
ʼþÏìÓ¦Òѽâ¾ö
ÏÂÃæÊÇC++ÓëFlash ASµÄ½»»¥, ÒÔMFCΪÀý:
1. н¨Ò»¸öMFC Dialog³ÌÐò
2. Ìí¼ÓÒ»¸öFlash¿Ø¼þ
3. °ÑFlash¿Ø¼þÌí¼ÓÒ»¸ö±äÁ¿
4. ÔÚOnInitDialog()ÖÐÌí¼ÓÔØ.swfÎļþ
// CCppFlashDlg ÏûÏ¢´¦Àí³ÌÐò
BOOL CCppFlashDlg::OnInitDialog()
{
......
½áºÏÀíÂÛºÍʵ¼ÊÓ¦Ó㬶ÔRAM¡¢ROM¡¢FlashµÄ×öÒÔÇø±ð£¬ÈôÓò»µ±Ö®´¦ÇëÌá³ö
RAM(Random Access Memory)
È«ÃûÎªËæ»ú´æÈ¡¼ÇÒäÌ壬ËüÏ൱ÓÚPC»úÉϵÄÒÆ¶¯´æ´¢£¬ÓÃÀ´´æ´¢ºÍ±£´æÊý¾ÝµÄ¡£ËüÔÚÈκÎʱºò¶¼¿ÉÒÔ¶Áд£¬RAMͨ³£ÊÇ×÷Ϊ²Ù×÷ϵͳ»òÆäËûÕýÔÚÔËÐгÌÐòµÄÁÙʱ´æ´¢½éÖÊ(ÄÚ´æ)¡£µ±µçÔ´¹Ø±Õʱ ......