Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÇý¶¯Ö®makefileÏê½â

# If KERNELRELEASE is defined, we've been invoked from the
# kernel build system and can use its language.
ifneq ($(KERNELRELEASE),)
    obj-m := hello.o
# Otherwise we were called directly from the command
# line; invoke the kernel build system.
else
    KERNELDIR ?= /lib/modules/$(shell uname -r)/build
    PWD := $(shell pwd)
default:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
µ±ÎÒÃÇÇÃÏÂmakeʱ£¬ÎÒÃǽøÈëÁËÕâ¸öȨÍþµÄmakefile¶þ´Î¡£µÚÒ»´Î½øÈëmakefile£¬·¢ÏÖKERNELRELEASEûÓб»ÉèÖÃʱ£¬ÓÚÊÇËý¸ù¾ÝbuildÕâ¸ö·ûºÅÁ´½Ó¶¨Î»ÄÚºËÔ´´úÂëĿ¼£¬È»ºó½øÈëdefault£¬¿ªÊ¼µÚ¶þ¸ömake£¬£­CÑ¡Ïî½øÈëÄÚºËÔ´´úÂëĿ¼£¬ÕÒµ½¶¥²ãµÄmakefile£¬È»ºó£­M·µ»Øµ±Ç°Ä¿Â¼Ö´ÐÐmakefileÎļþ£¬Õâ¾ÍÊǵڶþ´Î½øÈëÕâ¸ömakefile£¬ÔÚÕâ´Î£¬ÓÉÓÚKERNELRELEASE±äÁ¿ÒѾ­¶¨Ò壬Òò´Ë²»ÐèÒª½øÈëelseÓïÑÔ£¬ÔÚÕâÀobj-m:=hello.oÕâ¸öÓï¾äºÍÎÒÃÇÒÔǰ²»ÊÇÇý¶¯³ÌÐòÖеÄmakefile²»Í¬£¬ÔÚÕâÀïÄں˻á°ïÄã´¦ÀíÒ»ÇУ¬Õâ¾ä»°ÊǸæËßÄںˣ¬ÐèÒª´Óhello.o´´½¨Ò»¸öÇý¶¯Ä£ÐÍ£¨module£©¡£
²Î¿¼ÎÄÏ× ¡¶linux device drivers 3¡·
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØ×Ô£ºhttp://blog.csdn.net/abc19842008/archive/2008/02/14/2095836.aspx


Ïà¹ØÎĵµ£º

2010 3 16ÈÕ×ܽᣨlinuxµÄ½ø³Ì¹ÜÀí1£©

Ö÷Òª¿´ÁËLinuxÍêȫעÊÍÄDZ¾Ê飬ÖÕÓÚ×¼±¸¹¥¶ÁLinuxÄÚºËÔ´ÂëÁË£¬ÏÈ¿´Á˵ڶþÕŵÄ×ÜÌå¸ÅÄ¸Ð¾õ²Ù×÷ϵͳÓкܶණÎ÷»¹ÕæÊÇ´óͬСÒ죬¼ÇµÃucos¾ÍÊÇÓÐÒ»¸ö½Ð×ö¿ì±íµÄ¶«Î÷£¬ÀïÃæ×î¶à¿ÉÒÔ±íʾ64¸ö½ø³Ì£¬¶øÔç°æµÄLinux£¨0.11£©Ò²ÓÐÕâ¸öһ˵µÄ¶«Î÷¡£
 
ÔÚLinuxÖÐÒ²ÓÐÒ»¸öPCBÀ´±íʾÿ¸ö½ø³Ì£¬ÔÚÕâ¸ö½á¹¹ÌåÖУ¬ÓÐÖ¸ÏòÈÎÎñ´úÂëµÄÖ ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

      ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
   ÏÂÃæÊÇ ......

Linux¾²Ì¬/¶¯Ì¬Á´½Ó¿âµÄ´´½¨ºÍʹÓÃ


ºÍ
WindowsϵͳһÑùLinuxÒ²Óо²Ì¬/¶¯Ì¬Á´½Ó¿â£¬ÏÂÃæ½éÉÜ´´½¨ºÍʹÓ÷½·¨£º
¼ÙÉèÓÐÏÂÃæ¼¸¸öÎļþ£º
Í·ÎļþString.h£¬ÉùÃ÷Ïà¹Øº¯ÊýÔ­ÐΣ¬ÄÚÈÝÈçÏ£º
Strlen.c£º
º¯ÊýStrlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬ÄÚÈÝÈçÏ£º
Strlnen.c£ºº¯Êý
StrNlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬Èç¹ûÊäÈë×Ö·û´®µÄ³¤¶È´óÓÚÖ¸¶¨µÄ×î´ó³¤¶È£¬Ô ......

LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷

LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷

LinuxÄÚºËÖж¨ÒåÁ˺ܶàºê£¬¶ÔÓ²¼þ¶Ë¿ÚºÍ¼Ä´æÆ÷½øÐвÙ×÷£¬´ÓÍøÉÏËѼ¯ÁËһЩºê¶¨ÒåµÄÐÅÏ¢£º
1. __REG¼òµ¥µÄ˵¾ÍÊÇ»ñµÃºóÃæËùʾÎïÀíµØÖ·Ó³ÉäºóµÄÐéÄâµØÖ·£¬ÀýÈ磺
#define GPLR0  __REG(0x40E00000)    /* GPIO Pin-Level Register GPIO<31:0> */
#define GPL ......

Linux GCC makeÎļþµÄд·¨1

ËùÐèÎļþhello.c, main.c, hello.h, Makefile£¬ÔÚͬһ¸öĿ¼ÏÂ
hello.c:
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}

main.c:
#include "stdio.h"
#include "hello.h"
// The second
int main()
{
hello("GCC");
printf("Haha Linux Ubuntu!\n");
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ