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

LinuxÄÚºËÄ£¿é±à³Ì¼ò½é

Ö÷Ì⣺ linuxÄÚºËÄ£¿éµÄ³ÌÐò½á¹¹--Ä£¿é¼ÓÔØº¯Êý(±ØÐë)£¬Ä£¿éÐ¶ÔØº¯Êý(±ØÐë)£¬Ä£¿éÐí¿ÉÖ¤ÉùÃ÷(±ØÐë)£¬Ä£¿é²ÎÊý(¿ÉÑ¡)£¬Ä£¿éµ¼³ö·ûºÅ(¿ÉÑ¡)£¬Ä£¿é×÷ÕߵĵÈÐÅÏ¢ÉùÃ÷(¿ÉÑ¡)
Ò»¸ölinuxÄÚºËÄ£¿éÖ÷ÒªÓÉÒÔϼ¸¸ö²¿·Ö×é³É¡£
1¡¢Ä£¿é¼ÓÔØº¯Êý"ÓÃmodule_init()À´Ö¸¶¨"(±ØÐë)
   µ±Í¨¹ýinsmodºÍmodprobeÃüÁî¼ÓÔØÄÚºËÄ£¿éʱ£¬Ä£¿éµÄ¼ÓÔØº¯Êý»á×Ô¶¯±»ÄÚºËÖ´ÐУ¬Íê³É±¾Ä£¿éµÄÏà¹Ø³õʼ»¯¹¤×÷¡£
linuxÄ£¿é¼ÓÔØº¯ÊýÒ»°ãÒÔ __init±íʾÉùÃ÷¡£µäÐÍÉùÃ÷ÈçÏÂ::
static int __init  initialization_function(void)
{
       /*³õʼ»¯´úÂë*/
}
module_init(initialization_function);
    Ä£¿é¼ÓÔØº¯Êý±ØÐëʹÓÃmodule_init(º¯ÊýÃû)µÄÐÎʽ±»Ö¸¶¨¡£Ëü·µ»ØÕûÐÍÖµ£¬Èô³õʼ»¯³É¹¦£¬Ó¦·µ»Ø0£¬¶ø³õʼ»¯Ê§°Üʱ£¬Ó¦·µ»Ø´íÎó±àÂë¡£ÔÚlinuxÄÚºËÖУ¬´íÎó±àÂëÊÇÒ»¸ö¸ºÖµ£¬ÔÚ<linux/errno.h>Öж¨Ò壬°üÀ¨-ENODEV¡¢-ENOMEMÖ®ÀàµÄ·ûºÅÖµ¡£·µ»ØÏàÓ¦µÄ´íÎó±àÂëÊÇÖַdz£ºÃµÄϰ¹ß£¬Ö»ÓÐÕâÑù£¬Ó¦ÓóÌÐò²ÅÄÜÀûÓÃperrorµÈ·½·¨°ÑËûÃÇת»»³ÉÓÐÒâÒåµÄ´íÎóÐÅÏ¢×Ö·û´®¡£
    ÔÚ2.6ÄÚºËÖУ¬¿ÉÒÔʹÓÓrequest_module(const char *fmt,...)º¯Êý”¼ÓÔØÄÚºËÄ£¿é£¨×¢Òâ£ºÇ°Ãæ¼ÓÔØÄ£¿é¶¼ÊÇͨ¹ýinsmodºÍmodprobeÀ´ÊµÏֵģ©£¬Çý¶¯¿ª·¢ÈËÔ±¿ÉÒÔͨ¹ýµ÷ÓÃ::
request_module(module_name);
»ò
request_module("char-major-%d-%d",MAJOR(dev),MINOR(dev));
À´¼ÓÔØÆäËûÄÚºËÄ£¿é¡£
   ÔÚlinuxÄÚºËÖУ¬ËùÓбíʾΪ__initµÄº¯ÊýÔÚÁ¬½ÓµÄʱºò·ÅÔÚ.init.textÕâ¸öÇø¶ÎÄÚ£¬´ËÍ⣬ËùÓеÄ__initº¯ÊýÔÚ¶Î.initcall.initÖл¹±£´æÁËÒ»·Ýº¯ÊýÖ¸Õ룬ÔÚ³õʼ»¯Ê±£¬Äں˻áͨ¹ýÕâЩָÕëµ÷ÓÃÕâЩ__initº¯Êý£¬²¢ÔÚ³õʼ»¯Íê³ÉºóÊÍ·ÅinitÇø¶Î(.init.text,.initcall.initµÈ)¡£
////////////////////////////////////////////////////////////////////
2¡¢Ä£¿éÐ¶ÔØº¯Êý"ÓÃmodule_exit()À´Ö¸¶¨"(±ØÐë)
   µ±Í¨¹ýrmmodºÍmodprobe -rÃüÁîÐ¶ÔØÄÚºËÄ£¿éʱ£¬Ä£¿éµÄÐ¶ÔØº¯Êý»á×Ô¶¯±»ÄÚºËÖ´ÐУ¬Íê³ÉÓëÄ£¿é¼ÓÔØº¯ÊýÏà·´µÄ¹¦ÄÜ¡£
   linuxÄÚºËÄ£¿éÓÚÔÚº¯ÊýÒ»°ãÒÔ__exit±íʾ˵Ã÷£¬µäÐ͵ÄÄ£¿éÐ¶ÔØº¯ÊýµÄÐÎʽÈçÏÂ::
static void __exit  cleanup_function(void)
{
         /*ÊÍ·Å´úÂë*/
}
module_exit(cleanup_function);
   Ä£¿éÐ¶ÔØº¯ÊýÔÚÄ£¿éÐ


Ïà¹ØÎĵµ£º

LinuxÏÂÅäÖÃSVN Server(¶þ)

ÔÚÒ»ÖÐÒѾ­ËµÃ÷ÁËÔÚlinuxÏÂÅäÖÃSVN serverµÄÖ÷Òª²½Ö裬Èç¹ûÈí¼þÒÀÀµÃ»ÓÐÎÊÌâµÄ»°Ó¦¸ÃÒѾ­°²×°³É¹¦ÁË£¬ÏÂÃæ¾ÍÊÇÅäÖõÄÎÊÌâÁË¡£Ê×ÏÈҪȷ¶¨subversionµÄÁ½¸öÄ£¿éÊDz»ÊÇÕýÈ·µÄ°²×°µ½ÁËapacheÏ£¬¿ÉÒÔÔÚapacheµÄÒ»¸öÅäÖÃÎļþÖп´µ½£¬¸ÃÅäÖÃÎļþÔÚapacheµÄ°²×°Ä¿Â¼Ï /conf/httpd.conf
ÔÚhttpd.confÏÂÃæ»áÓÐÁ½ÐУº
LoadModul ......

ÔÚLinuxϰ²×°OpenCV

¸ãÁËÈýÌìµÄOpenCVÖÕÓÚ°ÑÕâ¸öÀà¿â¼ÓÉÏÈ¥ÁË¡£Ô­±¾ÊÇʹÓÃRed Hat Linux 9£¬µ«ÊÇÇ¿ÁÒ²»ÍƼö£¬ÒòΪ»ù±¾ÉϺܶàºÜ¶àµÄÈí¼þ¶¼ÒªÖØÐÂÉý¼¶¸üС£gcc±ØÐëÉý¼¶µ½4.x£¬ÔògmpºÍmpfrÒ²Òª¸üУ¬makeÒ²Òªµ½3.8°æ±¾£¬²¢ÇÒglibcÒ²±ØÐëÔÚ2.6°æ±¾¡£±àÒëgccʵÔÚÊÇ̫ʹ¿àÁË£¬ÎÞ±ÈÎޱȵÄÍ´¿à£¬ºÄʱ3¸ö¶àhours£¬»¹ÊÇÀ´Á˸öerror£¨glibc±ØÐëÉý¼¶£©¡£±à ......

Linux PCIÇý¶¯µÄ±àд

PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component
Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½é
ÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£ÎÒÃÇ¿ÉÒÔͨ¹ýlspci
²é¿´PCIÉ豸¡£
[roo ......

Linux »ã±àÓïÑÔ¿ª·¢Ö¸ÄÏ


developerWorks Öйú
  >  
Linux
  >
Linux »ã±àÓïÑÔ¿ª·¢Ö¸ÄÏ
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td>< ......

linux UART´®¿ÚÇý¶¯


linux UART´®¿ÚÇý¶¯¿ª·¢Îĵµ
ʱ¼ä:2010-01-09 14:24:55À´Ô´:ÍøÂç ×÷Õß:δ֪ µã»÷:482´Î
ÄÚÈݼò½é: ½éÉÜÁËLinuxϵĴ®¿ÚÇý¶¯µÄÉè¼Æ²ã´Î¼°½Ó¿Ú, ²¢Ö¸³ö´®¿ÚÓëTTYÖÕ¶ËÖ®¼äµÄ¹ØÁª²ã´Î(´®¿Ú¿É×÷TTYÖÕ¶ËʹÓÃ), ÒÔ¼°LinuxϵÄÖжϴ¦Àí»úÖÆ/ÖжϹ²Ïí»úÖÆ, »¹Óд®¿Ú»º³å»úÖÆµ±ÖÐÉæ¼°µÄÈíÖжϻúÖÆ; ÆäÖ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ