LinuxÉùÒôÉ豸±à³ÌʵÀý
ÓÉÓÚÕâЩÎļþ²»ÊÇÆÕͨµÄÎļþ£¬ËùÒÔÎÒÃDz»ÄÜÓÃ
ANSI C
£¨±ê×¼
C
£©µÄ
fopen
¡¢
fclose
µÈÀ´²Ù×÷Îļþ£¬¶øÓ¦¸ÃʹÓÃϵͳÎļþ
I/O
´¦Àíº¯Êý£¨
open
¡¢
read
¡¢
write
¡¢
lseek
ºÍ
close
£©À´´¦ÀíÕâЩÉ豸Îļþ¡£
ioctl
£¨£©»òÐíÊÇ
Linux
ÏÂ×îÅÓÔӵĺ¯Êý£¬Ëü¿ÉÒÔ¿ØÖƸ÷ÖÖÎļþµÄÊôÐÔ£¬ÔÚ
Linux
ÉùÒôÉ豸±à³ÌÖУ¬×îÖØÒªµÄ¾ÍÊÇʹÓô˺¯ÊýÕýÈ·ÉèÖñØÒªµÄ²ÎÊý¡£
¡¡¡¡ÏÂÃæÎÒÃǾÙÁ½¸öʵ¼ÊµÄÀý×ÓÀ´ËµÃ÷ÈçºÎʵÏÖ
Linux
ϵÄÉùÒô±à³Ì¡£ÓÉÓÚ´ËÀà±à³ÌÉæ¼°µ½ÏµÍ³É豸µÄ¶Áд£¬ËùÒÔ£¬ºÜ¶àʱºòÐèÒªÄãÓÐ
root
ȨÏÞ£¬Èç¹ûÄ㽫ÏÂÃæµÄÀý×Ó±àÒëºó²»ÄÜÕýÈ·Ö´ÐУ¬ÄÇô£¬Ê×ÏÈÇëÄã¼ì²éÊÇ·ñÊÇÒòΪûÓвÙ×Ýij¸öÉ豸µÄȨÏÞ¡£
1.
¶ÔÄÚ²¿ÑïÉùÆ÷±à³Ì
¡¡¡¡ÄÚ²¿ÑïÉùÆ÷ÊÇ¿ØÖÆÌ¨µÄÒ»²¿·Ö£¬ËùÒÔËü¶ÔÓ¦µÄÉ豸ÎļþΪ
/dev/console
¡£±äÁ¿
KIOCSOUND
ÔÚÍ·Îļþ
/usr /include /linux /kd.h
ÖÐÉùÃ÷£¬
ioctl
º¯ÊýʹÓÃËü¿ÉÒÔÀ´¿ØÖÆÑïÉùÆ÷µÄ·¢Éù£¬Ê¹ÓùæÔòΪ£º
¡¡¡¡
ioctl ( fd, KIOCSOUND, (int) tone);
¡¡¡¡
fd
ΪÎļþÉ豸ºÅ£¬
tone
ÊÇÒôƵֵ¡£µ±
tone
Ϊ
0
ʱ£¬ÖÕÖ¹·¢Éù¡£±ØÐëÒ»ÌáµÄÊÇËüËùÀí½âµÄÒôƵºÍÎÒÃÇÆ½³£ÒÔΪµÄÒôƵÊDz»Í¬µÄ£¬ÓÉÓÚ¼ÆËã»úÖ÷°å¶¨Ê±Æ÷µÄʱÖÓÆµÂÊΪ
1.19MHZ
£¬ËùÒÔÒª½øÐÐÕýÈ·µÄ·¢Éù£¬±ØÐë½øÐÐÈçϵÄת»»£º
¡¡¡¡ÑïÉùÆ÷ÒôƵֵ
=1190000/
ÎÒÃÇÆÚÍûµÄÒôƵֵ¡£
¡¡¡¡ÑïÉùÆ÷·¢Éùʱ¼äµÄ³¤¶ÌÎÒÃÇͨ¹ýº¯Êý
usleep
£¨
unsigned long usec
£©À´¿ØÖÆ¡£ËüÊÇÔÚÍ·Îļþ
/usr /include /unistd.h
Öж¨ÒåµÄ£¬ÈóÌÐò˯Ãß
usec
΢Ãë¡£ÏÂÃæ¼´ÊÇÈÃÑïÉùÆ÷°´Ö¸¶¨µÄ³¤¶ÈºÍÒôƵ·¢ÉùµÄ³ÌÐòµÄÍêÕûÇåµ¥£º
#include
< fcntl.h >
#include
< stdio.h >
#include
< stdlib.h >
#include
< string.h >
#include
< unistd.h >
#include
< sys/ioctl.h >
#include
< sys/types.h >
#include
< linux/kd.h >
/*
É趨ĬÈÏÖµ */
#define
DEFAULT_FREQ 440 /*
É趨һ¸öºÏÊÊµÄÆµÂÊ */
#define
DEFAULT_LENGTH 200 /* 200
΢Ã룬·¢ÉùµÄ³¤¶ÈÊÇÒÔ΢ÃëΪµ¥Î»µÄ*/
#define
DEFAULT_REPS 1 /*
ĬÈϲ»Öظ´·¢Éù */
#define
DEFAULT_DELAY 100 /*
ͬÑùÒÔ΢ÃëΪµ¥Î»*/
/*
¶¨ÒåÒ»¸ö½á¹¹£¬´æ´¢ËùÐèµÄÊý¾Ý*/
typedef
struct
{
int
freq; /*
ÎÒÃÇÆÚÍûÊä³öµÄƵÂÊ£¬µ¥Î»ÎªHz */
Ïà¹ØÎĵµ£º
1.java.sun.com/j2se/1.4.2/download.html">http://java.sun.com/j2se/1.4.2/download.html ÏÂÔØÒ»¸öLinux PlatformµÄJDK£¬½¨ÒéÏÂÔØRPM×Ô½âѹ¸ñʽµÄ£¨RPM in self-extracting file£¬j2sdk-1_4_2_06-linux-i586-rpm.bin£©£»
2. ÉÏÔØµ½Linux·þÎñÆ÷ÉÏ£¬ÔÚshellÏÂÖ´ÐÐÃüÁ
[root@ ......
Ò»¡¢LinuxÄÚºËÄ£¿éµÄ¹ÜÀí
1¡¢lsmod ÁмÓÒÔ¹ÒÔØµÄÄÚºËÄ£¿é£»
lsmod ÊÇÁгöĿǰϵͳÖÐÒѼÓÔØµÄÄ£¿éµÄÃû³Æ¼°´óСµÈ£»ÁíÍâÎÒÃÇ»¹¿ÉÒԲ鿴 /proc/modules £¬ÎÒÃÇÒ»Ñù¿ÉÒÔÖªµÀϵͳÒѾ¼ÓÔØµÄÄ£¿é£»
´úÂë:
[root@localhost beinan]# lsmod
2¡¢modinfo ²é¿´Ä£¿éÐÅÏ¢£»
modinfo ¿ÉÒԲ鿴ģ¿éµ ......
Linux ÄÚºËÖвÉÓÿɼÓÔØµÄÄ£¿é»¯Éè¼Æ£¨LKMs£¬Loadable Kernel
Modules£©£¬Ò»°ãÇé¿öϱàÒëµÄLinux
ÄÚºËÊÇÖ§³Ö¿É²åÈëʽģ¿éµÄ£¬Ò²¾ÍÊǽ«×î»ù±¾µÄºËÐÄ´úÂë±àÒëÔÚÄÚºËÖУ¬ÆäËûµÄ´úÂë¿ÉÒÔÑ¡ÔñÔÚÄÚºËÖУ¬»òÕß±àÒëΪÄں˵ÄÄ£¿éÎļþ¡£³£¼ûµÄÇý¶¯³ÌÐòÒ²ÊÇ×÷ΪÄÚºË
Ä£¿é¶¯Ì¬¼ÓÔØµÄ¡£
Ä£¿éÏà¹ØÃüÁî
lsmod Áгöµ±Ç°ÏµÍ³¼ÓÔØµÄ ......
linux Îļþϵͳ½á¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄĿ¼
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ......