Ïêϸ½éÉÜ Linux 2.6 É豸µÄÇý¶¯Ä£ÐÍ
linux 2.6 É豸Çý¶¯Ä£ÐÍ
1.±³¾°
Ëæ×ÅÉè±¸ÍØÆË½á¹¹Ô½À´Ô½¸´ÔÓ£¬ÐèҪΪÄں˽¨Á¢Ò»¸öͳһµÄÉ豸ģÐÍ£¬¶Ôϵͳ½á¹¹×öÒ»°ãÐԵijéÏóÃèÊö¡£
ÓÐÁ˸óéÏó½á¹¹£¬¿ÉÖ§³Ö¶àÖÖ²»Í¬µÄÈÎÎñ£º
a) µçÔ´¹ÜÀí Íê³ÉµçÔ´¹ÜÀí¹¤×÷ÐèÒª¶Ôϵͳ½á¹¹µÄÀí½â£¬ÇÒÓÐÑϸñµÄ˳Ðò£¬È磺һ¸öUSBËÞÖ÷ÊÊÅäÆ÷£¬ÔÚ´¦ÀíÍêËùÓÐÓëÆäÏàÁ¬½ÓµÄÉè±¸ÃæÇ°ÊDz»Äܹرյģ»
b) ÓëÓû§¿Õ¼äͨÐÅ ÓÉ/sysfsÐéÄâÎļþϵͳչʾÉ豸µÄÊôÐÔ
c) ÈȲå°ÎÉ豸
d) ¶ÔÏóÉúÃüÖÜÆÚ
2.sysfs ÐéÄâÎļþϵͳ
sysfs ÊÇÒ»¸öÌØÊâµÄÎļþϵͳ£¬ÀàËÆÓÚ/proc¡£sysfs²»½öÏó/procÒ»ÑùÔÊÐíÓû§¿Õ¼ä·ÃÎÊÄں˵ÄÊý¾Ý£¬¶øÇÒËüÒÔ¸ü½á¹¹»¯µÄ·½Ê½ÏòÓû§ÌṩÄÚºËÊý¾ÝÐÅÏ¢¡£
sysfsµÄÒ»¸öÄ¿µÄ¾ÍÊÇչʾÉ豸Çý¶¯Ä£ÐÍÖи÷×é¼þµÄ²ã´Î¹ØÏµ¡£Æä¶¥¼¶Ä¿Â¼°üÀ¨£º
a) block
b) device
c) bus
d) drivers
e) class
f) power
g) firmware
ÿ¸öĿ¼´ú±íÒ»¸ökobject¶ÔÏó£¬Ã¿¸öÎļþ´ú±íkobjectµÄÊôÐÔ¡£
3. Kobject¡¢Kset ºÍ subsystem
3.1 Kobject
Kobject ÊÇ×é³ÉÉ豸ģÐ͵Ļù±¾½á¹¹¡£ÀàËÆÓÚC++ÖеĻùÀ࣬ËüǶÈëÓÚ¸ü´óµÄ¶ÔÏóµÄ¶ÔÏóÖÐ--ËùνµÄÈÝÆ÷--ÓÃÀ´ÃèÊöÉ豸ģÐ͵Ä×é¼þ¡£Èçbus, devices, drivers ¶¼ÊǵäÐ͵ÄÈÝÆ÷¡£
ÈÝÆ÷ÓÐÁËkobjectÖ®ºó£¬ÔÊÐíÄںˣº
a) ±£´æ¶ÔÈÝÆ÷µÄÒýÓüÆÊý
b) ±£´æÈÝÆ÷Ö®¼äµÄ²ã´Î¹ØÏµ
c) Ϊÿ¸öÈÝÆ÷µÄÊôÐÔÌṩһ¸öÓû§ÊÓͼ
struct kobject{
char * k_name;
char name[20];
struct k_ref kref;
struct list_head entry;
struct kobject * parent;
struct kset * kset;
struct ktype *
Ïà¹ØÎĵµ£º
2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
Èç¹û²»ÏëʹÓÃ顏É«£¬¾ÍÖ±½Ó°Ñ
/etc/DIR.COLORS
mvÁ˾ͿÉÒÔÁË¡£
Èç¹û這個Îļþ´æÔÚ£¬
ÄÇô
À¶É«±íʾĿ¼£»
ÂÌÉ«±íʾ¿ÉÖ´ÐÐÎļþ£»
ºìÉ«±íʾѹËõÎļþ£»
dzÀ¶É«±íʾÁ´½ÓÎļþ£»
»ÒÉ«±íʾÆäËüÎļþ£»
ºìÉ«ÉÁ˸±íʾÁ´½ÓµÄÎļþÓÐÎÊÌâÁË£»
»ÆÉ«ÊÇÉ豸Îļþ£¬°üÀ¨block, char, fifo¡£ ......
×î½üÓÖ¿ªÊ¼¿´CarmerµÄÇý¶¯ÁË£¬ÔÚLinuxÏÂͨ³£ÊµÓÃVideo4linux¿ò¼ÜÀ´ÊµÏÖVideo capture/Camera CaptureµÈ¹¦ÄÜ£¬ÏÈ˵һÏÂÉ豸ע²á²¿·Ö£¬ov7670.cÖУ¬×¢²á·½·¨ÈçÏ£º
static struct v4l2_i2c_driver_data v4l2_i2c_data = {
.name = "ov7670",
&nb ......
linuxÏÂi386,i486,i586,i686µÄÇø±ð
.
i386,i486,i586·Ö±ðÊÇÕë¶Ô80386,80486,80586±àÒëµÄ°ü£¬i686¾Í±È½Ï¹ã·ºÁË£¬´Óp2¿ªÊ¼x86´¦ÀíÆ÷¾Í½øÈëÁËp6¹¹¼ÜµÄʱ´ú£¬Ò»Ö±µ½ÏÖÔÚ¶¼ÊÇp6¼Ü¹¹¡£Ð¼ܹ¹µÄcpuÏòϼæÈÝΪ¾É¼Ü¹¹±àÒëµÄÈí¼þ°ü.
i386.rpmÓëi686.rpmÓÐÊ²Ã´Çø±ð?
x86Ìåϵ½á¹¹ËäȻָÁî¶¼Ò»Ñù£¬µ«ÊDz»Í¬Ê±´úµÄ¾ßÌåʵÏÖ£¬ÔÚ±àÒëÓ ......