Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

[תÌû]LinuxÇý¶¯¿ª·¢Ñ§Ï°µÄһЩ±ØÒª²½Öè

 1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......

ʹÓà Java ¶Ô Linux ÏÂÎļþ±àÂë¸ñʽ½øÐÐÅúÁ¿×ª»»

ʹÓà Java ¶Ô Linux ÏÂÎļþ±àÂë¸ñʽ½øÐÐÅúÁ¿×ª»»
        ²âÊÔʹÓÃ˵Ã÷£º
        1¡£½« ×Ö·û¼¯±àÂë¸ñʽΪ GB2312 µÄÎļþ test0.java£¬test1.java£¬test2.java ·ÅÔÚ /home/defonds/tmp/test Ŀ¼Ï£¨test0.java£¬test1.java£¬test2.java ×÷Õß¿ÉÒÔ ......

Linux±Ø»á»ù´¡ÃüÁî

  1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨ ×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£ 2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ eg: ls /usr/man ls -l a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö"-"±íʾÊÇÎļþ£¬Èç¹ûÊÇlÔò±íʾ ......

Linuxµ¥Óû§Ä£Ê½£ºÐÞ¸ÄROOTÃÜÂëºÍgrub¼ÓÃÜ

Linux ϵͳ´¦ÓÚÕý³£×´Ì¬Ê±£¬·þÎñÆ÷Ö÷»ú¿ª»ú£¨»òÖØÐÂÆô¶¯£©ºó£¬Äܹ»ÓÉϵͳÒýµ¼Æ÷³ÌÐò×Ô¶¯Òýµ¼ Linux ϵͳÆô¶¯µ½¶àÓû§Ä£Ê½£¬²¢ÌṩÕý³£µÄÍøÂç·þÎñ¡£Èç¹ûϵͳ¹ÜÀíÔ±ÐèÒª½øÐÐϵͳά»¤»òϵͳ³öÏÖÆô¶¯Ò쳣ʱ£¬¾ÍÐèÒª½øÈëµ¥Óû§Ä£Ê½»òÐÞ¸´Ä£Ê½¶Ôϵͳ½øÐйÜÀíÁË¡£Ê¹Óõ¥Óû§Ä£Ê½ÓÐÒ»¸öǰÌᣬ¾ÍÊÇÄúµÄϵͳÒýµ¼Æ÷£¨grub£©ÄÜÕý³£¹¤×÷£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ