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

Linux MTD¼¼Êõ¼ò½é

MTD(memory technology deviceÄÚ´æ¼¼ÊõÉ豸)ÊÇÓÃÓÚ·ÃÎÊmemoryÉ豸£¨ROM¡¢flash£©µÄLinuxµÄ×Óϵͳ¡£MTDµÄÖ÷ҪĿµÄÊÇΪÁËʹеÄmemoryÉ豸µÄÇý¶¯¸ü¼Ó¼òµ¥£¬Îª´ËËüÔÚÓ²¼þºÍÉϲãÖ®¼äÌṩÁËÒ»¸ö³éÏóµÄ½Ó¿Ú¡£MTDµÄËùÓÐÔ´´úÂëÔÚ/drivers/mtd×ÓĿ¼Ï¡£ÎÒ½«CFI½Ó¿ÚµÄMTDÉ豸·ÖΪËIJ㣨´ÓÉ豸½ÚµãÖ±µ½µ×²ãÓ²¼þÇý¶¯£©£¬ÕâËIJã´ÓÉϵ½ÏÂÒÀ´ÎÊÇ£ºÉ豸½Úµã¡¢MTDÉ豸²ã¡¢MTDԭʼÉ豸²ãºÍÓ²¼þÇý¶¯²ã¡£
MTD×Ö·ûÇý¶¯³ÌÐòÔÊÐíÖ±½Ó·ÃÎÊflashÆ÷¼þ£¬Í¨³£ÓÃÀ´ÔÚflashÆÚ¼äÉÏ´´½¨Îļþϵͳ£¬Ò²¿ÉÒÔÓÃÀ´Ö±½Ó·ÃÎʲ»Æµ·±Ð޸ĵÄÊý¾Ý¡£
MTD¿éÉ豸Çý¶¯³ÌÐò¿ÉÒÔÈÃflashÆ÷¼þαװ³É¿éÉ豸£¬Êµ¼ÊÉÏËüͨ¹ý°ÑÕû¿éµÄerase block·Åµ½ramÀïÃæ½øÐзÃÎÊ£¬È»ºóÔÙ¸üе½flash£¬Óû§¿ÉÒÔÔÚÕâ¸ö¿éÉ豸ÉÏ´´½¨Í¨³£µÄÎļþϵͳ¡£
Ò»¡¢FlashÓ²¼þÇý¶¯²ã
Ó²¼þÇý¶¯²ã¸ºÔðÔÚinitʱÇý¶¯FlashÓ²¼þ£¬Linux MTDÉ豸µÄNOR¡¡FlashоƬÇý¶¯×ñÑ­CFI½Ó¿Ú±ê×¼£¬ÆäÇý¶¯³ÌÐòλÓÚdrivers/mtd/chips×ÓĿ¼Ï¡£NANDÐÍFlashµÄÇý¶¯³ÌÐòÔòλÓÚ/drivers/mtd/nand×ÓĿ¼ÏÂ
¶þ¡¢MTDԭʼÉ豸
ԭʼÉ豸²ãÓÐÁ½²¿·Ö×é³É£¬Ò»²¿·ÖÊÇMTDԭʼÉ豸µÄͨÓôúÂ룬ÁíÒ»²¿·ÖÊǸ÷¸öÌØ¶¨µÄFlashµÄÊý¾Ý£¬ÀýÈç·ÖÇø¡£
ÓÃÓÚÃèÊöMTDԭʼÉ豸µÄÊý¾Ý½á¹¹ÊÇmtd_info£¬ÕâÆäÖж¨ÒåÁË´óÁ¿¹ØÓÚMTDµÄÊý¾ÝºÍ²Ù×÷º¯Êý
struct mtd_info
{
u_char type; //ÄÚ´æ¼¼ÊõµÄÀàÐÍ
u_int32_t flags; //±ê־λ
u_int32_t size; //mtdÉ豸µÄ´óС
u_int32_t erasesize; //Ö÷ÒªµÄ²Á³ý¿é´óС£¨Í¬Ò»¸ö//mtdÉ豸¿ÉÄÜÓÐÊýÖÖ²»Í¬µÄerasesize£©
u_int32_t oobblock; // oob¿é´óС
u_int32_t oobsize; // oobÊý¾Ý´óС
u_int32_t ecctype; //eccÀàÐÍ
u_int32_t eccsize; //ecc¹¤×÷µÄ·¶Î§

}
ÓÃÓÚÃèÊöMTDԭʼÉ豸µÄÊý¾Ý½á¹¹ÊÇmtd_info£¬ÕâÆäÖж¨ÒåÁË´óÁ¿µÄ¹ØÓÚMTDµÄÊý¾ÝºÍ²Ù×÷º¯Êý¡£mtd_table£¨mtdcore.c£©ÔòÊÇËùÓÐMTDԭʼÉ豸µÄÁÐ±í£¬mtd_part£¨mtd_part.c£©ÊÇÓÃÓÚ±íʾMTDԭʼÉ豸·ÖÇøµÄ½á¹¹£¬ÆäÖаüº¬ÁËmtd_info£¬ÒòΪÿһ¸ö·ÖÇø¶¼ÊDZ»¿´³ÉÒ»¸öMTDԭʼÉ豸¼ÓÔÚmtd_tableÖеģ¬mtd_part.mtd_infoÖеĴ󲿷ÖÊý¾Ý¶¼´Ó¸Ã·ÖÇøµÄÖ÷·ÖÇømtd_part->masterÖлñµÃ¡£
ÔÚdrivers/mtd/maps/×ÓĿ¼Ï´æ·ÅµÄÊÇÌØ¶¨µÄflashµÄÊý¾Ý£¬Ã¿Ò»¸öÎļþ¶¼ÃèÊöÁËÒ»¿é°å×ÓÉϵÄflash¡£ÆäÖе÷ÓÃadd_mtd_device()¡¢del_mtd_device()½¨Á¢/ɾ³ýmtd_info½á¹¹²¢½«Æä¼ÓÈë/ɾ³ýmtd_table£¨»òÕßµ÷ÓÃadd_mtd_partition()¡¢del_mtd_partition()£¨mtdpart.c£©½¨Á¢/ɾ³ýmtd_part½á¹¹²¢½«mtd_part.mt


Ïà¹ØÎĵµ£º

LinuxϹ²ÏíÎļþϵͳÎļþ´«ÊäµÄ¼òµ¥Éè¼Æ£¨×ªÔØ£©

¹²ÏíÎļþϵͳÎļþ´«Ê䣬ÊÇÍøÂçÕì¿ØÏîÄ¿ÖеÄÒ»¸öʵ¼Ê²Ù×÷¡£ËüÊÇΪÁ˵ÖÖÆÈëÇÖÕß½øÈëÄÚÍø¶øÌá³öµÄÒ»ÖÖ°²È«½â¾ö·½°¸¡£ÔÚʵ¼Ê´«Êä¹ý³ÌÖУ¬ÍØÆËͼÈçÏ£º
ʵ¼Ê»·¾³¾ùÔÚLinuxÖ÷»úϽøÐС£²ÉÓÃOCFS2Îļþ¼¯ÈºµÄ·½Ê½¡£ÍⲿÖ÷»úAºÍÄÚ²¿Ö÷»úBÖ®¼äµÄͨѶ£¬¾ùͨ¹ý¹²Ïí´æ´¢¿Õ¼äC½øÐнÓÊܺͷ¢ËÍ¡£ÕâÑù¼´Ê¹ÈëÇÖÕßÄÃÏÂÍⲿÖ÷»úA£¬Ò²ÎÞ·¨ÉøÍ¸ÄÚ ......

linuxÉ豸Çý¶¯³ÌÐò——×Ö·ûÉ豸Çý¶¯³ÌÐò

ÔÚLinux²Ù×÷ϵͳÏÂÓÐ3ÀàÖ÷ÒªµÄÉ豸ÎļþÀàÐÍ£º¿éÉ豸¡¢×Ö·ûÉ豸ºÍÍøÂçÉ豸¡£ÕâÖÖ·ÖÀà·½·¨¿ÉÒÔ½«¿ØÖÆÊäÈë/Êä³öÉ豸µÄÇý¶¯³ÌÐòÓëÆäËû²Ù×÷ϵͳÈí¼þ·ÖÀ뿪À´¡£×Ö·ûÉ豸ÊÇÖ¸´æÈ¡Ê±Ã»Óлº´æµÄÉ豸¡£µäÐ͵Ä×Ö·ûÉ豸°üÀ¨Êó±ê¡¢¼üÅÌ¡¢´®Ðпڵȡ£
×Ö·ûÉ豸Óë¿éÉ豸µÄÖ÷񻂿±ðÊÇ£ºÔÚ¶Ô×Ö·ûÉ豸·¢³ö¶Á/дÇëÇóʱ£¬Êµ¼ÊµÄÓ²¼þI/OÒ»°ã½ô½Ó× ......

LinuxϵÄÓ²¼þÇý¶¯——USBÉ豸£¨×ª£©

from£ºhttp://www.ibm.com/developerworks/cn/linux/l-usb/index1.html
¼¶±ð£º ³õ¼¶
ÕÔÃ÷ (carl__zhao@163.com), ÁªÏëÈí¼þÉè¼ÆÖÐÐÄǶÈëʽÑз¢´¦ÏµÍ³Éè¼Æ¹¤³Ìʦ
2003 Äê 7 ÔÂ 01 ÈÕ
USBÉ豸ԽÀ´Ô½¶à£¬¶øLinuxÔÚÓ²¼þÅäÖÃÉÏÈÔȻûÓÐ×öµ½ÍêÈ«¼´²å¼´Ó㬶ÔÓÚLinuxÔõÑùÅäÖúÍʹÓÃËûÃÇ£¬Ò²Ô½À´Ô½³ÉΪÀ§ÈÅÎÒÃǵÄÒ»´óÎÊÌâ¡£±¾ÎÄ× ......

mkimageÖÆ×÷linuxÄÚºËÓ³Ïñ £¨×ª£©


bootmÃüÁîÊÇÓÃÀ´Òýµ¼¾­¹ýu-bootµÄ¹¤¾ßmkimage´ò°üºóµÄkernel imageµÄ£¬Ê²Ã´½Ð×ö¾­¹ýu-bootµÄ¹¤¾ßmkimage´ò°üºóµÄkernel image£¬Õâ¸ö¾ÍÒª¿´mkimageµÄ´úÂ룬¿´¿´Ëü×öÁËЩʲô£¬ËäÈ»ÎÒºÜÏ£Íû´ó¼Ò²»ÒªÍµÀÁ£¬ÈÏÕæµØÈ¥¿´¿´£¬µ«ÊÇÎÒÖªµÀ»¹ÊÇÓкܶàÈËÀÁµÃÈ¥×öÕâ¼þ£¬ÄÇôÎÒ¾Íj½«·ÖÎömkimage´úÂëºóµÃµ½µÄ×Ü½á¸æËß´ó¼Ò£¬mkimage×öÁËÐ ......

LinuxµÄ²Ã¼ô

http://www.mcublog.com/more.asp?name=sharkdn&id=8810
=======================================
ºÃЩʱºò£¬ÎÒÃÇÐèÒªÒ»¸öÖ»ÒªÒ»ÕÅÈíÅ̾ÍÄÜÆô¶¯Linux µÄϵͳ£¬±ÈÈç˵×ö·ÓÉÆ÷¡£µ«ÊÇÎÒÃǸÃÔõÑù×öÄØ£¿ Ò²¾ÍÊÇ˵ÎÒÃÇÒª°ÑKernelºÍFileSystem¶¼×öÔÚÒ»ÕÅ3.5'µÄÅÌÉÏ¡£ÎÒÃÇÏȰÑFileSystem ·Ö½â³ÉÈçϼ¸¸ö²¿·Ö°É¡£
¡¡¡¡1. /b ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ