Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ϰ²×°OpenCV

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

LinuxÆô¶¯¹ý³ÌÆÊÎö

LinuxÆô¶¯¹ý³ÌµÄÆÊÎöÄܰïÖúÄÇЩÏëÉîÈëѧϰLinuxÓû§½¨Á¢Ò»¸öÏà¹ØLinuxÆô¶¯¹ý³ÌµÄÇåÎú¸ÅÄ½ø¶ø¿ÉÒÔ½øÒ»²½Ñо¿Linux½ÓÏÂÀ´ÊÇÈçºÎ¹¤×÷µÄ¡£
LinuxÆô¶¯¹ý³ÌÈçÏ£ºµ±Óû§´ò¿ªPCµÄµçÔ´£¬BIOS¿ª»ú×Լ죬°´BIOSÖÐÉèÖÃµÄÆô¶¯É豸(ͨ³£ÊÇÓ²ÅÌ)Æô¶¯£¬½Ó×ÅÆô¶¯É豸Éϰ²×°µÄÒýµ¼³ÌÐò lilo»ògrub¿ªÊ¼Òýµ¼Linux£¬LinuxÊ×ÏȽøÐÐÄں˵ÄÒýµ¼ ......

Linux PCIÇý¶¯µÄ±àд

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

LinuxÏà¹ØÃüÁһ£©

linuxÃüÁî´óÈ« cat cd
chmod chown
cp cut
Ãû³Æ£ºcat
ʹÓÃȨÏÞ£ºËùÓÐʹÓÃÕß
ʹÓ÷½Ê½£ºcat [-AbeEnstTuv] [--help] [--version] fileName
˵Ã÷£º°Ñµµ°¸´®Á¬½Óºó´«µ½»ù±¾Êä³ö£¨Ó©Ä»»ò¼Ó > fileName µ½ÁíÒ»¸öµµ°¸£©
²ÎÊý£º
-n »ò --number ÓÉ 1 ¿ªÊ¼¶ÔËùÓÐÊä³öµÄÐÐÊý±àºÅ
-b »ò --number-nonblank ºÍ -n ......

linux UART´®¿ÚÇý¶¯


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