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
Ïà¹ØÎĵµ£º
LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷
LinuxÄÚºËÖж¨ÒåÁ˺ܶàºê£¬¶ÔÓ²¼þ¶Ë¿ÚºÍ¼Ä´æÆ÷½øÐвÙ×÷£¬´ÓÍøÉÏËѼ¯ÁËһЩºê¶¨ÒåµÄÐÅÏ¢£º
1. __REG¼òµ¥µÄ˵¾ÍÊÇ»ñµÃºóÃæËùʾÎïÀíµØÖ·Ó³ÉäºóµÄÐéÄâµØÖ·£¬ÀýÈ磺
#define GPLR0 __REG(0x40E00000) /* GPIO Pin-Level Register GPIO<31:0> */
#define GPL ......
2.6µÄKernel LOGO
ËÆºõ±È2.4ÈÝÒס£2.6µÄlogoÊý¾ÝÔÚ/drivers/video/logoÀppmÎļþ¾ÍÊÇlogoͼÏñÁË¡£Ã¿¸öppm¶ÔÓ¦Ò»¸ö. cÎļþ£¬ÄÚÈÝ´ó¸Å¾ÍÊÇͼÏñ³ß´ç¡¢µ÷É«°å¡¢Î»Í¼Êý¾ÝµÈÐÅÏ¢¡£.cÎļþÎÞÐè×Ô¼º½¨Á¢£¬ÔÚmakeµÄʱºòÈç¹û²»´æÔÚij¸öppmÎļþ¶ÔÓ¦µÄ.cÎļþ£¬¾Í»á×Ô¶¯´Ó ppmÉú³ÉÒ»¸ö£¬È»ºó°ÑËü±àÒë³É.oÎļþ¡£ËùÒÔ¿´¿´Ä¿Â¼ÏÂÄÄЩ.ppmÎ ......
1¡¢ÔÚlinux϶Á΢Èí±ê×¼µÄchmÎļþʱ£¬ÕÒÁ˺þÃÖÕÓÚÕÒÁËÒ»¿îºÜ²»´íµÄÈí¼þ£££KchmViewer
¿ÉÒÔͨ¹ýÖն˰²×°£º
sudo apt-get install kchmViewer
ʹÓÃubuntuµÄÅóÓÑÒ²¿ÉÒÔÔÚubuntuÈí¼þÖÐÐݲװ¡£
2¡¢LibeFetion·Ç³£ºÃµÄµÚÈý·½Ãâ·Ñ·ÉÐÅÈí¼þ£¬Ò²ÓÐwindows°æ±¾
¹ÙÍøÖ÷Ò³£ºhttp://www.libfetion.org/index.php
ÕæµÄ·Ç³£ºÃÓà ......
·¢ÏÖ·þÎñÆ÷ϵͳʱ¼äºÍ±ê׼ʱ¼ä²îÁË10¶à·ÖÖÓ,È»ºóÁãµãµÄʱ¼äµ÷ÕûÁËÏÂʱ¼ä¡£¹ýÁ˲¶àÒ»¸öÀñ°Ý·¢Õ¹Êý¾Ý¿âÖмǼµÄʱ¼ä»¹ÊDz»¶Ô£¬ÈçÊÇÓüӰàµ÷ÕûÁËÏÂʱ¼ä¡£¹ýÁË2ÌìÒ»¿´»¹ÊÇʱ¼ä²»¶Ô£¬Ò»²é²Å·¢ÏÖ£º
»úÆ÷ÀïÓÐÁ½¸öʱÖÓ¡£Ó²¼þʱÖÓ´Ó¸ù±¾ÉϽ²ÊÇCMOSʱÖÓ£»¶øÏµÍ³Ê±ÖÓÊÇÓÉÄÚºËά»¤µÄ£¬ËüÊÇ´Ó1969ÄêÄ©£¨¼ ......
ÎļþÔÚÁ½¸öÎļþ¼Ð£º
inc/hello.h
main/hello.c, main.c, Makefile
ÎļþÄÚÈÝ£º
hello.h
void hello(char name[]);
hello.c
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}
main.c
#include <stdio.h>
#include "../inc/hello.h"
// The second
int main( ......