LinuxÇý¶¯³ÌÐò¿ª·¢ É豸¿ØÖƽӿÚ
ÐòÑÔ
É豸Çý¶¯³ÌÐòµÄÒ»¸ö»ù±¾¹¦ÄܾÍÊǹÜÀíºÍ¿ØÖÆÉ豸£¬Í¬Ê±ÎªÓû§Ó¦ÓóÌÐòÌṩ¹ÜÀíºÍ¿ØÖÆÉ豸µÄ½Ó¿Ú¡£ÎÒÃÇÇ°ÃæµÄ“Hello World”Çý¶¯³ÌÐòÒѾ¿ÉÒÔÌṩ¶Áд¹¦ÄÜÁË£¬ÔÚÕâÀïÎÒÃǽ«À©Õ¹ÎÒÃǵÄÇý¶¯ÒÔÖ§³ÖÉ豸¿ØÖƽӿڣ¬ÔÚLinuxÖÐÕâ¸ö½Ó¿ÚÊÇͨ¹ýioctlº¯ÊýÀ´ÊµÏֵġ£
É豸¿ØÖƽӿڣ¨ioctl º¯Êý£©
»ØÏëÒ»ÏÂÎÒÃÇÔÚ×Ö·ûÉ豸Çý¶¯ÖнéÉܵÄstruct file_operations ½á¹¹£¬ÕâÀïÎÒÃǽ«½éÉÜÒ»¸öÐµķ½·¨£º
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
ÕâÊÇÇý¶¯³ÌÐòÉ豸¿ØÖƽӿں¯Êý£¨ioctlº¯Êý£©µÄÄÚºËÔÐͶ¨Ò壬struct inode * ºÍstruct file* ÃèÊöÁ˲Ù×÷µÄÎļþ£¬unsigned int ÃèÊöÁËioctlÃüÁîºÅ£¬ÕâÊÇÒ»¸öÖØÒªµÄ²ÎÊý£¬ÎÒÃÇÉÔºó»á¶ÔËü×öÏêϸ½éÉÜ¡£×îºóÒ»¸ö²ÎÊýÊÇunsigned longÊý¾ÝÀàÐÍ£¬ÃèÊöÁËioctlÃüÁî¿ÉÄÜ´øÓеIJÎÊý£¬Ëü¿ÉÄÜÊÇÒ»¸öÕûÊý»òÖ¸ÕëÊý¾Ý¡£
ioctlÃüÁîºÅ
ioctlÃüÁîºÅÊÇÕâ¸öº¯ÊýÖÐ×îÖØÒªµÄ²ÎÊý£¬ËüÃèÊöµÄioctlÒª´¦ÀíµÄÃüÁî¡£LinuxÖÐʹÓÃÒ»¸ö32λµÄÊý¾ÝÀ´±àÂëioctlÃüÁËü°üº¬Ëĸö²¿·Ö£ºdir£ºtype£ºnr£ºsize¡£
dir£º
´ú±íÊý¾Ý´«ÊäµÄ·½Ïò£¬Õ¼2룬¿ÉÒÔÊÇ_IOC_NONE£¨ÎÞÊý¾Ý´«Ê䣬0U£©£¬_IOC_WRITE£¨ÏòÉ豸дÊý¾Ý£¬1U£©»ò_IOC_READ£¨´ÓÉ豸¶ÁÊý¾Ý£¬2U£©»òËûÃǵÄÂß¼»ò×éºÏ£¬µ±È»Ö»ÓÐ_IOC_WRITEºÍ_IOC_READµÄÂß¼»ò²ÅÓÐÒâÒå¡£
type£º
ÃèÊöÁËioctlÃüÁîµÄÀàÐÍ£¬8λ¡£Ã¿ÖÖÉ豸»òϵͳ¶¼¿ÉÒÔÖ¸¶¨×Ô¼ºµÄÒ»¸öÀàÐͺţ¬ioctlÓÃÕâ¸öÀàÐÍÀ´±íʾioctlÃüÁîËùÊôµÄÉ豸»òÇý¶¯¡£Ò»°ãÓÃASCIIÂë×Ö·ûÀ´±íʾ£¬Èç 'a'¡£
nr£º
ioctlÃüÁîÐòºÅ£¬Ò»°ã8λ¡£¶ÔÓÚÒ»¸öÖ¸¶¨µÄÉ豸Çý¶¯£¬¿ÉÒÔ¶ÔËüµÄioctlÃüÁî×öÒ»¸ö˳Ðò±àÂ룬һ°ã´ÓÁ㿪ʼ£¬Õâ¸ö±àÂë¾ÍÊÇioctlÃüÁîµÄÐòºÅ¡£
size£º
ioctlÃüÁîµÄ²ÎÊý´óС£¬Ò»°ã14λ¡£ioctlÃüÁîºÅµÄÕâ¸öÊý¾Ý³ÉÔ±²»ÊÇÇ¿ÖÆÊ¹Óõģ¬Äã¿ÉÒÔ²»Ê¹ÓÃËü£¬µ«ÊÇÎÒÃǽ¨ÒéÄãÖ¸¶¨Õâ¸öÊý¾Ý³ÉÔ±£¬Í¨¹ýËüÎÒÃÇ¿ÉÒÔ¼ì²éÓû§¿Õ¼äÊý¾ÝµÄ´óСÒÔ±ÜÃâ´íÎóµÄÊý¾Ý²Ù×÷£¬Ò²¿ÉÒÔʵÏÖ¼æÈݾɰ汾µÄioctlÃüÁî¡£
ÎÒÃÇ¿ÉÒÔ×Ô¼ºÀ´Ö±½ÓÖ¸¶¨Ò»¸öioctlÃüÁîºÅ£¬Ëü¿ÉÄܽö½öÊÇÒ»¸öÕûÊý¼¯£¬µ«LinuxÖеÄioctlÃüÁîºÅ¶¼ÊÇÓÐÌØ¶¨º¬ÒåµÄ£¬Òò´Ëͨ³£ÎÒÃDz»ÍƼöÕâô×ö¡£ÆäʵLinuxÄÚºËÒѾÌṩÁËÏàÓ¦µÄºêÀ´×Ô¶¯Éú³ÉioctlÃüÁîºÅ£º
_IO(type,nr)
_IOR(type,nr,size)
_IOW(type,nr,size)
_IOWR(type,nr,size)
ºê_IOÓÃÓÚÎÞÊý¾Ý´«Ê䣬ºê_IORÓÃÓÚ´ÓÉ豸¶ÁÊý¾Ý£¬ºê _IOWÓÃÓÚÏòÉ豸дÊý¾Ý£¬ºê_IOWRÓÃÓÚͬʱÓжÁдÊý¾ÝµÄIOCTLÃüÁî¡£Ïà¶ÔµÄ£¬LinuxÄÚºËÒ²Ìṩ
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ¡£Ã¿¸öÓû§µÇ¼ϵͳºó£¬¶¼»áÓÐÒ»¸öרÓõÄÔËÐл·¾³¡£Í¨³£Ã¿¸öÓû§Ä¬ÈϵĻ·¾³¶¼ÊÇÏàͬµÄ£¬Õâ¸öĬÈÏ»·¾³Êµ¼ÊÉϾÍÊÇÒ»×é»·¾³±äÁ¿µÄ¶¨Òå¡£Óû§¿ÉÒÔ¶Ô×Ô¼ºµÄÔËÐл·¾³½øÐж¨ÖÆ£¬Æä·½·¨¾ÍÊÇÐÞ¸ÄÏàÓ¦µÄϵͳ»·¾³±äÁ¿¡£
³£¼ûµÄ»·¾³±äÁ¿
¶ÔÓÚPATHºÍHOMEµÈ»·¾³±äÁ¿´ó¼Ò¶¼²»Ä°Éú¡£³ý´ËÖ®Í⣬»¹ÓÐÏÂÃæÒ»Ð©³ ......
ÏÈroot´ò²¹¶¡£ºp3006854_9204_linux.zip
ÔÙÉèoracle»·¾³±äÁ¿
°²×°
°²×°½áÊø½¨¿â֮ǰÐèÒª´òµÄ²¹¶¡ÓУº
p2617419_220_GENERIC.zip
p3119415_9204_linux.zip
¾ßÌå²Î¿¼ÕâÆªÎÄÕ£º
Redhat Enterprise Linux 4°²×°oracle
¹Ø¼ü×Ö: redhat el4 oracle °²×°
Ò». °²×°×¼±¸
1. as4°²×°Íêºó£¬ÐèÒª¼ì²éÏÂÁÐÈí¼þ ......
1¡¢NFS·þÎñÆ÷¶ËÓë¿Í»§¶ËµÄ°²×°£º
sudo apt-get install nfs-kernel-server nfs-common portmap
2¡¢ÅäÖÃportmap
Á½ÖÖ·½·¨ÈÎѡһÖ־ͿÉÒÔ£º
sudo emacs /etc/default/portmap
È¥µô -i 127.0.0.1
3¡¢ÅäÖùÒÔØÄ¿Â¼ºÍȨÏÞ
vim /etc/exports
ÔÚ¸ÃÅäÖÃÎļþϼÓÈ룺
/home/nfsboot *(rw,sync)
½âÊÍһϣº
4¡ ......