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

¹¹½¨ARM Linux½»²æ±àÒ빤¾ßÁ´

2.2  ¹¹½¨ARM Linux½»²æ±àÒ빤¾ßÁ´
¹¹½¨½»²æ±àÒëÆ÷µÄµÚÒ»¸ö²½Öè¾ÍÊÇÈ·¶¨Ä¿±êƽ̨¡£ÔÚGNUϵͳÖУ¬Ã¿¸öÄ¿±êƽ̨¶¼ÓÐÒ»¸öÃ÷È·µÄ¸ñʽ£¬ÕâЩÐÅÏ¢ÓÃÓÚÔÚ¹¹½¨¹ý³ÌÖÐʶ±ðҪʹÓõIJ»Í¬¹¤¾ßµÄÕýÈ·°æ±¾¡£Òò´Ë£¬µ±ÔÚÒ»¸öÌØ¶¨Ä¿±ê»úÏÂÔËÐÐGCCʱ£¬GCC±ãÔÚĿ¼·¾¶ÖвéÕÒ°üº¬¸ÃÄ¿±ê¹æ·¶µÄÓ¦ÓóÌÐò·¾¶¡£GNUµÄÄ¿±ê¹æ·¶¸ñʽΪCPU-PLATFORM-OS¡£ÀýÈçx86/i386 Ä¿±ê»úÃûΪi686-pc-linux-gnu¡£±¾ÕµÄÄ¿µÄÊǽ²Êö½¨Á¢»ùÓÚARMƽ̨µÄ½»²æ¹¤¾ßÁ´£¬ËùÒÔÄ¿±êƽ̨ÃûΪarm-linux-gnu¡£
ͨ³£¹¹½¨½»²æ¹¤¾ßÁ´ÓÐ3ÖÖ·½·¨¡£
·½·¨Ò»  ·Ö²½±àÒëºÍ°²×°½»²æ±àÒ빤¾ßÁ´ËùÐèÒªµÄ¿âºÍÔ´´úÂ룬×îÖÕÉú³É½»²æ±àÒ빤¾ßÁ´¡£¸Ã·½·¨Ïà¶Ô±È½ÏÀ§ÄÑ£¬ÊʺÏÏëÉîÈëѧϰ¹¹½¨½»²æ¹¤¾ßÁ´µÄ¶ÁÕß¡£Èç¹ûÖ»ÊÇÏëʹÓý»²æ¹¤¾ßÁ´£¬½¨ÒéʹÓ÷½·¨¶þ»ò·½·¨Èý¹¹½¨½»²æ¹¤¾ßÁ´¡£
·½·¨¶þ  ͨ¹ýCrosstool½Å±¾¹¤¾ßÀ´ÊµÏÖÒ»´Î±àÒëÉú³É½»²æ±àÒ빤¾ßÁ´£¬¸Ã·½·¨Ïà¶ÔÓÚ·½·¨Ò»Òª¼òµ¥Ðí¶à£¬²¢ÇÒ³ö´íµÄ»ú»áÒ²·Ç³£ÉÙ£¬½¨Òé´ó¶àÊýÇé¿öÏÂʹÓø÷½·¨¹¹½¨½»²æ±àÒ빤¾ßÁ´¡£
·½·¨Èý  Ö±½Óͨ¹ýÍøÉÏ£¨ftp.arm.kernel.org.uk£©ÏÂÔØÒѾ­ÖÆ×÷ºÃµÄ½»²æ±àÒ빤¾ßÁ´¡£¸Ã·½·¨µÄÓŵ㲻Óöà˵£¬µ±È»ÊǼòµ¥Ê¡Ê£¬µ«Óë´Ëͬʱ¸Ã·½·¨ÓÐÒ»¶¨µÄ±×¶Ë¾ÍÊǾÖÏÞÐÔÌ«´ó£¬ÒòΪ±Ï¾¹ÊDZðÈ˹¹½¨ºÃµÄ£¬Ò²¾ÍÊǹ̶¨µÄûÓÐÁé»îÐÔ£¬ËùÒÔ¹¹½¨ËùÓõĿâÒÔ¼°±àÒëÆ÷µÄ°æ±¾Ò²Ðí²¢²»ÊʺÏÄãÒª±àÒëµÄ³ÌÐò£¬Í¬Ê±Ò²Ðí»áÔÚʹÓÃʱ³öÏÖÐí¶àĪÃûµÄ´íÎ󣬽¨Òé¶ÁÕßÉ÷Óô˷½·¨¡£
ΪÁËÈöÁÕßÕæÕýµÄѧϰ½»²æ±àÒ빤¾ßÁ´µÄ¹¹½¨£¬ÏÂÃæ½«ÖصãÏêϸµØ½éÉÜǰÁ½ÖÖ¹¹½¨ARM Linux½»²æ±àÒ빤¾ßÁ´µÄ·½·¨¡£
2.2.1  ·Ö²½¹¹½¨½»²æ±àÒëÁ´
·Ö²½¹¹½¨£¬¹ËÃû˼Òå¾ÍÊÇÒ»²½Ò»²½µØ½¨Á¢½»²æ±àÒëÁ´£¬²»Í¬ÓÚ2.2.2½ÚÖн²ÊöµÄCrosstool½Å±¾¹¤¾ßÒ»´Î±àÒëÉú³ÉµÄ·½·¨£¬¸Ã·½·¨ÊʺÏÄÇЩϣÍûÉîÈëѧϰÁ˽⹹½¨½»²æ±àÒ빤¾ßÁ´µÄ¶ÁÕß¡£¸Ã·½·¨Ïà¶ÔÀ´ËµÄѶȽϴó£¬Í¨³£Çé¿öÏÂÀ§ÄÑÖØÖØ£¬ÓÌÈçÌÆÉ®Î÷ÌìÈ¡¾­£¬²»¹ý±¾ÎĻᾡ¿ÉÄÜÏêϸµØ½éÉܹ¹½¨µÄÿһ¸ö²½Ö裬¶ÁÕßÍêÈ«¿ÉÒÔ¸ù¾Ý±¾½ÚµÄÄÚÈÝ×Ô¼º¶ÀÁ¢Êµ¼ù£¬¹¹½¨×Ô¼ºµÄ½»²æ¹¤¾ßÁ´¡£¸Ã¹ý³ÌËùÐèµÄʱ¼ä½Ï³¤£¬Ï£Íû¶ÁÕßÓнÏÇ¿µÄÄÍÐĺÍÒãÁ¦È¥Ñ§Ï°ºÍʵ¼ùËü£¬Í¨¹ýʵ¼ù¿ÉÒÔʹ¶ÁÕ߸ü¼ÓÇå³þ½»²æ±àÒëÆ÷µÄ¹¹½¨¹ý³ÌÒÔ¼°¸÷¸ö¹¤¾ß°üµÄ×÷Ó᣸÷½·¨ËùÐè×ÊÔ´Èç±í2.1Ëùʾ¡£
±í2.1  ËùÐè×ÊÔ´
°²×°°ü
ÏÂÔØµØÖ·
°²×°°ü
ÏÂÔØµØÖ·
linux-2.6.10.tar.gz
ftp.kernel.org
glibc-2.3.2.tar.gz
ftp.gnu.org
binutils-2.15.tar.bz2
ftp.gnu.org
glibc-linuxthreads-2.3.2.tar.gz
ftp.gnu


Ïà¹ØÎĵµ£º

linuxÄÚºË address_space ½á¹¹

¿´linuxÄں˺ÜÈÝÒ×±»struct address_space Õâ¸ö½á¹¹ÃÔ»ó£¬ËüÊÇ´ú±íij¸öµØÖ·¿Õ¼äÂð£¿Êµ¼ÊÉϲ»Êǵģ¬ËüÊÇÓÃÓÚ¹ÜÀíÎļþ£¨struct inode)Ó³Éäµ½ÄÚ´æµÄÒ³Ãæ(struct page)µÄ£»ÓëÖ®¶ÔÓ¦£¬address_space_operations ¾ÍÊÇÓÃÀ´²Ù×÷¸ÃÎļþÓ³Éäµ½ÄÚ´æµÄÒ³Ãæ£¬±ÈÈç°ÑÄÚ´æÖеÄÐÞ¸Äд»ØÎļþ¡¢´ÓÎļþÖжÁÈëÊý¾Ýµ½Ò³Ã滺³åµÈ¡£
  & ......

Linux»·¾³ÏÂÓÃcÓïÑÔдµÄ²¥·ÅwavÎļþµÄС³ÌÐò

#include <unistd.h>
#include <fcntl.h>
#include
<sys/types.h>
#include <sys/ioctl.h>
#include
<stdlib.h>
#include <stdio.h>
#include
<linux/soundcard.h>
/* ÏÂÃæµÄÈý¸ö²ÎÊýÊǸú¾ßÌåÎļþÏà¹ØµÄ£¬ÎļþʲôÑù£¬¾ÍÒªÉèÖóÉʲôÑù */
#define RATE 11025&nbs ......

linuxÎļþȨÏÞÏê½â

Ò»¡¢ÎļþºÍĿ¼ȨÏÞ¸ÅÊö
ÔÚlinuxÖеÄÿһ¸öÎļþ»òĿ¼¶¼°üº¬ÓзÃÎÊȨÏÞ£¬ÕâЩ·ÃÎÊȨÏÞ¾ö¶¨ÁËË­ÄÜ·ÃÎʺÍÈçºÎ·ÃÎÊÕâЩÎļþºÍĿ¼¡£
ͨ¹ýÉ趨ȨÏÞ¿ÉÒÔ´ÓÒÔÏÂÈýÖÖ·ÃÎÊ·½Ê½ÏÞÖÆ·ÃÎÊȨÏÞ£ºÖ»ÔÊÐíÓû§×Ô¼º·ÃÎÊ£»ÔÊÐíÒ»¸öÔ¤ÏÈÖ¸¶¨µÄÓû§×éÖеÄÓû§·ÃÎÊ£»ÔÊÐíϵͳÖеÄÈκÎÓû§·ÃÎÊ¡£Í¬Ê±£¬Óû§ÄÜ
¹»¿ØÖÆÒ»¸ö¸ø¶¨µÄÎļþ»òĿ¼µÄ·ÃÎ ......

Linux ÄÚºËÅäÖà make menuconfig

ÄÚºËÅäÖúܷÑÊÂ,Ñ¡ÏîÌ«¶àÁË,×îºÃÓÃĬÈϵÄ.ÔÚlinux-2.6.10/archÏÂÓÐºÜ¶à¹ØÓÚ¸÷ÖÖ»ú×ÓµÄÅäÖÃ:
  alpha  cris   ia64   m68knommu   ppc   sh   sparc64   x86_64
  arm    h8300   m32r   mips  &n ......

LinuxÄÚºËÈëÃÅ£¨Èý£©—— CÓïÑÔ»ù±¾¹¦

    linuxÊÇÒ»¸ö¸´ÔÓµÄÈí¼þϵͳ£¬ÆäÄÚºËÔ´´úÂëÍùÍù»áÓõ½Ò»Ð©ÔÚÓ¦ÓóÌÐòÉè¼ÆÖв¿³£¼ûÓïÑԳɷֺͱà³Ì¼¼ÇÉ£¬ÕâЩ¶¼ÊÇ·ÖÎöÄÚºËÔ´´úÂëµÄ»ù±¾¹¦£¬Ï£Íû´ó¼ÒÄÜÖØµãÕÆÎÕ¡£
    Ê×ÏÈ£¬gcc±àÒëÆ÷´ÓÓïÑÔÀïÎüÊÕÁË“inline”ºÍ“const”¡£inlineº¯ÊýµÄ´óÁ¿Ê¹Óã¬ÓÐÀûÓÚÌá¸ßÔËÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ