Linux 2.6 ×Ö·ûÉ豸Çý¶¯³ÌÐò
¡ð
¡¢ËµÃ÷
±Ê¼ÇÊÊÓÃÓÚ
Linux
µÄ
2.6.10
ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔ
Linux
Device
Driver3
ÌṩµÄ
scull
³ÌÐò
(scull
Ŀ¼ÖеÄ
main.c
ºÍ
scull.h)
Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬
module_init( )
ºÍ
module_exit(
)
ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж¼»á·ÅÔÚÒ»ÆðÌÖÂÛ£¬µ«ÊDZ¾±Ê¼ÇÈ´²»»áÕâÑù£¬¶øÊÇÔÚÐèÒªµ÷ÓõÄʱºò²Å»áÉæ¼°£¬Òò´Ë
module_init(
)
»á·ÅÔڱʼǿªÊ¼Ê±£¬Ò²¾ÍÊǸռÓÔØ
module
ʱÌÖÂÛ£¬¶ø
module_exit( )
Ôò»á·ÅÔڱʼǽáÊøÇ°£¬Ò²¾ÍÊÇÒªÐ¶ÔØ
module
ʱÔÙ¼ÓÒÔÌÖÂÛ¡£
¸Ã±Ê¼ÇµÄµÄÄ¿µÄÊÇΪÁ˶Ô
Linux Device Drvier3
ÖÐÌáµ½µÄ¸÷¸ö֪ʶµã×÷Ò»ÏÂÕûÀí£¬ÀíÇåÒ»ÏÂÍ·Ð÷£¬´Ó¶øÄÜÈÃÎÒ¶Ô
Linux
Çý¶¯³ÌÐò¼ÓÉîÕûÌå»òÕßÈ«¾ÖÉϵÄÀí½â¡£
×¢£º¸öÈËÀí½â£¬ÓÐÎóÄÑÃ⣡
*******************************************
Çý¶¯³ÌÐò
module
µÄ¹¤×÷Á÷³ÌÖ÷Òª·ÖΪËĸö²¿·Ö£º
1
¡¢
ÓÃ
Linux
ÌṩµÄÃüÁî¼ÓÔØÇý¶¯
module
2
¡¢
Çý¶¯
module
µÄ³õʼ»¯£¨³õʼ»¯½áÊøºó¼´½øÈë
“
DZ·ü
”
״̬£¬Ö±µ½ÓÐϵͳµ÷Óã©
3
¡¢
µ±²Ù×÷É豸ʱ£¬¼´ÓÐϵͳµ÷ÓÃʱ£¬µ÷ÓÃÇý¶¯
module
ÌṩµÄ¸÷¸ö·þÎñº¯Êý
4
¡¢
Ð¶ÔØÇý¶¯
module
Ò»¡¢
Çý¶¯³ÌÐòµÄ¼ÓÔØ
Linux
Çý¶¯³ÌÐò·ÖΪÁ½ÖÖÐÎʽ£ºÒ»ÖÖÊÇÖ±½Ó±àÒë½øÄںˣ¬ÁíÒ»ÖÖÊDZàÒë³É
module
ÐÎʽ£¬È»ºóÔÚÐèÒª¸ÃÇý¶¯
module
ʱÊÖ¶¯¼ÓÔØ¡£¶ÔÓÚǰÕߣ¬»¹Óдýѧϰ¡£
Module
ÐÎʽµÄÇý¶¯£¬
Linux
ÌṩÁËÁ½¸öÃüÁîÓÃÀ´¼ÓÔØ£º
modprobe
ºÍ
insmod
¡£
Æä
ÖÐ
modprobe
¿ÉÒÔ½â¾öÇý¶¯
module
µÄÒÀÀµÐÔ£¬¼´¼ÙÈçÕý¼ÓÔØµÄÇý¶¯
module
ÈôÒýÓÃÁËÆäËû
module
ÌṩµÄÄں˷ûºÅ»òÕ߯äËû×ÊÔ´£¬Ôò
modprobe
¾Í»á×Ô¶¯¼ÓÔØÄÇЩ
module
£¬²»¹ý£¬Ê¹ÓÃ
modprobe
ʱ£¬±ØÐë°ÑÒª¼ÓÔØµÄÇý¶¯
module
·ÅÔÚµ±Ç°Ä£¿éËÑË÷·¾¶ÖС£¶ø
insmod
ÃüÁî²»»á¿¼ÂÇÇý¶¯
module
µÄÒÀÀµÐÔ£¬µ«ÊÇËüÈ´¿ÉÒÔ¼ÓÔØÈÎÒâĿ¼ÏµÄÇý¶¯
module
¡£
Ò»°ãÀ´Ëµ£¬ÔÚÇý¶¯¿ª·¢½×¶Î£¬Ê¹ÓÃ
/sbin/insmod
±È½Ï·½±ã£¬ÒòΪ²»Óý«
module
·ÅÈ뵱ǰ
module
ËÑË÷·¾¶ÖС£
Ò»µ©Ê¹ÓÃ
insmod
¼ÓÔØÄ£¿é£¬Ôò
Linux
Äں˾ͻáµ÷ÓÃ
module_init(scull_init_module)
ÌØÊâºê£¬ÆäÖÐ
scull_init_module
ÊÇÇý¶¯³õʼ»¯º¯Êý£¬¿É×Ô¶¨ÒåÃû³Æ¡£
ÔÚÓÃ
insmod
¼ÓÔØ
module
ʱ£¬»¹¿ÉÒÔ¸ø
module
Ìṩģ¿é²ÎÊý£¬µ«ÊÇÕâÐèÒªÔÚÇý¶¯Ô´´úÂëÖмÓÈ뼸ÌõÓï¾ä£¬ÈÃÄ£¿é
Ïà¹ØÎĵµ£º
ls -l|grep ^d ----Áгöµ±Ç°Ä¿Â¼ÏµÄÎļþ¼Ð
ls -l|grep ^d|grep "tmp" ----Áгöµ±Ç°Ä¿Â¼ÏÂÃ÷×Óº¬ÓÐ"tmp"µÄÎļþ¼Ð
for dir in `ls -l ~/dxy/|grep ^d | awk '{print $9}'` ---- awk '{print $9}' ,Ö»print Îļþ¼ÐµÄÃû×Ö
do
echo "==== $dir"
cd ~/dxy;cd $dir/
t=`ls -l|grep ^d|grep " ......
Linux Input Device ½é紹: APIs
jollen 發±íì¶ April 8, 2009 12:18 PM
Linux µÄ Input Device ÊÇÖØÒªµÄÒ»個 subsystem£¬ÔÚ進ÐÐ實Àý½é紹ǰ£¬ÏÈ´óÂÔÁ˽âÒ»ÏÂÏà關µÄ API¡£
Linux Input Device
input.cÊÇLinuxµÄ”input”驅動³Ìʽ£¬Ö÷ÒªÖ ......
The Linux USB input subsystem is a single, harmonized way to manage all input devices. This is a relatively new approach for Linux, with the system being partly incorporated in kernel version 2.4 and fully integrated in the 2.5 development series.
This article covers four basic areas: a descripti ......
×÷ÕߣºÒ×ËÉ»ª,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
ÔÚ»ªÇåÔ¶¼ûÉϿιý³ÌÖУ¬·¢ÏÖ¾²Ì¬Ó³Éä·½Ãæ³õѧÕ߱ȽÏÄÑÓÚÕÆÎÕºÍÀí½â£¬ÏÂÃæ·ÖÎöһϾ²Ì¬Ó³Éä»úÖÆµÄÔÀí²¢Í¨¹ýGPIOºÍUSB¡¢LCDµÈµÄ¾²Ì¬Ó³Éä×÷ΪÀý×ÓÀ´ËµÃ÷ÈçºÎͨ¹ýÕâÖÖ¾²Ì¬Ó³ÉäµÄ·½Ê½·ÃÎÊÍâÉè×ÊÔ´¡£
ÄÚºËÌṩÁËÒ»¸öÖØÒªµÄ½á¹¹Ìåstruct machine_desc ,Õâ¸ö½á¹¹ÌåÔÚÄÚºËÒÆÖ²ÖÐÆðµ½Ï൱ ......