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

linux ioctlº¯Êý¼°ÆäÇý¶¯ºÍÓ¦ÓóÌÐò×¢ÒâÊÂÏî

¹ØÓÚIOCTLÇý¶¯µÄ±àд·½·¨LDDÕâ±¾ÊéȷʵдµÄ±È½ÏÃ÷°×ÁË£¬ÔÚÕâÄØÎҾͼòµ¥µÄ×öÒ»¸ö½éÉÜ¡£ÕâÀïÎÒÖ÷ÒªÃèÊö×Ô¼º±àдIOCTLÇý¶¯Ê±ËùÓöµ½µÄÎÊÌâ¼°ÆäÔ­Òò¡£
    Çý¶¯ÀïµÄioctlº¯ÊýÖ÷ҪʵÏÖ²»ÓÃread,writeº¯ÊýµÄÓëÓû§¿Õ¼äµÄ¼òµ¥Êý¾Ý½»»¥¼°ÎÞ²ÎÊýµÄÃüÁî¿ØÖÆ¡£ÄÇôÎÒÃÇÈçºÎʵÏÖÕ⼸ÖÖ¹¦ÄܵÄIOCTLº¯ÊýÄØ£¿ioctlÇý¶¯ÖÐÒÔSWITCH£ûcase A,case B£ý½á¹¹ÒÔʵÏÖ¶Ô²»Í¬ÃüÁîµÄÏìÓ¦£¬Ê×ÏÈÎÒÃÇÒª¶ÔÎÒÃÇҪʹÓõēA”£¬“B”ÃüÁÒåÒ»¸öÕû¸ö²Ù×÷ϵͳÄÚΨһµÄ±êʶ£¬Í¬Ê±Õâ¸ö±êʶÓÖÄܹ»±íÃ÷ÎÒÃǵIJÙ×÷ÀàÐͼ°´«µÝ²ÎÊýµÄÀàÐÍ£¨Èç¹ûÐèÒªµÄ»°£©¡£linuxϵͳµÄÿһ¸öÃüÁîºÅ±»·ÖΪ¶à¸öλ×ֶΣ¬ÕâЩλ×ֶΰüÀ¨type,number,direction,size,·Ö±ð±íʾ»ÃÊý£¨ÓëÉ豸Ïà¹ØµÄÒ»¸ö×Öĸ£¬ÒÔ±ÜÃâÓëÄں˳åÍ»£©£¬ÐòÊý£¨ÃüÁî±àºÅ£©£¬·½Ïò루ÒÔÓû§¿Õ¼äΪ²ÎÕյĶÁ£¬Ð´ºÍÎÞÊý¾Ý´«Ê䣩£¬size£¨´«µÝ²ÎÊýÀàÐÍ£©¡£ÄÚºËÖÐ/include/asm/ioctl.h,/Documentation/ioctl-number.txtÁ½¸öÎļþ±íÃ÷ÁËÎÒÃÇÓ¦¸ÃÈçºÎ¶¨ÒåioctlÃüÁî±àºÅ¼°×Ô¶¨ÒåµÄ»ÃÊý£¬¡£
    ¿´ÆðÀ´¹¹ÔìIOTCLÃüÁîÕâô¸´ÔÓ£¬ÇìÐÒµÄÊÇÄÚºËÒѾ­ÎªÎÒÃDZàдÁ˹¹ÔìÃüÁî±àºÅµÄºêÃüÁî¡££ßIO£¨type,nr£©,_IOR(type,nr,datatype),_IOW(type,nr,datatype)¡£ËüÃÇÔÚ<linux/ioctl.h>°üº¬µÄ<asm/ioctl.h>ÖÐÓж¨Ò壬ËùÒÔÔÚÎÒÃǵÄÇý¶¯ÖÐÓ¦°üº¬Õâ¸öÍ·Îļþ¡£ÆäÖУßIO£¨£©ÓÃ×öÎÞ²ÎÊýµÄÃüÁî±àºÅ£¬£ßIOR£¨£©ÓÃ×ö´ÓÇý¶¯ÖжÁÈ¡Êý¾ÝµÄÃüÁî±àºÅ£¬£ßIOW£¨£©ÓÃ×öдÈëÊý¾ÝÃüÁî¡£ LDDÖÐÓãºdefine SCULL_IOC_MAGIC 'k' ,define SCULL_IOCSQUANTUM _IOW(SCULL_IOC_MAGIC,1,int)±íʾSCULL_IOCSQUANTUMÃüÁî±àºÅΪÏòÇý¶¯ÖÐдÊý¾Ý£¬ÃüÁî±àºÅΪ1£¬´«ËͲÎÊýÀàÐÍΪint¡£
ÕâÀï°ÑÎÒËùдµÄ²¿·Ö´úÂëÌù³öÀ´£º
 Çý¶¯³ÌÐò²¿·Ö´úÂ룺
#define MOTOR_MAGIC 'k'
#define SET_PULSE _IOW(MOTOR_MAGIC, 1,int)
.
.
static int motor_ioctl(struct inode *inode,struct file *filp,unsigned int cmd,unsigned long arg)
{ int data=0;
int retval;
switch (cmd) {
case SET_PULSE:
if (copy_from_user(&data, (int *)arg, sizeof(int)))
return -EFAULT;
.
.
.

   
Ó¦ÓóÌÐò²¿·Ö´úÂ룺  
#define MOTOR_MAGIC 'k'
#define SET_PULSE _IOW(MOTOR_MAGIC


Ïà¹ØÎĵµ£º

Linux Ï°²×°jdk£¬ MyEclipseºÍWebLogic±Ê¼Ç

1£¬ Ê×ÏÈ×¼±¸Linux»·¾³£¬ RedHat5.3µÄϵͳ£¬ jdkÊÇ1.6°æ±¾µÄ£¬MyEclipseÊÇ7.0µÄ£¬ Á¬½Óʱ¿ÉÒÔʹÓÃssh»òÊÇcrt½øÐÐwindowsÓëLinuxµÄ½»Á÷¡£
 
2£¬ÎªÁËÉÏ´«·½±ã£¬ ÔÚʱʹÓÃcrt£¬Ëû¿ÉÒÔʹÉÏ´«£¬ÏÂÔصÄËٶȸü¿ì¡£
 
3£¬ ÔÚLinuxÏ´´½¨±ÈÈç˵ÊÇjdkĿ¼£¬ ʹÓÃrzÉÏ´«¹¤¾ß½øÐÐÉÏ´«£¬ ÉÏ´«ÒԺ󣬸³ÓèÎļþ¼ÐµÃȨÏÞ£¬²¢ÇÒ ......

Linux Kconfig¼°Makefileѧϰ


ÄÚºËÔ´ÂëÊ÷µÄĿ¼Ï¶¼ÓÐÁ½¸öÎĵµKconfig £¨2.4°æ±¾ÊÇConfig.in£©ºÍMakefile¡£·Ö²¼µ½¸÷Ŀ¼µÄKconfig¹¹³ÉÁËÒ»¸ö·Ö²¼Ê½µÄÄÚºËÅäÖÃÊý¾Ý¿â£¬Ã¿¸öKconfig·Ö±ðÃèÊöÁËËùÊôĿ¼ԴÎĵµÏà¹ØµÄÄÚºËÅäÖò˵¥¡£ÔÚÄÚºËÅäÖÃmake menuconfigʱ£¬´ÓKconfigÖжÁ³ö²Ëµ¥£¬Óû§Ñ¡Ôñºó±£´æµ½.configµÄÄÚºËÅäÖÃÎĵµÖС£ÔÚÄں˱àÒëʱ£¬Ö÷Makefileµ ......

Linux ±à³Ì¾­µäÊé¼®ÍƼö

    ³ÉΪһÃû¾«Í¨ Linux
³ÌÐòÉè¼ÆµÄ¸ß¼¶³ÌÐòÔ±Ò»Ö±ÊDz»ÉÙÅóÓÑ×Î×ÎÒÔÇóµÄÄ¿±ê¡£¸ù¾ÝÖлªÓ¢²ÅÍøͳ¼ÆÊý¾Ý£¬±±¾©µØÇø Linux ³ÌÐòÔ±ÔÂнƽ¾ùΪ Windows ³ÌÐòÔ±µÄ
1.8 ±¶¡¢Java ³ÌÐòÔ±µÄ 2.6 ±¶£¬ Linux ³ÌÐòÔ±ÄêÖÕ½±½ðƽ¾ùΪ Windows ³ÌÐòÔ±µÄ 2.9
±¶¡£Í¬Ê±Êý¾ÝÏÔʾ£¬Ëæ׏¤×÷¾­ÑéµÄÔö³¤£¬ Linux ³ÌÐòÔ±Óë Win ......

Àí½âLinuxµÄÊØ»¤½ø³Ì

 Linux·þÎñÆ÷ÔÚÆô¶¯Ê±ÐèÒªÆô¶¯ºÜ¶àϵͳ·þÎñ£¬ËüÃÇÏò±¾µØºÍÍøÂçÓû§ÌṩÁËLinuxµÄϵͳ¹¦Äܽӿڣ¬Ö±½ÓÃæÏòÓ¦ÓóÌÐòºÍÓû§¡£ÌṩÕâЩ·þÎñµÄ³ÌÐòÊÇÓÉÔËÐÐÔÚºǫ́µÄÊØ»¤½ø³Ì£¨daemons£©À´Ö´Ðеġ£ÊØ»¤½ø³ÌÊÇÉú´æÆÚ³¤µÄÒ»ÖÖ½ø³Ì¡£ËüÃǶÀÁ¢ÓÚ¿ØÖÆÖն˲¢ÇÒÖÜÆÚÐÔµÄÖ´ÐÐijÖÖÈÎÎñ»òµÈ´ý´¦ÀíijЩ·¢ÉúµÄʼþ¡£ËûÃdz£³£ÔÚϵͳÒýµ¼×°È ......

linuxÏÂÈí¼þµÄ°²×°(tarƪ)

LinuxÈí¼þµÄ°²×°ºÍжÔØÒ»Ö±ÊÇÀ§ÈÅÐí¶àÐÂÓû§µÄÄÑÌâ¡£ÔÚwindowsÖÐ,Èí¼þ°²×°°üÒ»°ãÊÇͨ¹ýÒ»¸öEXE¿ÉÖ´ÐÐÎļþ»òÕßÊÇ×Ô½âѹµÄѹËõ³ÌÐòÀ´°²×°Èí¼þµÄ.¶øÔÚLinuxÖÐ,ÓÉÓÚ·¢Ðа汾µÄ²»Í¬,ʹÓõÄÈí¼þ°ü¹ÜÀíÒ²ÊDz»ÏàͬµÄ,ÔÚÕâÎÒ½«×î»ù±¾µÄtarÔ´´úÂë°üµÄ°²×°·½·¨Ð´ÔÚϱß,ÓÉÓÚÎÒ×Ô¼ºµÄˮƽһ°ã,ËùÒÔÓв»¶ÔµÄµØ·½,Ï£ÍûÄܹ»µÃµ½ÄúµÄÒâ¼û,л ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ