ǶÈëʽϵͳ¼¼ÊõʵÑ鱨¸æ ÏÂÔØ±¾ÎÄ

ÄÏ ¾© Àí ¹¤ ´ó ѧ

ǶÈëʽϵͳʵÑ鱨¸æ

Ö¸µ¼ÀÏʦ£º

ÐÕÃû: ѧԺ(ϵ): °à¼¶:

ѧ ºÅ£º

ʵÑéÈÕÆÚ£º 2016Äê1ÔÂ

ʵÑéÒ»£ºÊìϤLinux ¿ª·¢»·¾³

Ò»¡¢ÊµÑéÄ¿µÄ

ÊìϤLinux¿ª·¢»·¾³£¬Ñ§»á»ùÓÚS3C2410µÄLinux¿ª·¢»·¾³µÄÅäÖúÍʹÓá£Ê¹ÓÃLinuxµÄarmv4l-unknown-linux-gcc±àÒ룬ʹÓûùÓÚNFS·½Ê½µÄÏÂÔØµ÷ÊÔ£¬Á˽âǶÈëʽ¿ª·¢µÄ»ù±¾¹ý³Ì¡£

¶þ¡¢ÊµÑéÒÇÆ÷

Ó²¼þ£ºUP-NETARM2410-SǶÈëʽʵÑéÆ½Ì¨¡¢PC»ú¡£

Èí¼þ£ºPC»ú²Ù×÷ϵͳREDHAT LINUX 9.0£«MINICOM£«ARM-LINUX¿ª·¢»·¾³

Èý¡¢ÊµÑéÄÚÈÝ

±¾´ÎʵÑéʹÓÃRedhat Linux 9.0²Ù×÷ϵͳ»·¾³£¬°²×°ARM-LinuxµÄ¿ª·¢¿â¼°±àÒëÆ÷¡£´´½¨Ò»¸öÐÂĿ¼£¬²¢ÔÚÆäÖбàдhelloÎļþ¡£Ñ§Ï°ÔÚLinuxϵıà³ÌºÍ±àÒë¹ý³Ì£¬ÒÔ¼°ARM¿ª·¢°åµÄʹÓúͿª·¢»·¾³µÄÉèÖá£ÏÂÔØÒѾ­±àÒëºÃµÄÎļþµ½Ä¿±ê¿ª·¢°åÉÏÔËÐС£

ËÄ¡¢ÊµÑé²½Öè

1¡¢½¨Á¢¹¤×÷Ŀ¼

[root@zxt smile]# mkdir hello [root@zxt smile]# cd hello

2¡¢±àд³ÌÐòÔ´´úÂë

ʵ¼ÊµÄhello.cÔ´´úÂë½Ï¼òµ¥£¬ÈçÏ£º

££include void main(void) {

printf(¡°hello world \\n¡±); }

ÓÃÏÂÃæµÄÃüÁîÀ´±àд¡°hello.c¡±µÄÔ´´úÂ룬½øÈëhelloĿ¼ʹÓÃviÃüÁîÀ´±à¼­´úÂ룺[root@zxt

hello]# vi hello.c

°´¡°i¡±»òÕß¡°a¡±½øÈë±à¼­Ä£Ê½£¬Â¼ÈëÉÏÃæµÄ´úÂ룬Íê³Éºó°´Esc¼ü½øÈëÃüÁî״̬£¬ÔÙÓÃÃüÁî¡°£ºwq ¡±£¬±£´æ²¢Í˳ö¡£ÕâÑùÔÚµ±Ç°Ä¿Â¼Ï½¨Á¢ÁËÒ»¸öÃûΪ¡°hello.c¡±µÄÎļþ¡£ 3¡¢±àÒëÁ´½Ó

ҪʹÉÏÃæµÄ¡°hello.c¡±³ÌÐòÄܹ»ÔËÐУ¬½«Æä¾­¹ý±àÒëºÍÁ¬½Ó£¬Éú³É¿ÉÖ´ÐÐÎļþ¡£ÊäÈë gcc hello.c -o hello ½øÐбàÒ룬ÔÙÊäÈë ./hello ÔËÐгÌÐò£¬¹Û²ì½á¹û1¡£

4¡¢ÔÚ֮ǰµÄ»ù´¡ÉÏ£¬½øÈëhelloÎļþ£¬ÊäÈëarmv4l-unknown-linux-gcc hello.c -o hello ºÍ cp hello /arm2410s ½øÐн»²æ±àÒ룬ÊäÈë ifconfig eth0 192.168.0.121ÉèÖÃIP£»ÊäÈëtelnet 192.168.0.115µÇÈ뿪·¢°å£¬ÊäÈëroot¿ªÊ¼½øÐйÒÔØ£ºmount -o nolock 192.168.0.121:/arm2410s /mnt £»ÔÙͨ¹ýcd mntÕÒµ½helloÎļþ£¬×îºóÊäÈë./hello ÔËÐгÌÐò£¬¹Û²ì½á¹û2¡£

Î塢ʵÑé½á¹û

¹Û²ìʵÑé½á¹û1£¬ÆÁÄ»ÉÏÏÔʾhello world ½ØÍ¼Èçͼ1Ëùʾ£º

ͼ 1 ÔËÐгÌÐò¹Û²ì½á¹ûµÄÊä³ö

Áù¡¢Ë¼¿¼Ìâ

1£®Çë¼òÊöMakefileµÄ×÷Ó㬷ÖÎöÆä¹¤×÷»úÀíÓëÁ÷³Ì£¿

makefile¹ØÏµµ½ÁËÕû¸ö¹¤³ÌµÄ±àÒë¹æÔò¡£Ò»¸ö¹¤³ÌÖеÄÔ´Îļþ²»¼ÆÊý£¬Æä°´ÀàÐÍ¡¢¹¦ÄÜ¡¢Ä£¿é·Ö±ð·ÅÔÚÈô¸É¸öĿ¼ÖУ¬makefile¶¨ÒåÁËһϵÁеĹæÔòÀ´Ö¸¶¨£¬ÄÄЩÎļþÐèÒªÏȱàÒ룬ÄÄЩÎļþÐèÒªºó±àÒ룬ÄÄЩÎļþÐèÒªÖØÐ±àÒ룬ÉõÖÁÓÚ½øÐиü¸´ÔӵŦÄܲÙ×÷£¬ÒòΪmakefile¾ÍÏñÒ»¸öShell½Å±¾Ò»Ñù£¬ÆäÖÐÒ²¿ÉÒÔÖ´ÐвÙ×÷ϵͳµÄÃüÁî¡£

makefile´øÀ´µÄºÃ´¦¾ÍÊÇ¡ª¡ª¡°×Ô¶¯»¯±àÒ롱£¬Ò»µ©Ð´ºÃ£¬Ö»ÐèÒªÒ»¸ömakeÃüÁÕû¸ö¹¤³ÌÍêÈ«×Ô¶¯±àÒ룬¼«´óµÄÌá¸ßÁËÈí¼þ¿ª·¢µÄЧÂÊ

2. ÊÔ¼òÊöÈçºÎ±àдºÍ±àÒë¿ÉÒÔÔÚÄ¿±ê°åÉÏÔËÐеĿÉÖ´ÐгÌÐò£¿

ǶÈëʽ¿ª·¢ÊÇÔÚwindowsÏÂ×°ÐéÄâ»ú£¬ÐéÄâ»úÀï×°Linux£¬È»ºóÔÙÓë°å×ÓÁ¬£¬¿ÉÒÔÀûÓÃSMBÔÚlinuxÏ´´½¨Îļþ£¬ÔÚwindowsϱ༭£¬È»ºóÔÙÔÚÐéÄâ»úÀïÓý»²æ±àÒëÆ÷±àÒë´úÂëÉú³É¿ÉÖ´ÐÐÎļþ£¬¿ÉÖ´ÐÐÎļþ¿ÉÒÔͨ¹ýNFS·½Ê½ÔËÐУ¬Ò²¿ÉÒÔ×öÎļþϵͳÉÕµ½°å×ÓÉÏ

ʵÑé¶þ£º¶àÏß³ÌÓ¦ÓóÌÐòÉè¼Æ

Ò»¡¢ÊµÑéÄ¿µÄ

Á˽â¶àÏ̳߳ÌÐòÉè¼ÆµÄ»ù±¾Ô­ÀíÒÔ¼°Ñ§Ï°pthread¿âº¯ÊýµÄʹÓá£

¶þ¡¢ÊµÑéÒÇÆ÷

Ó²¼þ£ºUP-NETARM2410-S ǶÈëʽʵÑéÆ½Ì¨£¬PC»ú¡£

Èí¼þ£ºPC»ú²Ù×÷ϵͳREDHAT LINUX 9.0£«MINICOM£«ARM-LINUX¿ª·¢»·¾³¡£

Èý¡¢ÊµÑéÄÚÈÝ

ÊìϤ¼¸¸öÖØÒªµÄPTHREAD¿âº¯ÊýµÄʹÓã¬ÕÆÎÕ¹²ÏíËøºÍÐźÅÁ¿µÄʹÓ÷½·¨¡£

½øÈë/arm2410s/exp/basic/02_pthreadĿ¼£¬ÔËÐÐmake²úÉúpthread³ÌÐò£¬Ê¹ÓÃNFS·½Ê½Á¬½Ó¿ª·¢Ö÷»ú½øÐÐÔËÐÐʵÑé¡£

ËÄ¡¢ÊµÑé²½Öè

1¡¢±àд²¢±àÒë¼òµ¥µÄ¶àÏß³ÌʾÀý³ÌÐò 2¡¢ÔĶÁÔ´´ú¼°±àÒëÓ¦ÓóÌÐò

½øÈëexp/basic/02_pthreadĿ¼£¬Ê¹ÓÃvi±à¼­Æ÷»òÆäËû±à¼­Æ÷ÔĶÁÀí½âÔ´´úÂë¡£ÔËÐÐmake²úÉúpthread ¿ÉÖ´ÐÐÎļþ¡£ 3¡¢ÏÂÔØºÍµ÷ÊÔ

Çл»µ½minicomÖÕ¶Ë´°¿Ú£¬Ê¹ÓÃNFS mount ¿ª·¢Ö÷»úµÄ/arm2410s µ½/host Ŀ¼¡£ ½øÈë/host/exp/basic/pthreadĿ¼£¬ÔËÐÐpthread£¬¹Û²ìÔËÐнá¹ûµÄÕýÈ·ÐÔ¡£

Î塢ʵÑé½á¹û

ʵÑé½á¹ûÈçͼ2.1Ëùʾ

3