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

Compile Linux Kernel Modules

ÎÒÕýÔÚѧϰдlinux device driver for embedded system.
ÎÒÓÐÒ»¸ölinuxǶÈëʽÉ豸£¬Ò²ÓÐÕâ¸öÉ豸µÄlinuxÔ´´úÂë¡£Ò²ÓÐcross compiler tool chain.
µÚÒ»²½£¬¾ÍÊÇдһ¸ö¼òµ¥µÄhelloÄ£¿é£¬È»ºó×°µ½É豸ÖС£ÒÔÑéÖ¤ÎÒÕâ¸ö¿ª·¢»·¾³¡£
ÔÚÍøÉÏËÑË÷ÁËһϣ¬ how to cross compile linux device driver
·¢ÏÖÔÚlinux´úÂë¸ùĿ¼µÄMakefileÖÐÓйØÓÚcross compileµÄÃèÊö
# Cross compiling and selecting different set of gcc/bin-utils
# ---------------------------------------------------------------------------
#
# When performing cross compilation for other architectures ARCH shall be set
# to the target architecture. (See arch/* for the possibilities).
# ARCH can be set during invocation of make:
# make ARCH=ia64
# Another way is to have ARCH set in the environment.
# The default ARCH is the host where make is executed.
# CROSS_COMPILE specify the prefix used for all executables used
# during compilation. Only gcc and related bin-utils executables
# are prefixed with $(CROSS_COMPILE).
# CROSS_COMPILE can be set on the command line
# make CROSS_COMPILE=ia64-linux-
# Alternatively CROSS_COMPILE can be set in the environment.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
Ö»ÒªÖ¸¶¨ARCHºÍCROSS_COMPILE¾Í¿ÉÒÔÁË¡£
ÔÚÎÒµÄÕâ¸öMakefileÖУ¬ÒѾ­Ö¸¶¨ÁËARCH=arm£¬CROSS_COMPILE=arm-linux-
ÒòΪÔÚ±àÒëmoduleµÄʱºò£¬Ê¹ÓõÄÊÇÄں˹¹Ôìϵͳ£¬Ò²¾ÍÊÇʹÓõÄÉÏÃæËù˵µÄÕâ¸öÔÚÄÚºËÔ´Âë¸ùĿ¼µÄMakefile¡£ËùÒÔÎҾͲ»ÐèÒªÔÚÎÒµ÷ÓÃmakeµÄÃüÁîÐÐÖÐÖ¸¶¨ARCHºÍCROSS_COMPILEÁË¡£
ÓÃÀ´²âÊÔµÄhelloÄ£¿éµÄÔ´ÂëÀ´×Ô http://www.cyberciti.biz/tips/compiling-linux-kernel-module.html
hello.c
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/init.h> /* Needed for the macros */
static int __init hello_start(void)
{
printk(KERN_INFO "Loading hello module...\n");
printk(KERN_INFO "Hello world\n");
return 0;
}
static void


Ïà¹ØÎĵµ£º

linux socket±à³ÌÏà¹ØÖªÊ¶µÄ×ܽá

1£ºsocket±à³ÌÖвÉÓõÄЭÒé×åÖ÷ÒªÓÐÁ½ÖÖ
£º
   1>£ºÍøÂçЭÒé×å(ÐÎʽÈ磺AF_INET, PF_INETµÈ)
   2>£º±¾µØunixÓò¸ñʽµÄЭÒé×å(ÐÎʽÈ磺AF_LOCAL, AF_UNIXµÈ)
   ×¢£ºÐ­Òé×åµÄÑ¡ÔñÌåÏÖÔÚ  int  socket(int domain, inst type, int protocol)º¯ÊýµÄµÚÒ»¸ö²ÎÊý´¦¡£
2£ºÕâÁ½ ......

linuxÉ豸Çý¶¯ IO Port

      1. I/O Port
¡¡¡¡ºÍÓ²¼þ´ò½»µÀÀë²»¿ªI/O Port£¬ÀϵÄISAÉ豸¾­³£ÊÇÕ¼ÓÃʵ¼ÊµÄI/O¶Ë¿Ú£¬ÔÚlinuxÏ£¬²Ù×÷ϵͳûÓжÔI/O¿ÚÆÁ±Î£¬Ò²¾ÍÊÇ˵£¬ÈκÎÇý¶¯³ÌÐò¶¼¿É¶ÔÈÎÒâµÄI/O¿Ú²Ù×÷£¬ÕâÑù¾ÍºÜÈÝÒ×ÒýÆð»ìÂÒ¡£Ã¿¸öÇý¶¯³ÌÐòÓ¦¸Ã×Ô¼º±ÜÃâÎóÓö˿ڡ£ 
¡¡¡¡ÓÐÁ½¸öÖØÒªµÄkernelº¯Êý¿É ......

Ìí¼Ó¿ª»úlogo£¨amlogic open linux£© ѧϰ±Ê¼Ç

1¡¢ÐÞ¸ÄkernelÅäÖã¨linux os£©
ÔÚlinuxÏ£¬ÖÕ¶Ë---½øÈë±àÒëĿ¼£¬Ö´ÐÐmake k.menuconfig£¬
ÔÚµ¯³öµÄÅäÖô°¿ÚÀïÑ¡ÔñDevice Drivers-----Amlogic Devices Driver-----Amlogic Display Driver-----setup logoºÍlogo on osd0
2¡¢Í¼Æ¬×ª»»£¨windows os£©
   a¡¢´ò¿ªBitmapDataGet.exe¹¤¾ß£¬Ñ¡Ôñ32λ¡£
b¡¢Ñ¡Ôñ¼Ó ......

LINUX·ÖÒ³»úÖÆ

ÏßÐÔ—ÎïÀíµØÖ·µÄת»»£¬¿É½«ÆäÒâÒåÀ©Õ¹ÎªÔÊÐí½«Ò»¸öÏßÐÔµØÖ·±ê¼ÇΪÎÞЧ£¬¶ø²»ÊÇʵ¼ÊµØ²úÉúÒ»¸öÎïÀíµØÖ·¡£ÓÐÁ½ÖÖÇé¿ö¿ÉÄÜʹҳ±»±ê¼ÇΪÎÞЧ£ºÆäÒ»ÊÇÏßÐÔµØÖ·ÊDzÙ×÷ϵͳ²»Ö§³ÖµÄµØÖ·£»Æä¶þÊÇÔÚÐéÄâ´æ´¢Æ÷ϵͳÖУ¬ÏßÐÔµØÖ·¶ÔÓ¦µÄÒ³´æ´¢ÔÚ´ÅÅÌÉÏ£¬¶ø²»ÊÇ´æ´¢ÔÚÎïÀí´æ´¢Æ÷ÖС£ÔÚǰһÖÖÇé¿öÏ£¬³ÌÐòÒò²úÉúÁËÎÞЧµØÖ·¶ø±ØÐë±»Ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ