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

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç4 LinuxÄÚºËÄ£¿é

modprobeÃüÁî±ÈinsmodÃüÁîÇ¿´ó£¬ËüÔÚ¼ÓÔØÄ³Ä£¿éʱ»áͬʱ¼ÓÔØ¸ÃÄ£¿éËùÒÀÀµµÄÆäËûÄ£¿é¡£Ê¹ÓÃmodprobeÃüÁî¼ÓÔØµÄÄ£¿éÈôÒÔ“modprobe –r filename”µÄ·½Ê½Ð¶Ôؽ«Í¬Ê±Ð¶ÔØÆäÒÀÀµµÄÄ£¿é¡£
printk´òÓ¡µ½var/log/messages
2.6ÄÚºËÖÐÒѼÓÔØµÄÐÅÏ¢Ò²´æÔÚÓÚ/sys/moduleĿ¼Ï£¬¼ÓÔØhello.koºó£¬ÄÚºËÖн«°üº¬/sys/module/helloĿ¼£¬¸ÃĿ¼ÓÖ°üº¬Ò»¸örefcntÎļþºÍÒ»¸ösectionsĿ¼
/proc/kallsymsÎļþ¶ÔÓ¦×ÅÄں˷ûºÅ±í£¬Ëü¼Ç¼ÁË·ûºÅÒÔ¼°·ûºÅËùÔÚµÄÄÚ´æµØÖ·
#include<linux/init.h>
#include<linux/module.h>
 
MODULE_LICENSE("Dual BSD/GPL");
 
int add_integar(int a, int b)
{
    return a+b;
}
 
int sub_integar(int a, int b)
{
    return a-b;
}
 
EXPORT_SYMBOL(add_integar);
EXPORT_SYMBOL(sub_integar);
 
±àÒëºó½«Ä£¿é²åÈ룬¿ÉÒÔ´Ó/pro/kallsymsÎļþÖÐÕÒ³öadd_integar¡¢sub_integarÏà¹ØÐÅÏ¢
cat /pro/kallsyms |grep integar
 
try_module_get()Óëmodule_put()µÄÒýÈëÓëʹÓÃÓëLinux2.6ÄÚºËϵÄÉ豸ģÐÍÃÜÇÐÏà¹Ø¡£2.6ÄÚºËΪ²»Í¬ÀàÐ͵ÄÉ豸¶¨ÒåÁËstruct module *ownerÓò£¬ÓÃÀ´Ö¸Ïò¹ÜÀí´ËÉ豸µÄÄ£¿é¡£µ±¿ªÊ¼Ê¹ÓÃij¸öÉ豸ʱ£¬ÄÚºËʹÓÃtry_module_get(dev->owner)È¥Ôö¼Ó¹ÜÀí´ËÉ豸µÄownerÄ£¿éµÄʹÓüÆÊý£»µ±²»ÔÙʹÓôËÉ豸ʱ£¬ÄÚºËʹÓÃmodule_put(dev->owner)¼õÉÙ¶Ô¹ÜÀí´ËÉ豸µÄownerÄ£¿éʹÓüÆÊý¡£ÕâÑù£¬µ±É豸ÔÚʹÓÃʱ£¬¹ÜÀí´ËÉ豸µÄÄ£¿é½«²»Äܱ»Ð¶ÔØ¡£Ö»ÓÐÉ豸²»ÔÙ±»Ê¹ÓÃʱ£¬Ä£¿é²ÅÔÊÐí±»Ð¶ÔØ
¿ª·¢ÈËÔ±ËùдµÄÇý¶¯Í¨³£ÊÇÖ§³ÖijÖÖ¾ßÌåÉ豸µÄownerÄ£¿é£¬¶Ô´ËÉ豸ownerÄ£¿éµÄ¼ÆÊý¹ÜÀíÓÐÄں˸üµ×²ãµÄ´úÂ루Èç×ÜÏßÇý¶¯»òÊÇ´ËÀàÉ豸¹«ÓõĺËÐÄÄ£¿é£©À´ÊµÏÖ£¬´Ó¶ø¼ò»¯ÁËÉ豸Çý¶¯µÄ¿ª·¢
 
±àÒë²½Ö裺ÏȽøÈëLinuxÄÚºËËùÔÚµÄĿ¼£¬²¢±àÒë³ö.oÎļþ£¬ÔËÐÐMODPOST»ØÉú³ÉÁÙʱµÄ.mod.cÎļþ£¬¶øºó¸ù¾Ý´ËÎļþ±àÒë³ö.mod.o£¬Ö®ºóÁ¬½Ó.oºÍ.mod.oµÃµ½Ä£¿éÄ¿±êÎļþ.ko£¬×îºóÀ뿪LinuxÄÚºËËùÔÚĿ¼
 
Èç¹ûÄ£¿é°üº¬¶à¸ö.cÎļþ£¨Èçfile1.c¡¢file2.c£©£¬MakefileÈçÏ£º
obj-m := modulename.o
module-objs := file1.o file2.o


Ïà¹ØÎĵµ£º

LinuxÈí¼þ°²×°³£Ó÷½·¨ X


ZDNetÈí¼þƵµÀ
2008-05-13
×÷Õß
£º | ÖйúITʵÑéÊÒ
±¾ÎĹؼü´Ê£º
²Ù×÷ϵͳ
¼¼
ÇÉ
°²×°
Linux


1¡¢Èí¼þ°²×°
Ð¶ÔØ£¬·Ö¼¸ÖÖÇé¿ö£º
A£º
RPM°ü£¬ÕâÖÖÈí¼þ°ü¾ÍÏñwindowsµÄ
EXE°²×°
ÎļþÒ»Ñù£¬¸÷ÖÖÎļþÒѾ­±àÒëºÃ£¬²¢´òÁ˰ü£¬ÄĸöÎļþ¸Ã·Åµ½ÄĸöÎļþ¼Ð£¬¶¼Ö¸¶¨ºÃÁË£¬°²
×°
·Ç³£·½±ã£¬ÔÚͼР......

LinuxÄÚ´æ¹ÜÀí

LinuxÄÚ´æ¹ÜÀí(ÉÏ)
ÕªÒª£º±¾ÕÂÊ×ÏÈÒÔÓ¦ÓóÌÐò¿ª·¢ÕߵĽǶÈÉóÊÓLinuxµÄ½ø³ÌÄÚ´æ¹ÜÀí£¬ÔÚ´Ë»ù´¡ÉÏÖð²½ÉîÈëµ½ÄÚºËÖÐÌÖÂÛϵͳÎïÀíÄÚ´æ¹ÜÀíºÍÄÚºËÄÚ´æµØÊ¹Ó÷½·¨¡£Á¦Çó´ÓÍâ×ÔÄÚ¡¢Ë®µ½Çþ³ÉµØÒýµ¼ÍøÓÑ·ÖÎöLinuxµØÄÚ´æ¹ÜÀíÓëʹÓá£ÔÚ±¾ÕÂ×îºóÎÒÃǸø³öÒ»¸öÄÚ´æÓ³ÉäµØÊµÀý£¬°ïÖúÍøÓÑÃÇÀí½âÄÚºËÄÚ´æ¹ÜÀíÓëÓû§ÄÚ´æ¹ÜÀíÖ®¼äµØ¹ØÏµ£¬Ï£Í ......

windowsÏ´ linux ϶àÐéÄâ²âÊÔ»ú°²×°¼°ÉÏÍøÅäÖÃ

Ò»¡¢ÏÂÔØVMwareÈí¼þ²¢°²×°
¶þ¡¢¹âÅÌ.iso·½Ê½°²×°linux
Èý¡¢¹²ÏílinuxºÍwindowsĿ¼
ËÄ¡¢½«"±¾µØÁ¬½Ó"ÉèΪ¹²Ïí·½Ê½£¬½ûÖ¹ÆäËûÐéÄâ»úÁ¬½Ó
      ´ò¿ªÐéÄâ»úÔÚÐéÄâ»ú±à¼­ÖÐÉèÖÃΪ'ÇŽÓ"·½Ê½;
²¢Ñ¡ÖÐDevice statusϵÄÁ½ÏֻËùÒÔÓÃÇŽӷ½Ê½²»ÓÃhost-only·½Ê½ÉÏÍøÊÇÒòΪ
ÔÚÓ÷ÓÉÆ÷ʱhost-onl ......

ÐéÄâ»úLinuxÏÂMinicomµÄÅäÖÃ

1¡¢Ìí¼Ó´®¿Ú: ÔÚLinuxÆô¶¯Ö®Ç°£¬ÐéÄâ»ú--¡·ÉèÖÃ--¡·Ìí¼Ó--¡·´®¿Ú--¡·±£´æ--¡·Æô¶¯Linux¡£
 
2¡¢#minicom £¬³öÏÖÆô¶¯½çÃæ£¬CTRL-A Z ½øÈë°ïÖú½çÃæ
   
3¡¢¼üÈëO £¬ÅäÖô®¿Ú£¬Ñ¡ÔñµÚÈýÏî“Serial port setup”µã»÷»Ø³µ
   
4¡¢Í¨¹ý·Ö±ð¼üÈëA¡¢E¡¢F£¬ÅäÖ㬵ã»÷»Ø³µ£¨FÑ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ