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

LinuxÄÚºËÉ豸ģÐÍ(4)

ÒëÕߣº¹ùÉÙ±¯
2009/12/02
Ô­ÎÄ£ºlinux/Documentation/driver-model/class.txt
É豸Àà
½éÉÜ
~~~~
Ò»¸öÉ豸ÀàÃèÊöÁËÒ»ÀàµÄÉ豸£¬ÀýÈçÓïÒôÉ豸»òÕßÍøÂçÉ豸¡£ÏÂÃæÊÇÒѶ¨ÒåµÄÉ豸Àà:
<Insert List of Device Classes Here>
ÿ¸öÉ豸ÀඨÒåÁËÒ»Ì×Óï·¨ºÍÉ豸×ñÑ­µÄ±à³Ì½Ó¿Ú¡£É豸Çý¶¯¾ÍÊÇÎªÌØ¶¨×ÜÏßÉϵÄ
ÌØ¶¨É豸¶øÍê³ÉµÄÕâÌ×±à³Ì½Ó¿ÚʵÏÖ¡£
¶ÔÓÚÒ»¸öÉ豸פ×ãÔÚÄĸö×ÜÏßÉÏ£¬É豸ÀàÊDz»¿ÉÖªµÄ¡£
±à³Ì½Ó¿Ú
~~~~~~~~
É豸ÀàµÄÊý¾Ý½á¹¹ÈçÏ£º
typedef int (*devclass_add)(struct device *);
typedef void (*devclass_remove)(struct device *);
struct device_class {
    char            * name;
    rwlock_t        lock;
    u32            devnum;
    struct list_head    node;
    struct list_head    drivers;
    struct list_head    intf_list;
    struct driver_dir_entry    dir;
    struct driver_dir_entry    device_dir;
    struct driver_dir_entry    driver_dir;
    devclass_add        add_device;
    devclass_remove        remove_device;
};
Ò»¸öµäÐ͵ÄÉ豸ÀàÀàËÆÈç϶¨Ò壺
struct device_class input_devclass = {
        .name        = "input",
        .add_device    = input_add_device,
    .remove_device    = input_remove_device,
};
ÿ¸öÉ豸ÀàÊý¾Ý½á¹¹·ÅÔÚÒ»¸öÍ·ÎļþÀïµ¼³ö£¬Òò´ËËüÄܹ»±»Çý¶¯£¬À©Õ¹³ÌÐòºÍ½Ó¿Ú
ʹÓá£
ÄÚºËÀïÉ豸ÀàµÄ×¢²áºÍ×¢Ïúº¯Êý½Ó¿ÚÈçÏÂËùʾ£º
int devclass_register(struct device_class * cls);
void devclass_unregister(struct device_class * cls);
É豸
~~~~
µ±É豸°ó¶¨µ½Çý¶¯ÉÏ£¬Ëü¾Í»á±»Ìí¼Ó


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

Ubuntu LinuxÈëÃŵ½¾«Í¨

 
 
¡¡¡¡
¡¡¡¡
¡¡¡¡±¾ÊéÈ«Ãæ½éÉÜÁËUbuntu LinuxµÄÏà¹ØÖªÊ¶£¬ÄÚÈÝÏêʵ£¬ÂÛÊöÇåÎú¡£Ö÷ÒªÄÚÈݰüÀ¨Ubuntu½éÉÜ¡¢Îļþϵͳ¹ÜÀí¡¢½ø³Ì¹ÜÀí¡¢Ñ¹ËõÓë²éѯϵͳ¡¢ShellÓ¦Óá¢TCP/IP»ù´¡¡¢ÍøÂç¹ÜÀí¡¢ÍøÂçÓ²ÅÌÒÔ¼°¼ÓÃܰ²È«Í¨ÐŵÈÄÚÈÝ¡£
¡¡¡¡±¾ÊéÊÇÒ»±¾ÀíÂÛÓëʵ¼ù²¢ÖصÄÊé¼®£¬¿É×÷ΪרҵÈËÔ±µÄ²Î¿¼Êé¼®£¬Ò²ÊʺÏÓÚ¶ÔUbuntu ......

Linux½ø³Ì¹ÜÀíÃüÁîÏê½â(psºÍtop)

ת×Ô£ºhttp://www.vimer.cn
Linux½ø³Ì¹ÜÀíÃüÁîÏê½â(psºÍtop)
1.psÃüÁî
×÷ÓãºpsÃüÁîÖ÷Òª²é¿´ÏµÍ³Öнø³ÌµÄ״̬¡£
¸ñʽ£ºps [Ñ¡Ïî]
Ö÷ҪѡÏîÈçÏ¡£
-A£ºÏÔʾϵͳÖÐËùÓнø³ÌµÄÐÅÏ¢¡£
-e£ºÏÔʾËùÓнø³ÌµÄÐÅÏ¢¡£
-f£ºÏÔʾ½ø³ÌµÄËùÓÐÐÅÏ¢¡£
-l£ºÒÔ³¤¸ñʽÏÔʾ½ø³ÌÐÅÏ¢¡£
-r£ºÖ»ÏÔʾÕýÔÚÔËÐеĽø³Ì¡£
-u£ºÏÔÊ¾ÃæÏòÓû§µÄ ......

linux fork()º¯Êýѧϰ

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
    pid_t pid;
    static int n = 0;
    printf("fork!\n"); /*printf("fork!")*/
    switch (pid = fork())
    {
 &nbs ......

¹ØÓÚLinuxµÄalsaÒôƵÎÊÌâ½â¾ö

      µ½½ñÈÕ£¬ÔÚandroidƽ̨Éϵ÷ÊÔÉùÒôµÄ·½ÃæÖÕÓÚÓÐÁ˽øÕ¹£¬Ô­À´ÊÇÐèÒª¸ÄÒ»¸öÅäÖÃÎļþ£¬Ä¿Ç°Ö»Êǽâ¾öÁËÎÊÌ⣬¾ßÌåÔ­ÒòÒÔºóÔÙ·ÖÎö¡£Ó²¼þƽ̨ÊÇ6410+WM9714£¬Èí¼þƽ̨ÊÇANDROID¡£ÏÖÔÚÓÉÓÚandroidϵͳÆô¶¯Ê±£¬¼ÓÔØÒôƵ·þÎñ²»³É¹¦£¬´¦ÓÚÒ»¸öËÀÑ­»·ÖУ¬ÀÏÍ£Ôڵǽ½çÃæ¡£´Ëʱ´òÓ¡µÄLogcatÐÅÏ¢ÈçÏ£º
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ