Linux NAND FLASHÇý¶¯´úÂë·ÖÎö
×÷Õߣº·¶Ò»º½,»ªÇåÔ¶¼ûÉîÛڸ߼¶½²Ê¦
FLASHÇý¶¯ÔÚǶÈëʽϵͳÖÐÓÐמÙ×ãÇáÖØµÄλÖ㬶øÄ¿Ç°Êг¡ÉÏNAND FLASHµÄ¼Û¸ñÓÖÒª±ãÒËÓëNOR FLASH,Ëæ×ÅÔ½À´Ô½¶àµÄƽ̨֧³Ö´ÓNAND FLASHÖÐÆô¶¯£¬ÕÆÎÕNAND flashµÄÇý¶¯±àдÓÐ×ÅÖØÒªµÄÏÖʵÒâÒ壬ÓÉÓÚÄÚºËÒѾÍê³ÉÁ˴󲿷ֵŤ×÷£¬Êµ¼Ê¹¤×÷Öд󲿷ֹ¤³Ìʦ¶ÔNAND FLASHÇý¶¯Ö»ÊǼòµ¥µÄÐ޸ģ¬¶ÔÆä¹¤×÷ÔÀí²¢²»Ì«Çå³þ£¬ÏÂÃæÎÒÃÇÀ´·ÖÎöÒ»ÏÂNAND FLASHµÄ´úÂëÁ÷³Ì£¬´ÓÖÐÌå»á¿éÉ豸µÄ´úÂëÖ®ÃÀ¡£
ÔÚѧϰNAND FLASHÇý¶¯Ö®Ç°£¬ÎÒÃÇÐèÒª¶Ô¿éÉ豸ÖÐÏÂÃæµÄÖØÒª2µãÓиöÈÏʶ£º
1.gendisk: ÃèÊö¿éÉ豸ʵÌå(Ò»Õû¸önandflashоƬ)µÄ½á¹¹Ìå
Õû¸ö¿éÉ豸µÄ×¢²á¹ý³Ì¶¼ÊÇÎ§ÈÆgendiskÀ´¿ªÕ¹µÄ
2. add_disk() // ½«Ò»¸ö·ÖÇøÐÅÏ¢(Èç/dev/mtdblock3)×¢²áµ½ÄÚºËÁбíÖÐ
ÏÂÃæÎÒÃÇÀ´·ÖÎö¾ßÌåµÄÇý¶¯£º
Ò»¡¢s3c2410nandflash¿ØÖÆÆ÷³õʼ»¯²½Öè:
s3c2410_nand_init(&s3c2410_nand_driver)
-> driver_register->bus_add_driver()->driver_attach->bus_for_each_dev(__driver_attach)->driver_probe_device()->dev->probe() [×îºóÕâ¸öº¯ÊýʵÖÊÊÇs3c2410_nand_probe()]
-> s3c2410_nand_probe()
-> s3c24xx_nand_probe()
-> s3c2410_nand_inithw() // ³õʼ»¯nandflash¿ØÖÆÆ÷
-> s3c2410_nand_init_chip()// ³õʼ»¯s3c2410 nandflashÇý¶¯×îµ×²ãµÄ·ÃÎÊ¿ØÖƺ¯Êý
&nbs
Ïà¹ØÎĵµ£º
s
hellÊÇÓû§ºÍLinux²Ù×÷ϵͳ֮¼äµÄ½Ó¿Ú¡£LinuxÖÐ
ÓжàÖÖshell£¬ÆäÖÐȱʡʹÓõÄÊÇBash¡£±¾Õ½²ÊöÁËshellµÄ¹¤×÷ÔÀí£¬shellµÄÖÖÀ࣬shellµÄÒ»°ã²Ù×÷¼°BashµÄÌØÐÔ¡£
¡¡¡¡Ê²Ã´ÊÇshell
¡¡¡¡LinuxϵͳµÄshell×÷Ϊ²Ù×÷ϵͳµÄÍâ¿Ç£¬ÎªÓû§Ìá
¹©Ê¹ÓòÙ×÷ϵͳµÄ½Ó¿Ú¡£ËüÊÇÃüÁîÓïÑÔ¡¢ÃüÁî½âÊͳÌÐò¼°³ÌÐòÉè¼ÆÓïÑÔµÄͳ³Æ¡£
¡¡¡¡s ......
dfÃüÁîÏêϸÓ÷¨
a£ºÏÔʾȫ²¿µÄµµ°¸ÏµÍ³ºÍ¸÷·Ö¸îÇøµÄ´ÅÅÌʹÓÃÇéÐÎ
i£ºÏÔʾi -nodesµÄʹÓÃÁ¿
k£º´óСÓÃkÀ´±íʾ (ĬÈÏÖµ)
t£ºÏÔʾijһ¸öµµ°¸ÏµÍ³µÄËùÓзָîÇø´ÅÅÌʹÓÃÁ¿
x£ºÏÔʾ²»ÊÇijһ¸öµµ°¸ÏµÍ³µÄËùÓзָîÇø´ÅÅÌʹÓÃÁ¿
T£ºÏÔʾÿ¸ö·Ö¸îÇøËùÊôµÄµµ°¸ÏµÍ³Ãû³Æ
³£ÓÃÃüÁdf -hi
²Ù×÷Ïê½â
&n ......
“Sudo” ÊÇUnix/Linuxƽ̨ÉϵÄÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬ËüÔÊÐíϵͳ¹ÜÀíÔ±·ÖÅ䏸ÆÕͨÓû§Ò»Ð©ºÏÀíµÄ“ȨÀû”£¬ÈÃËûÃÇÖ´ÐÐһЩֻÓг¬¼¶Óû§»òÆä
ËûÌØÐíÓû§²ÅÄÜÍê³ÉµÄÈÎÎñ£¬±ÈÈ磺ÔËÐÐһЩÏñmount£¬halt£¬suÖ®ÀàµÄÃüÁ»òÕß±à¼Ò»Ð©ÏµÍ³ÅäÖÃÎļþ£¬Ïñ/etc/mtab£¬ /etc
/samba/smb.confµÈ¡£ÕâÑùÒ ......
×î½üÔÚkernel ÀïÃæ coding, ÕÒÀ´Ò»Ð©×ÊÁÏ Ë³ÊÖÌùÀ´£¬·½±ã²éÕÒ¡££¨¸ÐлÔ×÷ÕßµÄŬÁ¦£¬ÈôÓаæÈ¨ÎÊÌ⣬ÇëÁªÏµ£©
ÓÐʱºòÐèÒªÔÚLinux kernel££´ó¶àÊÇÔÚÐèÒªµ÷ÊÔµÄÇý¶¯³ÌÐò££ÖжÁдÎļþÊý¾Ý¡£ÔÚkernelÖвÙ×÷ÎļþûÓбê×¼¿â¿ÉÓã¬ÐèÒªÀûÓÃkernelµÄһЩº¯Êý£¬ÕâЩº¯ÊýÖ÷ÒªÓУº filp_open() fi ......