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
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Linux ¶àÏß³ÌͨÐÅ
Linux ¶àÏß³ÌͨÐÅ
Õª×Ô×ÊÁÏ£¨linux ÓëWindows²»Í¬£©
Ï̼߳äÎÞÐèÌØ±ðµÄÊֶνøÐÐͨÐÅ£¬ÒòΪÏ̼߳ä¿ÉÒÔ¹²ÏíÊý¾Ý½á¹¹£¬Ò²¾ÍÊÇÒ»¸öÈ«¾Ö±äÁ¿¿ÉÒÔ±»Á½¸öÏß³ÌͬʱʹÓᣲ»¹ýҪעÒâµÄÊÇÏ̼߳äÐèÒª×öºÃͬ²½£¬Ò»°ãÓÃmutex¡£¿ÉÒԲο¼Ò»Ð©±È½ÏеÄUNIX/Linux±à³ÌµÄÊ飬¶¼»áÌáµ½PosixÏ̱߳à³Ì£¬±ÈÈç¡¶U ......
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
/boot/grub/menu.lst GR ......
×òÌìÔÚÒ»¸ö¿Í»§»·¾³£¬ÓÉÓÚ¿Õ¼ä½ôÕÅ£¬É¾³ýÁËÒ»¸öÎļþ£¬Óöµ½ÁËÎļþ¾ä±úÓë¿Õ¼äÊͷŵÄÎÊÌ⣬¼Ç¼һÏ¡£
ÔÚϵͳÉÏ£¬ÁÙʱ±í¿Õ¼äÀ©Õ¹µ½ÁË32G£¬ÎÒн¨ÁËÒ»¸öÁÙʱ±í¿Õ¼ä
£¬²¢Çл»ÁËÊý¾Ý¿âÉèÖãº[oracle@corde tdb]$ ls -sort
total 35101212
51264 -rw-r----- 1 oracle 52429312 Oct 20 08 ......