ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

LinuxÉ豸Çý¶¯¸ÅÒª
2014-11-24 08:20:37 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:0´Î
Tags£ºLinux É豸Çý¶¯ ¸ÅÒª

²Î¿¼£º¡¶linuxÉ豸Çý¶¯³ÌÐò¡·µÚÈý°æ


ÏÂÔØÔÚLinux¹«ÉçµÄ1ºÅFTP·þÎñÆ÷ÀÏÂÔØµØÖ·£º


ÃÜÂ룺www.muu.cc


ÔÚ 2011ÄêLinuxIDC.com\3ÔÂ\LinuxÉ豸Çý¶¯¸ÅÒª


ÏÂÔØ·½·¨¼û http://www.linuxidc.net/thread-1187-1-1.html


Ò» LinuxÉ豸Çý¶¯µÄ»ù±¾¸ÅÄî


ϵͳµ÷ÓÃÊDzÙ×÷ϵͳÄں˺ÍÓ¦ÓóÌÐòÖ®¼äµÄ½Ó¿Ú£¬É豸Çý¶¯³ÌÐòÊDzÙ×÷ϵͳÄں˺ͻúÆ÷Ó²¼þÖ®¼äµÄ½Ó¿Ú¡£É豸Çý¶¯³ÌÐòΪӦÓóÌÐòÆÁ±ÎÁËÓ²¼þµÄϸ½Ú£¬ÕâÑùÔÚÓ¦ÓóÌÐò¿´À´£¬Ó²¼þÉ豸ֻÊÇÒ»¸öÉ豸Îļþ£¬Ó¦ÓóÌÐò¿ÉÒÔÏó²Ù×÷ÆÕͨÎļþÒ»Ñù¶ÔÓ²¼þÉ豸½øÐвÙ×÷¡£É豸Çý¶¯³ÌÐòÊÇÄں˵ÄÒ»²¿·Ö£¬ËüÍê³ÉÒÔÏµĹ¦ÄÜ:


1¡¢¶ÔÉ豸³õʼ»¯ºÍÊÍ·Å£»


2¡¢°ÑÊý¾Ý´ÓÄں˴«Ë͵½Ó²¼þºÍ´ÓÓ²¼þ¶ÁÈ¡Êý¾Ý£»


3¡¢¶ÁȡӦÓóÌÐò´«Ë͸øÉ豸ÎļþµÄÊý¾ÝºÍ»ØËÍÓ¦ÓóÌÐòÇëÇóµÄÊý¾Ý£»


4¡¢¼ì²âºÍ´¦ÀíÉ豸³öÏֵĴíÎó¡£


ÔÚLinux²Ù×÷ϵͳÏÂÓÐÈýÀàÖ÷ÒªµÄÉ豸ÎļþÀàÐÍ£¬Ò»ÊÇ×Ö·ûÉ豸£¬¶þÊÇ¿éÉ豸£¬ÈýÊÇÍøÂçÉ豸¡£×Ö·ûÉ豸ºÍ¿éÉ豸µÄÖ÷񻂿±ðÊÇ:ÔÚ¶Ô×Ö·ûÉ豸·¢³ö¶Á/дÇëÇóʱ£¬Êµ¼ÊµÄÓ²¼þI/OÒ»°ã¾Í½ô½Ó×Å·¢ÉúÁË£¬¿éÉ豸Ôò²»È»£¬ËüÀûÓÃÒ»¿éϵͳÄÚ´æ×÷»º³åÇø£¬µ±Óû§½ø³Ì¶ÔÉ豸ÇëÇóÄÜÂú×ãÓû§µÄÒªÇ󣬾ͷµ»ØÇëÇóµÄÊý¾Ý£¬Èç¹û²»ÄÜ£¬¾Íµ÷ÓÃÇëÇóº¯ÊýÀ´½øÐÐʵ¼ÊµÄI/O²Ù×÷¡£¿éÉ豸ÊÇÖ÷ÒªÕë¶Ô´ÅÅ̵ÈÂýËÙÉ豸Éè¼ÆµÄ£¬ÒÔÃâºÄ·Ñ¹ý¶àµÄCPUʱ¼äÀ´µÈ´ý¡£


ÒѾ­Ìáµ½£¬Óû§½ø³ÌÊÇͨ¹ýÉ豸ÎļþÀ´Óëʵ¼ÊµÄÓ²¼þ´ò½»µÀ¡£Ã¿¸öÎļþ¶¼ÓÐÁ½¸öÉ豸ºÅ£¬µÚÒ»¸öÊÇÖ÷É豸ºÅ£¬±êʶÇý¶¯³ÌÐò£¬µÚ¶þ¸öÊÇ´ÓÉ豸ºÅ£¬±êʶʹÓÃͬһ¸öÉ豸Çý¶¯³ÌÐòµÄ²»Í¬µÄÓ²¼þÉ豸£¬±ÈÈçÓÐÁ½¸öÈíÅÌ£¬¾Í¿ÉÒÔÓôÓÉ豸ºÅÀ´Çø·ÖËûÃÇ¡£É豸ÎļþµÄµÄÖ÷É豸ºÅ±ØÐëÓëÉ豸Çý¶¯³ÌÐòÔڵǼÇʱÉêÇëµÄÖ÷É豸ºÅÒ»Ö£¬·ñÔòÓû§½ø³Ì½«ÎÞ·¨·ÃÎʵ½Çý¶¯³ÌÐò¡£


¶þ Ö÷É豸ºÍ´ÎÉ豸ºÅ


É豸ºÅÊÇÔÚÇý¶¯moduleÖзÖÅä²¢×¢²áµÄ£¬Ò²¾ÍÊÇ˵£¬Çý¶¯moduleÓµÓÐÕâ¸öÉ豸ºÅ£¬¶ø/devĿ¼ÏµÄÉ豸ÎļþÊǸù¾ÝÕâ¸öÉ豸ºÅ´´½¨µÄ£¬Òò´Ë£¬µ±·ÃÎÊ/devĿ¼ÏµÄÉ豸Îļþʱ£¬Çý¶¯module¾ÍÖªµÀ£¬×Ô¼º¸Ã³ö³¡·þÎñÁË(µ±È»ÊÇÓÉÄÚºË֪ͨ)¡£


ÔÚLinuxÄں˿´À´£¬Ö÷É豸ºÅ±êʶÉ豸¶ÔÓ¦µÄÇý¶¯³ÌÐò£¬¸æËßLinuxÄÚºËʹÓÃÄÄÒ»¸öÇý¶¯³ÌÐòΪ¸ÃÉ豸(Ò²¾ÍÊÇ/devϵÄÉ豸Îļþ)·þÎñ£»¶ø´ÎÉ豸ºÅÔòÓÃÀ´±êʶ¾ßÌåÇÒΨһµÄij¸öÉ豸¡£


ÏÂÃæÊÇÎÒµÄϵͳ/devĿ¼ÏµĴÅÅÌÉ豸Îļþ


µÚ5ÁеÄ8ÊÇÖ÷É豸ºÅ£¬Óë´ÅÅÌÇý¶¯³ÌÐò¶ÔÓ¦£»µÚ6ÁеÄ0¡¢1¡¢2¡¢5ÊÇ´ÎÉ豸ºÅ£¬Óë´ÅÅ̵ĸ÷¸ö·ÖÇø¶ÔÓ¦¡£


É豸ºÅµÄ±íʾ


ÔÚÄÚºËÖУ¬dev_tÀàÐÍÓÃÀ´±£´æÉ豸µÄÉ豸ºÅ£¬°üÀ¨Ö÷É豸ºÅºÍ´ÎÉ豸ºÅ¡£ÒªÏë»ñµÃÉ豸µÄÖ÷É豸»òÕß´ÎÉ豸ºÅ£¬¿ÉÒÔ²ÉÓÃÏÂÃæµÄÁ½¸öº¯Êý£º


MAJOR(dev_t dev)


MINOR(dev_t dev)


Ïà·´£¬Èç¹ûÐèÒª½«Ö÷É豸ºÅ»òÕß´ÎÉ豸ºÅת»»³Édev_tÀàÐÍ£¬ÔòʹÓãº


MKDEV(int major,int minor)


É豸µÄ·ÖÅäÓëÊÍ·Å


ÔÚ½¨Á¢Ò»¸öÓ²¼þÉ豸֮ǰ£¬Çý¶¯³ÌÐò±ØÐë»ñµÃÒ»¸ö»òÕß¶à¸öÉ豸µÄÉ豸±àºÅ¡£


Èç¹ûÊÂÏÈÒѾ­ÖªµÀÁËҪʹÓõÄÉ豸ºÅ£¬¿ÉÒÔ²ÉÓÃregister_chrdev_regionº¯Êý½øÐÐ×¢²á£¬¸Ãº¯ÊýµÄ˵Ã÷ÈçÏ£º


/**
188 * register_chrdev_region() - register a range of device numbers
189 * @from: the first in the desired range of device numbers; must include
190 * the major number.
191 * @count: the number of consecutive device numbers required
192 * @name: the name of the device or driver.
193 *
194 * Return value is zero on success, a negative error code on failure.
195 */
196int register_chrdev_region(dev_t from, unsigned count, const char *name);
´ó¶àÊýÇé¿öÏ£¬ÎÒÃDz¢²»ÖªµÀÎÒÃǽ«ÒªÊ¹ÓÃÄÄЩÖ÷É豸ºÅ£¬ÕâÊÇ¿ÉÒÔ²ÉÓÃalloc_chrdev_regionº¯Êý¶¯Ì¬·ÖÅä²¢Íê³É×¢²á¡£


/**
222 * alloc_chrdev_region() - register a range of char device numbers
223 * @dev: output parameter for first assigned number
224 * @baseminor: first of the requested range of minor numbers
225 * @count: the number of minor numbers required
226 * @name: the name of the associated device or driver
227 *
228 * Allocates a range of char device numbers. The major number will be
229 * chosen dynamically, and returned (along with the first minor number)
230 * in @dev. Returns zero or a negative error code.
231 */
232int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count,
233 const char *name)


²»ÂÛ²ÉÓÃÄÄÖÖ·½·¨·ÖÅäÉ豸±àºÅ£¬Çý¶¯³ÌÐò¶¼Ó¦¸ÃÔÚ²»ÔÙʹÓÃËüÃǵÄʱºòÒªÊÍ·ÅÕâЩÉ豸±àºÅ£¬É豸±àºÅµÄÊÍ·ÅÖ÷Òª²ÉÓÃÏÂÃæµÄº¯Êý£º
/**
299 * unregister_chrdev_region() - return a range of device numbers
300 * @from: the first in the range of numbers to unregister
301 * @count: the number of device numbers to unregister
302 *
303 * This function will unregister a range of @count device numbers,
304 * starting with @from. The caller should normally be the one who
305 * allocated those numbers in the first place...
306 */
307void unregister_chrdev_region(dev_t from, unsigned count)


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºLinux:Ö÷É豸ºÅºÍ´ÎÉ豸ºÅ ÏÂһƪ£ºµÚÒ»¸öLinuxÇý¶¯-s3c6410 gpio

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Spring Boot Java£º (2025-12-26 16:20:19)
¡¤Spring Boot¤ÇHello (2025-12-26 16:20:15)
¡¤Spring ¤Î»ù±¾¤«¤éŒ (2025-12-26 16:20:12)
¡¤C++Ä£°å (template) (2025-12-26 15:49:49)
¡¤C ÓïÑÔÖÐÄ£°åµÄ¼¸ÖÖ (2025-12-26 15:49:47)