linuxÉ豸Çý¶¯³ÌÐò±àÒë
ºÜÏë½Ó´¥Ò»ÏÂLinuxµÄÄںˣ¬×î½ü¼ÓÈëÁËLKML£¨Linux Kernel Mailing List£©£¬ÓÌÈ糱ˮ°ãµÄmailÓ¿ÈëÁËÎÒµÄGmail>_<
Ò»¿ªÊ¼ºÜÃÔ㣬Èç´ËÅÓ´óÁËLinuxÄں˴úÂ룬´ÓºÎ¿ªÊ¼£¿ÍøÉÏ¿´µ½ÁËÒ»Ìõ½¨Ò飺´ÓLinuxÉ豸Çý¶¯µÄ±àд¿ªÊ¼¡£
ÓÚÊÇÕÒµ½ÁËÒ»±¾Õâ·½Ãæ±È½ÏºÃµÄ½Ì²Ä£ºLinux Device Drivers, 3rd Edition£¨LDD3£©
²»¹ýÕâ±¾ÊéÀïÃæ½²µÄµÚÒ»¸öHello world³ÌÐò¾Í²»ÖªµÀ¸ÃÈçºÎ±àÒ룬ÊéÀï½²µÄÒ²²»ÊǺÜÏêϸ£¬¿ÉÄÜÊÇÈÏΪ¶ÁÕßÒѾÓÐÏà¹ØµÄ֪ʶÁË£¬¿Éϧ°³Ã»ÓÐToT
ºóÀ´ÍøÉÏÓÖÕÒµ½ÁËһƪÎÄÕ£¬½²µÃ±È½ÏÏêϸ£¬ÕâÀï¸ø¸öÁ´½Óhttp://linux.chinaunix.net/bbs/viewthread.php?tid=904034&highlight=Godbach
½ÓÏÂÀ´¾ÍÊÇÕû¸ö±àÒëµÄ¹ý³Ì
dolphin@dolphin-laptop:~/Documents/LDD$ gedit Makefile
dolphin@dolphin-laptop:~/Documents/LDD$ gedit hello.c
dolphin@dolphin-laptop:~/Documents/LDD$ make
make -C /lib/modules/2.6.31-21-generic/build M=/home/dolphin/Documents/LDD modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.31-21-generic'
CC [M] /home/dolphin/Documents/LDD/hello.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/dolphin/Documents/LDD/hello.mod.o
LD [M] /home/dolphin/Documents/LDD/hello.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-21-generic'
dolphin@dolphin-laptop:~/Documents/LDD$ ls
hello.c hello.ko hello.mod.o Makefile modules.order
hello.c~ hello.mod.c hello.o Module.markers Module.symvers
dolphin@dolphin-laptop:~/Documents/LDD$ sudo insmod ./hello.ko
[sudo] password for dolphin:
dolphin@dolphin-laptop:~/Documents/LDD$ lsmod
Module Size Used by
hello 1052 0
Ä£¿éÒѾ±»¼ÓÔØÁË£¬²»¹ýûÓиÃÓÐ×Ö·û´®Êä³ö£¬²»ÖªµÀÊÇÔõô»ØÊ£¬Ò²ÐíÊÇÎÒûÓÐÓñê×¼µÄÄںˣ¬¶øÊÇ͵À
Ïà¹ØÎĵµ£º
PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component
Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½é
ÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£ÎÒÃÇ¿ÉÒÔͨ¹ýlspci
²é¿´PCIÉ豸¡£
[roo ......
1¡¢#locale (localeÃüÁîÓÃÓڲ鿴ʹÓÃÓïÑÔÏêϸÐÅÏ¢)
2¡¢#export LC_ALL=POSIX (exportÃüÁîµ¼³öÐÞ¸ÄLC_ALLÓïÑÔÑ¡Ïî)
3¡¢redhat-config-network ¡¢ netconfigÅäÖÃÍøÂç·þÎñ
4¡¢ÖØÆô init 6 »òÕß shutdown -r now
5¡¢shutdown -h ¹Ø±Õϵͳ
6¡¢vi±à¼Îĵµºó£¬ÊäÈëshift + :ºóÊäÈëq£¬»Ø³µÍ˳ö£¬ÊäÈëwq±£´æÍ˳ö¡£
7¡¢Ôö¼ÓÓû§ ......
linux UART´®¿ÚÇý¶¯¿ª·¢Îĵµ
ʱ¼ä:2010-01-09 14:24:55À´Ô´:ÍøÂç ×÷Õß:δ֪ µã»÷:482´Î
ÄÚÈݼò½é: ½éÉÜÁËLinuxϵĴ®¿ÚÇý¶¯µÄÉè¼Æ²ã´Î¼°½Ó¿Ú, ²¢Ö¸³ö´®¿ÚÓëTTYÖÕ¶ËÖ®¼äµÄ¹ØÁª²ã´Î(´®¿Ú¿É×÷TTYÖÕ¶ËʹÓÃ), ÒÔ¼°LinuxϵÄÖжϴ¦Àí»úÖÆ/ÖжϹ²Ïí»úÖÆ, »¹Óд®¿Ú»º³å»úÖÆµ±ÖÐÉæ¼°µÄÈíÖжϻúÖÆ; ÆäÖ ......
Ö÷Ì⣺ linuxÄÚºËÄ£¿éµÄ³ÌÐò½á¹¹--Ä£¿é¼ÓÔØº¯Êý(±ØÐë)£¬Ä£¿éÐ¶ÔØº¯Êý(±ØÐë)£¬Ä£¿éÐí¿ÉÖ¤ÉùÃ÷(±ØÐë)£¬Ä£¿é²ÎÊý(¿ÉÑ¡)£¬Ä£¿éµ¼³ö·ûºÅ(¿ÉÑ¡)£¬Ä£¿é×÷ÕߵĵÈÐÅÏ¢ÉùÃ÷(¿ÉÑ¡)
Ò»¸ölinuxÄÚºËÄ£¿éÖ÷ÒªÓÉÒÔϼ¸¸ö²¿·Ö×é³É¡£
1¡¢Ä£¿é¼ÓÔØº¯Êý"ÓÃmodule_init()À´Ö¸¶¨"(±ØÐë)
µ±Í¨¹ýinsmodºÍmodprobeÃüÁî¼ÓÔØÄÚºËÄ£¿éʱ ......
Ê×ÏȽéÉÜÏÂpthread_cond_t¡£ ÔÚLinuxϳÆÖ®Îª×´Ì¬±äÁ¿£¬ÓëÖ®Ïà¹ØµÄÓÐÏÂÃæ¼¸¸öAPI:
int pthread_cond_init (pthread_cond_t *COND,pthread_condattr_t *cond_ATTR);
int pthread_cond_signal (pthread_cond_t *COND);
int pthread_cond_broadcast (pthread_con ......