ÄÏ ¾© Àí ¹¤ ´ó ѧ
ǶÈëʽϵͳʵÑ鱨¸æ
Ö¸µ¼ÀÏʦ£º
ÐÕÃû: ѧԺ(ϵ): °à¼¶:
ѧ ºÅ£º
ʵÑéÈÕÆÚ£º 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
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