±àд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£
Ïà¹ØÎĵµ£º
Flash ÓÖ·ÖΪ Nor Flash ºÍNand Flash Á½ÖÖ¡£ ËüÃÇÖ®¼äµÄ²»Í¬ÔÚÓÚ£º Nor Flash Ö§³ÖоƬÄÚÖ´ÐУ¨XIP£¬
eXecute In Place£©£¬ ÕâÑù´úÂë¿ÉÒÔÔÚFlashÉÏÖ±½ÓÖ´Ðжø²»±Ø¿½±´µ½RAMÖÐÈ¥Ö´ÐС£¶øNand
Flash²¢²»Ö§³ÖXIP£¬ ËùÒÔÒªÏëÖ´ÐÐ Nand Flash ÉϵĴúÂ룬±ØÐëÏȽ«Æä¿½±´µ½ RAMÖÐÈ¥£¬È»ºóÌøµ½ RAM ÖÐÈ¥Ö´ÐС£ ......
ĿǰÀ´½²£¬ÎÒÒÀÈ»»¹²»»á×öÒ»¸öСÓÎÏ·³öÀ´¡£×öÓÎÏ·ÐèÒªÖªµÀºÜ¶à¶«Î÷£¬Õâ¸öflash Ö»ÊÇÒ»¸ö×ÔÓé×ÔÀֵĶ«Î÷¡£ÒªÊÇ¿´ÁËÎ󵼾ͱð¹ÖÁË¡£
ºÃ£¬ÖÆ×÷Õâ¸ö¶«Î÷֮ǰ£¬ÆäʵÕâÆªÎÄÕÂÓÐÒ»Ð©ÖØ¸´ÁË£¬²»¹ýÖ»ÊÇÒ»ÖÖdemoʽµÄÑÝʾ¡£Í¨¹ý¼üÅÌÀ´¿ØÖÆ¿ØÖÆÒ»¸öÈËÎï×ß¶¯¡£
ÉÏÃæÊÇÒ»ÕÅ͸Ã÷µÄpngλͼ¡£ÓÐËĸö²»Í¬µÄ·½Ïò¡£¿ÉÒÔ¿´µ½ »ù±¾ÉÏÉÏÏ ......
[FLASH]
as3.0Ïà¶ÔÓÚas2.0µÄÒ³ÃæÊý¾Ý²»Í¬µÄ´«µÝ·½Ê½
´ó¼Ò¶¼ÖªµÀflashÌṩÁËÒ»¸öºÜºÃµÄFlashVars²ÎÊý£¬¾ÍÊÇͨ¹ýËû¿ÉÒÔ´«µÝ²ÎÊý¸øflash£¬È»ºóflashÔÚ½øÐвÙ×÷£¬
¾ßÌåÓ÷¨ÊÇ:<param name="FlashVars" value="p1=value" />
ÕâÑù¾ÍÖ±½Ó¿ÉÒÔÔÙflashÀïµ÷Óà p1 Õâ¸ö²ÎÊýµÄÖµ value ÁË£»
as2.0Àï¿ ......
½áºÏÀíÂÛºÍʵ¼ÊÓ¦Ó㬶ÔRAM¡¢ROM¡¢FlashµÄ×öÒÔÇø±ð£¬ÈôÓò»µ±Ö®´¦ÇëÌá³ö
RAM(Random Access Memory)
È«ÃûÎªËæ»ú´æÈ¡¼ÇÒäÌ壬ËüÏ൱ÓÚPC»úÉϵÄÒÆ¶¯´æ´¢£¬ÓÃÀ´´æ´¢ºÍ±£´æÊý¾ÝµÄ¡£ËüÔÚÈκÎʱºò¶¼¿ÉÒÔ¶Áд£¬RAMͨ³£ÊÇ×÷Ϊ²Ù×÷ϵͳ»òÆäËûÕýÔÚÔËÐгÌÐòµÄÁÙʱ´æ´¢½éÖÊ(ÄÚ´æ)¡£µ±µçÔ´¹Ø±Õʱ ......
ÔÚʵ¼ÊÓ¦ÓÃÖо³£»áÓõ½flashÒ³ÃæºÍ±¾µØexe³ÌÐò»òÕßActiveX³ÌÐò½øÐн»»¥µÄÇé¿ö¡£Ä¿Ç°ÓÐÁ½ÖÖ·½·¨£º
1. flash <-> javascript <-> activex
ÕâÖÖÓ¦ÓÃÖУ¬±¾µØexe³ÌÐò±ØÐëÊÇÒ»¸ö½ø³ÇÍâµÄcom¿Ø¼þ£¬²»½öÖÆ×÷³É±¾¸ß¶øÇÒ´úÂë¼äµÄñîºÏ¶È¸ß¡£
2. flash <-> XMLSocket <-> exe
ÕâÖÖÓ¦ÓÃÖУ¬±¾µØexe³ÌÐò±È½ ......