linux ÄÚºËÔ´´úÂëĿ¼½á¹¹¸ÅÊö
½øÈëlinuxÔ´´úÂëĿ¼£¬»á¿´µ½Èô¸É×ÓĿ¼ºÍÎļþ¡£ÏÖ´ú²Ù×÷ϵͳһ°ãÓɽø³Ì¹ÜÀí£¬ÄÚ´æ¹ÜÀí£¬Îļþϵͳ£¬Çý¶¯³ÌÐòºÍÍøÂçÐÒéÕ»×é³É¡£
arch : °üº¬ÁËËùÓкÍÌåϵ½á¹¹Ïà¹ØµÄºËÐÄ´úÂë¡£ËüÏÂÃæµÄÿ¸ö×ÓĿ¼´ú±íÒ»ÖÖlinuxÖ§³ÖµÄÌåϵ½á¹¹¡£ÈçarmĿ¼¾ÍÊÇÓëARMÌåϵ½á¹¹¼æÈݵÄCPUµÄ×ÓĿ¼£»/arch/i386ÔòÊÇintel CPU¼°Æä¼æÈÝÌåϵ½á¹¹µÄ×ÓĿ¼.
drivers: °üº¬ÁËϵͳÖÐËùÓеÄÉ豸Çý¶¯³ÌÐò£¬linuxÖеÄÉ豸±»»®·ÖΪ¼¸À࣬ÿһÀà¶¼ÓжÔÓ¦µÄĿ¼¡£
fs:´æ·ÅÁËlinuxÖ§³ÖµÄÎļþϵͳµÄ´úÂë¡£²»Í¬µÄÎļþϵͳÓв»Í¬µÄ×ÓĿ¼¶ÔÓ¦¡£
include£º°üº¬Á˱àÒëÄÚºËËùÐèÒªµÄ´ó²¿·ÖÍ·Îļþ¡£
init:°üº¬ÁËÄں˳õʼ»¯´úÂë(ϵͳÒýµ¼´úÂëÔÚarchÖÐ).
ipc:°üº¬Á˺ËÐĽø³Ì¼äµÄͨÐÅ´úÂë¡£
kernel: ½ø³Ì¹ÜÀíµÄºËÐÄ´úÂë¡£Óë´¦ÀíÆ÷Ïà¹ØµÄ´úÂë·ÅÔÚÁËarch/*/kernelÖС£
lib:ºËÐĵĿâ´úÂëĿ¼¡£Óë´¦ÀíÆ÷Ìåϵ½á¹¹Ïà¹ØµÄÎļþ·ÅÔÚÁËarch/*/libÖÐ
mm:ÄÚ´æ¹ÜÀí´úÂëĿ¼¡£ÓëÓ²¼þÌåϵ½á¹¹Ïà¹ØµÄÎļþ·ÅÔÚÁËarch/*/mmÖС£
net:Äں˵ÄÍøÂ粿·Ö´úÂ룬ÿһ¸ö×ÓĿ¼¶ÔÓ¦Ò»ÖÖÍøÂçÐÒé¡£
scripts:°üº¬ÁËÄں˵ÄÅäÖýű¾Îļþ¡£
Documentation:ÄÚºËÎĵµÄ¿Â¼£¬ÊÇÀí½âlinuxÔ´´úÂëµÄÖ±½Ó¸¨ÖúÀ´Ô´¡£
¸ùĿ¼ºÍ´ó²¿·Ö×ÓĿ¼Ï¶¼ÓÐMakefileºÍKconfigÁ½¸öÎļþ£¬Äں˵ÄÅäÖúͱàÒë¾ÍÒÀÀµÓÚÕâÁ½¸öÎļþ¡£
Linux kernel Makefile µÄ¹æÔò£º
LinuxÄÚºËMakefileÌåϵ¿ÉÒÔ·ÖΪÎ岿·Ö£º
Makefile: λÓÚÄÚºËÔ´´úÂë¸ùĿ¼µÄMakefile. ³ÆÎªTOP Makefile
.config: ÄÚºËÅäÖÃÎļþ¡£
arch/arch_name/Makefile: ¸÷¸öÌåϵ½á¹¹¶ÀÁ¢´úÂëÖеÄMakefile ³ÉΪArch Makefile
kbuild Makefile: Õû¸öÔ´´úÂëĿ¼ÖÐÔ¼ÓÐ500¸öÕâÑùµÄMakefile
scripts/Makfile.*£ºÊÊÓÃÓÚ¸÷ÖÖKbuild MakefileµÄÒ»°ã¹æÔò¡£
Top Makefile¶ÁÈ¡ÓÉÄÚºËÅäÖóÌÐòÉú³ÉµÄ.configÎļþ£¬Ëü¸ºÔðÉú³ÉÁ½¸öÖØÒªµÄ²úÆ·£º×¤ÁôÄÚºË(vmlinux)ºÍÄÚºËÄ£¿é(module)¡£Top MakfileµÝ¹éµÄ½øÈë¸÷¼¶×ÓĿ¼À´±àÒëËùÐèµÄÔ´´úÂ룬½øÈëÄÄЩĿ¼ÔòÓÉÄÚºËÅäÖùý³Ì¾ö¶¨¡£TOP MakefileÖбØÐëÏÔʾµØ°üº¬Ò»¸öArch Makefile¶øÇÒÖ»Äܹ»°üº¬Ò»¸ö£¬ÒÔÌṩËùÓÐÓëÌåϵ½á¹¹Ïà¹ØµÄÐÅÏ¢¡£
ÿһ¸ö×ÓĿ¼Öж¼ÓÐÒ»¸ökbuild Makefile£¬Ëü¸ºÔðÖ´ÐоßÌåµÄ±àÒëÈÎÎñ¡£kbuild Makefile´Ó.configÎļþÖÐ
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
1¡¢linux gcc°üº¬µÄc/c++±àÒëÆ÷
¡¡¡¡gcc¡¢cc¡¢c++¡¢g++£º
¡¡¡¡gccºÍccÊÇÒ»ÑùµÄ£¬c++ºÍg++ÊÇÒ»ÑùµÄ£¬Ò»°ãc³ÌÐò¾ÍÓÃgcc±àÒ룬c++³ÌÐò¾ÍÓÃg++±àÒë
2¡¢linux gccµÄ»ù±¾Ó÷¨
¡¡¡¡gcc test.cÕâÑù½«±àÒë³öÒ»¸öÃûΪa.outµÄ³ÌÐògcc test.c -o testÕâÑù½«±àÒë³öÒ»¸öÃûΪtestµÄ³ÌÐò
¡¡¡¡-o²ÎÊýÓÃÀ´Ö¸¶¨Éú³É³ÌÐòµÄÃû×Ö
3¡¢Î ......
1¡¢LinuxÎļþϵͳÊÇ´Ó/¿ªÊ¼µÄ£»
ÔÚLinux²Ù×÷ϵͳµÄÎļþ¹ÜÀíÖУ¬ÃüÁîÐÐģʽ£¨ÔÚ¿ØÖÆÌ¨»òÖÕ¶ËÏ£©µÄÎļþ»òĿ¼¹ÜÀí£¬ÒªÉæ¼°Â·¾¶ÕâÒ»¸ÅÄÕâÊÇLinuxÃüÁîÐвÙ×÷µÄ×î»ù´¡µÄ»ù´¡¡£Èç¹ûÎÒÃÇÁ˽âÁË·¾¶µÄ¸ÅÄ¾Í¿ÉÒÔËæÐÄËùÓûµÄ½øÈëÈκÎĿ¼£¬½øÐÐÎÒÃÇÏëµÄ¹¤×÷¡£
Linux Îļþϵͳ£¬ÊÇÒ»¸ö³ÊÊ÷Ðνṹ£¬ÊÇ´Ó/×öΪÈë¿Ú£¬/£¨Ò²±»³ÆÎª¸ ......
ÔÚLinuxϵͳÉÏÃüÃûĿ¼µÄ·½Ê½ÊÇÏ൱ÒþÃØµÄ£¬ÕâҪ׷Ëݵ½µçÄÔÓ²¼þ´¦ÀíÄÜÁ¦±È½ÏÈõ¶ø¼Û¸ñÓֱȽϹóµÄʱÆÚ¡£ÔÚLinuxϵͳÉÏÃüÃûĿ¼µÄ·½Ê½ËƺõÓе㱿׾£¬µ«ÓëÆäËûµÄÿ¼þÊÂÇéÒ»Ñù£¬ÕâÖ»Ð軨һЩʱ¼ä¼ÓÒÔϰ¹ß¡£Í¨¹ýÃèÊöLinuxÎļþϵͳµÄÈ«¾°£¬Ê¹¶ÁÕß¿ÉÒÔ¶ÔLinuxµÄÎļþϵͳÓнÏÇå³þµÄÈÏʶ¡£
¸ùĿ¼(/)
¡¡¡¡Ä¿Â¼½á¹¹ÉϵÄ×î¸ßµã± ......
linuxÇý¶¯ ×ÔÐýËøµÄÔËÓÃ
//hello.c
#define __NO_VERSION__
#include <linux/module.h>
#include <linux/config.h>
#include <linux/version.h>
#include <asm/uaccess.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#inc ......