Ò»¸öLinuxÇý¶¯¹¤³Ìʦ±ØÖªµÄÄÚºËÉèÖÃ֪ʶ
LinuxÄÚºËÉèÖÃϵͳµÄ×é³É
LinuxÄÚºËÔ´ÂëÐí¶à£¬ÓÐÉÏǧÌõÉèÖÃÑ¡ÏÉèÖÃÏ൱ÖØ´ó¡£
ΪÁ˸üºÃÑ¡Ôñ×Ô¼ºÏëÒªµÄ¹¦Ð§ÉèÖã¬linuxÄÚºËÔ´Âë×éÖ¯ÁËÒ»¸öÉèÖÃϵͳ£»
ÉèÖÃϵͳ°üÀ¨Èý²¿·Ö£º
Makefile£ºÈÏÕæÕûÌåµÄÉèÖñàÒë
Kconfig£ºÉèÖÃÑ¡ÏîµÄȪԴ
ÉèÖò˵¥
Õâ¸öÉèÖÃϵͳ¾ÍÊÇÖ´ÐÐmake menuconfigÏÔʾµÄͼÐλ¯½çÃ棺
ÄÚºËKconfigÎļþ
Kconfig²ã¼¶¹Øϵ
ÄÚºËÉèÖÃÑ¡ÏîµÄÔ´ÎļþÊÇ KconfigÎļþ£»
Ö÷Ñ¡ÏîµÄÉèÖÃÔ´ÎļþÊÇ£ºarch/$(ARCH)/KconfigÎļþ£»
Ö÷KconfigÎļþŲÓÃÆäËûĿ¼µÄKconfigÎļþ£¬ÆäËûĿ¼µÄKconfigÎļþÓÖŲÓø÷¼¶×ÓĿ¼µÄKconfigÎļþ£¬ÐγÉÊ÷×´µÄÉèÖÃÑ¡Ï
KconfigÓï·¨ÏÈÈÝ
ÀýÈç: drivers/net/usb/KconfigÖУ¬DM9601²Ëµ¥£º
config USB_NET_DM9601ÊDz˵¥Ï²Ëµ¥ÏîÏÂÃæµÄÊDz˵¥µÄÊôÐÔ£»
²Ëµ¥¶¼ÊÇÒÔconfig ¿ªÍ·£¬ÖÐÐÄÓпոñ£¬ºóÃæ´óдµÄ¾ÍÊDz˵¥Ïî¡£
tristate £ºÌåÏÖÌáÐÑÐÅÏ¢£¬ÔÚ ÉèÖò˵¥ÖÐÏÔʾµÄ×Ö·û´®
depends £ºÌåÏÖÒÀÀµÓÚµÄÑ¡ÏÒÀÀµµÄÑ¡ÏîÑ¡ÉÏ£¬²Å»ªÑ¡Õâ¸öÑ¡Ï
select £ºÌåÏÖ±¾²Ëµ¥Ñ¡ÉϺó£¬×Ô¶¯Ñ¡ÉϵIJ˵¥
Help £º×ÊÖúÎÄ×Ö£»
KconfigµÄÓï·¨Ïêϸ²Î¿¼£ºDocumentation/kbuild/kconfig-languages.txt
.configÎļþ
ÄÚºËÉèÖÃÍê±ÏÖ®ºó£¬»áÔÚÄÚºËÔ´ÂëµÄ¶¥²ãĿ¼ÏÂÌìÉú.configÎļþ£»
·¿ª.configÎļþ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÄÚÈÝÈçÏ£º
ÕâÀïÔÚÉèÖÃÖÐÑ¡ÉÏÁË¡±Davicom DM96xx based USB 10/100 ethernet device¡±Ñ¡ÏÔÚ.configÎļþÖлáÌìÉú¡°CONFIG_USB_NET_DM9601=y¡±µÄÉèÖÃÐÅÏ¢;ÈôÊÇûÓÐÑ¡ÉÏ£¬Õâ¸öÑ¡ÉÏ»áÓá°#¡±×¢Ê͵ô;
ÄÚºËMakefileÎļþ
ºÍKconfigÒ»Ñù£¬¶¥²ãÒÔ¼°¸÷×ÓĿ¼Ï¶¼ÓÐÒ»¸öMakefileÎļþ¡£Æä×÷ÓÃÈçÏ£º
¶¥²ãMakefileÈÏÕæÉèÖñàÒëÕû¸ölinuxÄںˣ»
¶¥²ãMakefile¶ÁÈ¡.configÎļþ£¬Æ¾Ö¤.configÎļþµÄÉèÖÃÑ¡Ïî±àÒëÄںˣ»
¶¥²ãmakfileµÝ¹éµØ±éÀúÄÚºËÔ´ÂëÖеÄËùÓÐ×ÓĿ¼£¬±àÒëËùÓеÄÄ¿µÄÎļþ£»
ÿ¸ö×ÓĿ¼Ï¶¼ÓÐMekefileÎļþ£¬ÕâЩMakefileÎļþ»áʹÓÃ.configÎļþÖеÄÐÅÏ¢£¬±àÒëÏìÓ¦µÄÎļþ£»
MakefileÖеÄÀý×Ó£º
obj-$(CONFIG_USB_NET_DM9601) += dm9601.o
Ï൱ÓÚ£º
obj-y += dm9601.o
obj-yµÄÒâ˼ÊÇ°Ñdm9601.oÄ¿µÄÎļþ±àÒë½øÄںˣ¬dm9601.oÄ¿µÄÎļþÓ¦¸Ã´Ódm9601.c»òdm9601.SÎļþÖбàÒë¹ýÀ´£»
obj-m µÄÒâ˼ÊÇ°ÑÄ¿µÄÎļþ±àÒë³ÉÄ£¿é
¼ÓÔØÄÚºËÉèÖõÄÒªÁì
ͨ³£Ã¿¸ö³§É̶¼ÓÐ×Ô¼ºµÄdefconfigÎļþ£¬¼ÓÔØÉèÖÃʱֻÐèÖ´ÐÐmake xxx_defconfig£¬È»ºó¾Í»áÌìÉúÒ»¸ö.configÎļþ£¬¼´´ú±í¼ÓÔØÍêÉèÖá£
ÔÚÈÕ³£¿ª·¢Àú³ÌÖУ¬¹ØÓÚÐÞ»Ú¸Ä.config£¬Í¨³£Ò²½«.config¿½±´ÁýÕÖÔÀ´µÄxxx_defconfig£¬È»ºóÉÏ´«´úÂë¡£
ÒÔÉϾÍÊÇÒ»¸öLinuxÇý¶¯¹¤³Ìʦ±ØÖªµÄÄÚºËÉèÖÃ֪ʶµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡