±àдubootÏÂNor FlashÇý¶¯µÄ×¢ÒâÊÂÏî £¨×ª£©
±àдubootÏÂNor FlashÇý¶¯µÄ×¢ÒâÊÂÏî
Version: 0.8
Date:20090823
Author£ºcrifan
Mail:green-waste(At)163.com
×î½ü¹¤×÷Óöµ½µÄ£¬×ßÁ˵ãÍä·£¬¼Ç¼ÏÂÀ´£¬Ò²ÐíÄܸøÆäËûÈ˵ã°ïÖú¡£Ò²ËãÊÇ×Ô¼º¼Ç¼µã¶«Î÷£¬ÍòÒ»ÐèÒª£¬ÒÔ±¸ºó²é¡£
¡¾Nor FlashÖеÄһЩÊõÓï¡¿
1.
Bottom/Top Boot Sect(µ×²¿/¶¥²¿ Æô¶¯¿é)
ËùνµÄboot sect£¬ÊÇÖ¸µÄÊÇNor FlashºÍNand Flash²»Ì«Ò»Ñù¡£Nand Flash´Ó¿ªÊ¼µ½×îºó£¬¶¼ÊÇÓÉͬÑù´óСµÄpageËù×é³ÉµÄ¡£
¶øNor Flash£¬Ò»°ã¶¼ÊÇÓиöboot sect£¬ºÃÏñÊÇÓÉÓÚÀúÊ·ÔÒò£¬³£½«Nor FlashÓÃÓÚ×÷Ϊ´æ´¢Æô¶¯´úÂëµÄÉ豸£¬Ò²¾ÍÊÇ´ÓNor FlashÆô¶¯£¬ËùÒÔ£¬Õâ¸öboot sect¿é£¬×¨ÃÅÉè¼Æ³öÀ´£¬ÓÃÓÚ´æ·ÅÆô¶¯´úÂë¡£Èç¹ûÏêϸ½âÊÍ£¬°´ÕÕdatasheetÖеÄÃèÊö¾ÍÊÇ£¬µÚÒ»¸ö»ò×îºóÒ»¸ö£¬´Ë´¦ÊÇbottom sect£¬ËùÒÔÊÇ×îºóÒ»¸ö64KB´óСµÄ¿é£¬±»·ÖΪ4¸ö¶ÀÁ¢µÄ¿é¡£µÚÒ»¸ö16KB£¬ÓÃÓÚÉÙÁ¿µÄϵͳ³õʼ»¯´úÂë¡£¶ø2¸ö8KBµÄ¿éÓÃÓÚ´æ´¢²ÎÊý£¬ÓàϵÄ32KBµÄ¿é½Ð×öMain Block£¬ÓÃÓÚ´æ´¢Ó¦ÓóÌÐòµÄ´úÂë¡£
2.
Sector(ÉÈÇø)
´Ë´¦µÄsector£¨ÉÈÇø£©Ò²¾ÍÊÇflashÀïÃæµÄ×îСµÄ²Á³ýµ¥Î»£º¿é£¨block£©¡£
ËùÒÔsector count£¬Ò²¾ÍÊÇÓжàÉÙ¸öblock¡£
3.
Sector Count (ÉÈÇøÊý)ºÍSector List
´Ë´¦µÄNor Flash£¬M29W320DB£¬Ò»¹²ÓÐÕý³£µÄ63¸ö64KBµÄblock£¬¼ÓÉÏÉÏÃæÌáµ½µÄÔÏÈÊÇÕý³£µÄ1¸ö64KB·Ö³ÉµÄ4¸öС¿é£¬ËùÒÔÊÇ63+4=67¸ö¡£
¶øËùνµÄÇý¶¯ÖеÄsector list£¬Ò²¾ÍÊÇblock list£¬´úÂë×¢ÊÍдµÄÒ²ºÜÇå³þÁË£º
ulong
start[CFG_MAX_FLASH_SECT];
/* physical sector start addresses */
ÓÃÓڴ洢ÿһ¸ö¿éµÄÆðʼµØÖ·µÄ¡£Ò²ÊÇÐèÒªÄãÇý¶¯³õʼ»¯µÄ¡£¶ÔÓÚÕâÀïµÄM29W320DB£¬Ò²ºÜ¼òµ¥ÁË£¬´Ó¿ªÊ¼Ë³Ðò¼ÓÉÏ¿é´óС64K£¬Ö±µ½×îºó3¸ö£¬¼ÆËãһ϶ÔÓ¦µØÖ·£¬Ìî½øÈ¥¾Í¿ÉÒÔÁË¡£
4.
Protect(д±£»¤)
Nor Flash´ÓÈí¼þµÄ¼Ä´æÆ÷ÅäÖúÍÓ²¼þÉÏ£¬¶¼ÌṩÁ˶ÔÓ¦µÄ±£»¤»úÖÆ£¬Ä¿µÄÊÇ£¬·ÀÖ¹ÓÐÒâ»òÎÞÒâ¼ä£¬°ÑÄÇЩ²»Ï£Íû±»¸Ä¶¯/ɾ³ýµÄÊý¾ÝÆÆ»µÁË¡£±ÈÈçÓÐЩ»úÖÆ°ÑFlashµÄһЩϵͳÆô¶¯²ÎÊý´æ´¢Nor Flash£¬»òÕßÊÇÆäËûijÖÖÔÒò£¬Ö»ÔÊÐíÄãʹÓò¿·ÖNor FlashµÄ¿Õ¼ä£¬ËùÒÔ£¬°ÑÕâÀàÐèÒª±£»¤µÄ²¿·Ö£¬ÔÚubootµÄflash_info_tµÄ½á¹¹ÌåÖУ¬°Ñ¶ÔÓ¦µÄλÉèÖóÉ1£º
uchar
protect[CFG_MAX_FLASH_SECT]; /* sector protection status
*/
ÕâÑù£¬Ö®ºó³ÌÐò¾Í¿ÉÒÔ±ÜÃâÓÐÒâÎÞÒâµÄ²Á³ýÓÐÓõÄÊý¾ÝÁË¡£
¡¾Ð´Nor FlashÇý¶¯Ê±µÄһЩעÒâÊÂÏî¡¿
1.
λ¿í£¨bitwidth£¬X8/X16/X32£©
ÔÚNor Flash¿ØÖÆÆ÷£¬´Ë´¦ÎÒÕâÀïÓõÄÊÇ£¬ARMµÄPromeCell PL172£
Ïà¹ØÎĵµ£º
ʵÑé»·¾³Òª¸Ä³ÉLinux 2.6Äںˣ¬µ«ÊµÑéÊÒÀïµÄarm2410s¿ª·¢°å°²×°µÄLinuxÄں˶¼ÊÇ2.4µÄ£¬²»µÃ²»½«ËùÓпª·¢°åÖØÐÂÉÕдÄںˣ¡
ÓÉÓÚÄں˾µÏñºÍ¸ùÎļþϵͳµÄ¸Ä±ä£¬ÐèÒªÐÞ¸Äflash·ÖÇø£¬¼´ÐÞ¸ÄviviÔ´Âësmdk.cÎļþÖеÄmtd_partition_t default_mtd_partitions[]£¬ÖØбàÒëvivi,ÔÙ½«viviÉÕдµ½¿ª·¢°åÉÏ¡£µ«ÊÇÉÕдÍêviviºó£¬ÓÐЩ ......
½áºÏÀíÂÛºÍʵ¼ÊÓ¦Ó㬶ÔRAM¡¢ROM¡¢FlashµÄ×öÒÔÇø±ð£¬ÈôÓò»µ±Ö®´¦ÇëÌá³ö
RAM(Random Access Memory)
È«ÃûΪËæ»ú´æÈ¡¼ÇÒäÌ壬ËüÏ൱ÓÚPC»úÉϵÄÒƶ¯´æ´¢£¬ÓÃÀ´´æ´¢ºÍ±£´æÊý¾ÝµÄ¡£ËüÔÚÈκÎʱºò¶¼¿ÉÒÔ¶Áд£¬RAMͨ³£ÊÇ×÷Ϊ²Ù×÷ϵͳ»òÆäËûÕýÔÚÔËÐгÌÐòµÄÁÙʱ´æ´¢½éÖÊ(ÄÚ´æ)¡£µ±µçÔ´¹Ø±Õʱ ......
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)£¬Ã¿ ......
¸ù¾Ý7yueµÄ²©¿ÍÐÅϢ͸¶£¬Ô¶¨¼Æ»®ÄêÄ©»á·¢²¼flash cs5µÄ°æ±¾µÄ²âÊ԰棬ȡÏûÁË·¢²¼¡£È¡¶ø´úÖ®¾ÍÊÇÒ»¸öÐµĹ¦Äܺ͸ÅÄî»áÒýÈëflash cs5µÄ¿ª·¢µ±ÖС£Òò´Ë£¬Ô¶¨¼Æ»®±»È¡ÏûÁË¡£ËäÈ»»á¿Éϧһµã£¬²»¹ýеÄÐÔÄܺ͸Ľø½«»áʹflash cs5±ä³ÉÒ»¸ö¾µäÖ®×÷¡£ÖµµÃ´ó¼ÒÆÚ´ý¡£
http://www.7yue.com/post/408.html ......
ͨ¹ýij¸öÎļþϵͳ¸ñʽ»¯²¢´øÓÐÒ»¸öÇý¶¯Æ÷ºÅµÄ´æ´¢ÇøÓò¡£´æ´¢ÇøÓò¿ÉÒÔÊÇÈíÅÌ¡¢CD¡¢Ó²ÅÌ»òÆäËûÀàÐ͵ĴÅÅÌ¡£µ¥»÷“Windows ×ÊÔ´¹ÜÀíÆ÷”»ò“ÎҵĵçÄÔ”ÖÐÏàÓ¦µÄͼ±ê¿ÉÒԲ鿴ÉÁÅÌÇý¶¯Æ÷£¨cheap flash drive£©µÄÄÚÈÝ¡£
ÒªÏëÁ˽âÈíÅ̺͹âÅÌÖеÄÐÅÏ¢£¬¾Í±ØÐë°ÑËûÃÇ·Ö±ð²åÈëµ½ÈíÅÌÇý¶¯Æ÷ºÍ¹âÅÌÇý¶¯Æ÷ÖУ¬¹©¼ÆË ......