LinuxÇý¶¯µÄÅäÖúͱàÒë½Å±¾
ÔÚÍê³ÉÁËÇý¶¯³ÌÐò´úÂëµÄ±àд֮ºó£¬½ÓÏÂÀ´µÄÈÎÎñ¾ÍÊDZàÒë¡£linuxÄں˱àÒëµÄ¹ý³ÌÊÇͨ¹ýÄÚºËÔ´ÂëµÄ¸ùĿ¼ºÍ¸÷×ÓĿ¼ÖеÄMakefile·Ö¼¶¹ÜÀíµÄ¡£ÆäÖиùĿ¼µÄMakefileÊÇ×îÖØÒªµÄ£¬Ëü¿ÉÒÔ¿´³ÉÊÇÆäËûMakefile×î³õµÄÈë¿Ú¡£Ëü¸ºÔð¶¨ÒåËùÓÐÓëÌåϵ½á¹¹Î޹صıäÁ¿ºÍÄ¿±ê£¬¶ÁÈ¡.configÎļþ£¬²¢¸ù¾ÝÆäÐÅÏ¢×îÖÕÉú³Évmlinux(elf¸ñʽµÄLinuxÄÚºË)ºÍmodules(Ä£¿é)¡£makeͨ¹ýÏòϵݹéµ÷ÓÃ×ÓĿ¼ÏµÄMakefileÀ´±àÒëÕâÁ½¸öÄ¿±ê¡£
ͨ³£Ï£Íû°ÑÇý¶¯³ÌÐò·ÅÔÚÄÚºËÀÔÚÅäÖÃÄÚºËʱ¿ÉÒÔ×ÔÓɲüô¡£ÕâÐèÒª¶ÔÄÚºËÅäÖýű¾KbuildÓÐÒ»¶¨µÃÁ˽⡣¾ßÌå¿ÉÒԲο¼ÄÚºËÔ´ÂëÖеÄDocumentation/kbuildĿ¼ÏµÄÏà¹ØÎĵµ
KbuildÊÇÒ»×éºÜÈÝÒ×ʹÓõĽű¾¡£Í¨³£Ö»ÐèÒª¹ØÐĸöĿ¼ÏµÄÁ½¸öÎļþ£ºKconfig(2.6ÄÚºË)ºÍMakefile¡£
ÒÔhelloÄ£¿éΪÀý
step1£º´úÂë±àд
mini2440_hello_module.c ·ÅÖõÄλÖÃ/opt/FriendlyARM/mini2440/linux2.6.29/drivers/char
´úÂëÈçÏÂ
/**********************************************************************************************/
/*Îļþ:mini2440_hello_module.c */
/*¼ò½é:HelloWorld */
/***********************************************************************************************/
#include<linux/init.h>
#include<linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_module_init(void)
{
printk(KERN_ALERT"Hello,world\n");
return 0;
}
static void hello_module_exit(void)
{
printk(KERN_ALERT"Goodbye, world\n");
}
module_init(hello_module_init);
module_exit(hello_module_exit);
step2£º ÔÚchar Ŀ¼Ï´ò¿ªKconfig(¿ÉÒÔÀí½âΪÊÇÄں˵ÄÅäÖýű¾)
Ìí¼Ó
config MINI2440_HELLO_MODULE
tristate "Mini2440/QQ2440 module sample"
depends on ARCH_S3C2440
default m if MACH_FRIE
Ïà¹ØÎĵµ£º
ÕªÒª:ÊÓÆµÍ¼Ïñ²É¼¯¼°´¦Àí¼¼ÊõÔÚÔ¶³ÌÊÓÆµ¼à¿ØºÍ¿ÉÊӵ绰ÖÐÓÐ׏㷺µÄÓ¦ÓÃǰ¾°£¬Çý¶¯ÊÓÆµ²É¼¯É豸ºÍ»ñÈ¡ÊÓÆµÊý¾Ý²¢½øÐÐÏàÓ¦µÄ´¦Àí£¬ÊÇʵÏÖÕâЩӦÓõĻù´¡¡£Õë¶ÔÕâЩӦÓ㬹¹½¨ÁËÒ»¸ö»ùÓÚǶÈëʽ LinuxºÍ PXA270΢´¦ÀíÆ÷µÄÊÓÆµ²É¼¯Óë´«Êäϵͳ£¬ÀûÓà Video4LinuxʵÏÖ USBÉãÏñÍ·ÊÓÆµÊý¾Ý²É¼¯£¬²É¼¯µÄÊÓÆµÊý¾Ý¾ JPEGѹËõº ......
LinuxÌṩÁË´óÁ¿µÄÃüÁÀûÓÃËü¿ÉÒÔÓÐЧµØÍê³É´óÁ¿µÄ¹¤×÷£¬Èç´ÅÅ̲Ù×÷¡¢Îļþ´æÈ¡¡¢Ä¿Â¼²Ù×÷¡¢½ø³Ì¹ÜÀí¡¢ÎļþȨÏÞÉ趨µÈ¡£ËùÒÔ£¬ÔÚLinuxϵͳÉϹ¤×÷Àë²»¿ªÊ¹ÓÃϵͳÌṩµÄÃüÁî¡£ÒªÏëÕæÕýÀí½âLinuxϵͳ£¬¾Í±ØÐë´ÓLinuxÃüÁîѧÆð£¬Í¨¹ý»ù´¡µÄÃüÁîѧϰ¿ÉÒÔ½øÒ»²½Àí½âLinuxϵͳ¡£
²»Í¬Linux·¢ÐаæµÄÃüÁîÊýÁ¿²»Ò»Ñù£¬µ«Linux·¢ÐÐ°æ± ......
ÔÚ¿ª·¢¹ý³ÌÖУ¬±ØÈ»»á³öÏÖ¶àÈËͬʱ¹¤×÷¡¢Ð×ŵÄÇé¿ö£¬ÔÚǶÈëʽ¿ª·¢ÏîÄ¿ÖиüΪƽ³££¬ÕâÑù¿ÉÒÔ¼Ó¿ìÏîÄ¿ÖÜÆÚ£¬Îª²úÆ·ÉÏÊÐÕ¼µÃʱ¼äÏÈ»ú¡£Ä¿Ç°£¬Ê¹ÓÃlinux×÷Ϊ¿ª·¢²úÆ·µÄ²Ù×÷ϵͳÇé¿öÔ½À´Ô½¶à£¬Ê¹ÓÃÔ½À´Ô½¹ã·º¡£ÎªÁ˽»²æ±àÒ룬ΪÁË×î½Ó½ü¿ª·¢Ä¿±ê£¬ÎÒÃÇÒ»°ã¶¼»á×Ô¼º´î½¨Ò»Ì¨linux¿ª·¢·þÎñÆ÷¡£linux¿ª·¢·þÎñÆ÷ ......
ÎÒÓõÄÊÇ fedora 12 ×Ô´ýµÄjdk 1.6 ÔÚ /usr/lib/jvm/java-1.6.0-openjdk
µÚÒ»²½£º°Ñapache-tomcat-6.0.26.tar.gz½âѹºó·Åµ½/usr/local/ÏÂÖØÃüÃûΪapache-tomcat-6.0.26
µÚ¶þ²½£ºÔÚ/etc/profileÎļþÖÐÊʵ±µÄλÖÃÌí¼ÓÈçÏ»·¾³±äÁ¿
CATALINA_HOME=/usr/local/apache-tomcat-6.0.26
CATALINA_BASE=/usr/local/apache-tomcat ......
Ò»¡¢forkÈëÃÅ֪ʶ
ÏÈ¿´Ò»¸öÀý×Ó£º
/*
* fork_test.c
* version 1
* Created on: 2010-5-29
* Author: wangth
*/
#include <unistd.h>;
#include <stdio.h>
int main ()
{
pid_t fpid; //fpid±íʾforkº¯Êý·µ»ØµÄÖµ
//´Ëʱ½öÓÐÒ»¸ö½ ......