ARMÉè¼ÆµÄ¸ßËÙÊý¾Ý²É¼¯Ô¶³Ì¼à¿Øϵͳ¼¼Êõ

Ïà¹ØרÌ⣺ оƬ

ÕªÒª£º¼òÒª½éÉÜÁËTCP£¯IPЭÒ飬¸ø³öÁË»ùÓÚARMǶÈëʽ¸ßËÙÊý¾Ý²É¼¯×°ÖõÄÔ¶³Ì¼à¿ØϵͳµÄʵÏÖ·½°¸¡£ÏµÍ³ÒÔÏÂλ»ú×÷Ϊ¿Í»§¶Ë£¬ÔÚA~f91RM9200ºÍǶÈëʽLinux´î½¨µÄÈíÓ²¼þƽ̨ÉÏÔËÐУ»½«ÉÏλ»ú×÷Ϊ·þÎñÆ÷¶Ë£¬ÓÃVB6£®0¿ª·¢¼à¿Øƽ̨Èí¼þ£»Á½Õßͨ¹ýTCP£¯IPʵÏÖÁ˲ɼ¯Êý¾ÝºÍ¿ØÖÆÃüÁîµÄ´«ÊäÒÔ¼°·þÎñÆ÷¼à¿Øģʽ¡£

Ëæ×ÅÐÅÏ¢»¯µÄ²»¶Ï·¢Õ¹£¬ÔÚ¹¤Òµ×Ô¶¯»¯¡¢µçÁ¦É豸¡¢Í¨ÐŹÜÀí¡¢ÖÇÄÜÖնˡ¢ÖÇÄÜСÇøµÈÁìÓò£¬¶ÔÊý¾Ý²É¼¯µÄʵʱÐÔ¡¢¿É¿¿ÐÔµÄÒªÇóÒ²²»¶ÏµØÌá¸ß¡£ÒÔÍù´«Í³µÄµ¥Æ¬»ú¼Ó²É¼¯¿¨µÄÊý¾Ý²É¼¯×°ÖÃÒѾ­²»ÄÜÂú×ãÈËÃÇʹÓõÄÒªÇó¡£Ëæ×Ųɼ¯¿¨µÄ²É¼¯ÆµÂʲ»¶ÏµØÌáÉý£¬ÆäËùÊôƽ̨µÄ¹¤×÷ƵÂÊÒ²Ó¦¸úÉÏʱ´úµÄ²½·¥¡£Í¬Ê±£¬ÔÚijЩÇé¿öÏ£¬×°ÖõIJٿØÈËÔ±²»¿ÉÄܵ½¹¤×÷ÏÖ³¡È¥Ö´ÐУ¬ËùÒÔÓбØÒª¶Ô²É¼¯×°ÖýøÐÐÔ¶³Ì¼à²ìºÍ¿ØÖÆ¡£ÔÚ¸÷ÖÖÉ豸µÄͨÐÅ·½Ê½ÖУ¬ÓÉÓÚÒÔÌ«Íø¾ßÓÐËٶȿ졢ͨÓÃÐԺá¢À©Õ¹ÐÔÇ¿µÈÓŵ㣬ÒÑ13½¥³ÉΪÉ豸֮¼ä½øÐÐͨÐŵÄÖ÷Òª·½Ê½¡£±¾ÎÄÌá³öÁË»ùÓÚARMµÄ¸ßËÙÊý¾Ý²É¼¯×°ÖÃÔ¶³Ì¼à¿Øϵͳ£¬ÔÚʵÏÖ¶ÔÊý¾ÝµÄ¸ßËٲɼ¯µÄͬʱ£¬Äܱ£Ö¤Êý¾ÝµÄ¿É¿¿ÐÔºÍʵʱÐÔ£¬²¢¶Ô¸÷Ö¡Êý¾ÝǶÈëʱ¼ä±ê־ΪºóÐøÊý¾Ý´¦Àí×öºÃ×¼±¸£¬×îºóÄܽ«Êý¾Ý¼°Ê±×¼È·µØ´æ´¢µ½Òƶ¯´æ´¢É豸ºÍ·þÎñÆ÷ÉÏ¡£¸Ã×°ÖðüÀ¨ÏÖ³¡¼à¿ØģʽºÍ·þÎñÆ÷¼à¿Øģʽ¡£

1 ϵͳ¼ò½é

±¾×°ÖÃÓÉÓ²¼þºÍÈí¼þÁ½²¿·Ö×é³É£¬Èçͼ1Ëùʾ¡£ÏµÍ³Ó²¼þÓɸßËÙÊý¾Ý²É¼¯Æ½Ì¨ºÍ²É¼¯Ä£¿é¹¹³É¡£²É¼¯Ä£¿é¸ù¾ÝÉè¼ÆÒªÇ󣬲ÉÓÃDMMÒ»32Ò»AT²É¼¯°å¡£²É¼¯Æ½Ì¨²ÉÓÃATMEL¹«Ë¾A791RM9200×÷ΪÖ÷¿ØоƬ£¬¸½´ø16 kBµÄSDRAMºÍ128 kBµÄROM¡£¸ÃоƬÈÚºÏÁËARM920T ARM Thumb´¦ÀíÆ÷£¬µ±¹¤×÷ƵÂÊΪ180 MHzʱÐÔÄܸߴï200 MIPS¡£´øÓÐ10£¯100 MB Base—TÐÍÒÔÌ«Íø¿¨½Ó¿Ú£¬USB 2£®0È«ËÙ(12 Mbps)Ö÷»ú£¯É豸½Ó¿Ú¡£ÄÚº¬ÄÚ´æ¹ÜÀíµ¥ÔªMMU£¬º¬Óе÷ÊÔͨµÀµÄÄÚ²¿·ÂÕæÆ÷£¬±ãÓÚ¿ª·¢µ÷ÊÔ¡£ÓÉÓÚAT91RM9200¾ßÓй¦ÄÜÈ«¡¢¹¦ºÄµÍºÍ¹¤Òµ¼¶µÈÓŵ㣬¿ÉÒÔʹϵͳÄÜÔËÓõ½¸÷ÖÖ»·¾³ÖС£

ϵͳµÄÏÂλ»úÈí¼þÑ¡ÔñǶÈëʽLinux²Ù×÷ϵͳ¡£Ç¶ÈëʽLinuxÊǽ«ÈÕÒæÁ÷ÐеÄLinux²Ù×÷ϵͳ½øÐвüôÐ޸ģ¬Ê¹Ö®ÄÜÔÚǶÈëʽ¼ÆËã»úϵͳÔËÐеÄÒ»ÖÖ²Ù×÷ϵͳ£¬Ëü¼ÈÓÐÎÞÏ޵Ŀª·ÅÔ´´úÂë×ÊÔ´£¬ÓÖÓÐǶÈËʽ²Ù×÷ϵͳµÄÌØÐÔ¡£Í¨¹ý¶ÔÄں˵ÄÖØÐÂÅäÖᢱàÒ룬¼´¿É½«ÆäÒÆÖ²µ½Aqgl RM9200ÖУ»ÔÙ½¨Á¢BootLoaderºÍÎļþϵͳ£¬ÐγɻùÓÚARMµÄǶÈëʽLinux²Ù×÷ϵͳ£¬×îºóÔÚ´Ëƽ̨ÉÏ¿ª·¢ÔËÓóÌÐò£¬ÊµÏÖ×°Öõĸ÷¸ö¹¦ÄÜ¡£

2 TCP£¯IPЭÒé

ÔÚÒòÌØÍøÉÏ£¬TCP£¯IPЭÒéÿʱÿ¿Ì±£Ö¤ÁËÊý¾ÝµÄ׼ȷ´«Êä¡£²Î¿¼¿ª·Åϵͳ»¥Á¬(OSI)Ä£ÐÍ£¬TCP£¯IPͨ³£²ÉÓÃÒ»ÖÖ¼ò»¯µÄËIJãÄ£ÐÍ£¬·Ö±ðΪ£º

¢Ù Ó¦Óò㡣ÍøÂçÓ¦ÓòãÒªÓÐÒ»¸ö¶¨ÒåÇåÎúµÄ»á»°¹ý³Ì£¬Èçͨ³£Ëù˵µÄHttp¡¢Ftp¡¢TelnetµÈ¡£ÔÚ±¾ÏµÍ³ÖУ¬ÏÂλ»úϵͳ´«µÝÀ´×ÔEthernetºÍÊý¾ÝÖն˵ÄÊý¾Ý£¬Ó¦ÓòãÖ»¶Ô´óµÄÊý¾Ý±¨½øÐдò°ü²ð°ü´¦Àí¡£

¢Ú ´«Êä²ã¡£´«Êä²ãÈÃÍøÂç³ÌÐòͨ¹ýÃ÷È·¶¨ÒåµÄͨµÀ¼°Ä³Ð©ÌØÐÔ»ñÈ¡Êý¾Ý£¬È綨ÒåÍøÂçÁ¬½ÓµÄ¶Ë¿ÚºÅµÈ£¬ÊµÏָòãЭÒéµÄ´«Êä¿ØÖÆЭÒéTCPºÍÓû§Êý¾ÝЭÒéUDP¡£TCP·þÎñÌṩÁËÊý¾ÝÁ÷´«Êä¡¢¿É¿¿ÐÔ¡¢ÓÐЧÁ÷¿ØÖÆ¡¢È«Ë«¹¤²Ù×÷ºÍ¶à·¸´Óü¼ÊõµÈ£¬ÔÚ±¾ÏµÍ³ÖÐʹÓÃTCPÊý¾Ý±¨Ð­Òé¡£

¢Û ÍøÂç²ã¡£ÍøÂç²ãÈÃÐÅÏ¢¿ÉÒÔ·¢Ë͵½ÏàÁÚµÄTCP£¯IPÍøÂçÉϵÄÈÎÒ»Ö÷»úÉÏ£¬IPЭÒé¾ÍÊǸò㴫ËÍÊý¾ÝµÄ»úÖÆ¡£Í¬Ê±½¨Á¢ÍøÂç¼äµÄ»¥Á¬£¬ÌṩARPµØÖ·½âÎöЭÒ飬´Ó¶øʵÏÖ´ÓIPµØÖ·µ½Êý¾ÝÁ´Â·ÎïÀíµØÖ·µÄÓ³Ïñ¡£

¢Ü Á´Â·²ã¡£ÓÉ¿ØÖÆͬһÎïÀíÍøÂçÉϵIJ»Í¬»úÆ÷¼äÊý¾Ý´«Ë͵ĵײãЭÒé×é³É£¬ÊµÏÖÕâÒ»²ãµÄЭÒé²¢ÊôÓÚTCP£¯IPЭÒé×é¡£ÔÚ±¾ÏµÍ³ÖÐÕⲿ·Ö¹¦ÄÜÓÉARM¿ØÖÆÍø¿¨Ð¾Æ¬DM9161EʵÏÖ¡£

ÔÚ±¾ÏµÍ³ÖУ¬ÀûÓÃTCP£¯IPЭÒéÖеÄTCP(´«Êä¿ØÖÆЭÒé)¡¢IP(ÍøÂ籨ÎÄЭÒé)¡¢ARP(µØÖ·½âÎöЭÒé)¼°¼òµ¥µÄÓ¦ÓòãЭÒé³É¹¦µØʵÏÖÁËARM×°ÖúͷþÎñ¶ËµÄÍøÂ绥Áª¡£¼ÈÌá¸ßÁËÊý¾Ý´«ÊäµÄËٶȣ¬ÓÖ±£Ö¤ÁËÊý¾Ý´«ÊäµÄÕýÈ·ÐÔ£¬Í¬Ê±Ò²À©Õ¹ÁËÊý¾Ý´«ÊäµÄÓÐЧ°ë¾¶¡£

3 ÏÂλ»úµÄͨÐÅʵÏÖ

ÏÂλ»ú×÷Ϊ¿Í»§¶Ë£¬ËüºÍ·þÎñÆ÷µÄTCP£¯IPͨÐÅÊÇͨ¹ý¶ÔÌ×½Ó×Ö±à³ÌʵÏֵġ£Ì×½Ó×ÖÊÇÍøÂçͨÐŵĻù±¾²Ù×÷µ¥Ôª£¬×îÔçÊÇ×÷ΪBSD¹æ·¶Ìá³öÀ´µÄ£¬ÏÖÒѳÉΪLinux²Ù×÷ϵͳÏÂTCP£¯IPÍøÂç±à³Ì±ê×¼¡£Ì×½Ó×ÖÌṩÁ˲»Í¬Ö÷»ú¼ä½ø³ÌË«ÏòͨÐŵĶ˵㣬ÕâЩ½ø³ÌÔÚͨÐÅÇ°¸÷×Ô½¨Á¢Ò»¸öSocket£¬²¢Í¨¹ý¶ÔSocketµÄ д²Ù×÷ʵÏÖÍøÂçͨÐŹ¦ÄÜ¡£ÏÂÎĽ«ÌÖÂÛµÄWinsockÒ²ÊÇÒ»¸öÓÃÓÚWindowsϵÁвÙ×÷ϵͳµÄSockets°æ±¾ ¡£

ÔÚLinuxÌṩµÄ3ÖÖÌ×½Ó×ÖÖУ¬±¾ÎÄÑ¡ÔñÁ÷ʽÌ×½Ó×Ö¡£Á÷ʽÌ×½Ó×ÖÊÇ×î³£ÓõÄÌ×½Ó×ÖÀàÐÍ£¬Æä´«ÊäÌصãΪ£ºÃæÏòÁ´½Ó¡¢ÎÞ²î´í¡¢·¢ËÍÏȺó˳ÐòÒ»Ö¡¢°ü³¤¶È²»Ï޺ͷÇÖظ´µÄÍøÂçÐÅÏ¢°ü¡£TCP£¯IPЭÒé´ØÖеÄTCPЭÒéʹÓôËÀà½Ó¿Ú¡£ÏÂλ»úÓë·þÎñÆ÷ͨÐÅʵÏÖÈçͼ2Ëùʾ¡£

¢Ù Socket()º¯Êý£ºÓÃÓÚ´´½¨Ò»¸öÌ×½Ó×ÖÃèÊö·û¡£

#include

#include

Socket

— ID=socket(AF_INET£¬SOCK_STREAM£¬0)£»

ff PF—INET OR AF—INET Intemet IP Protocal SOCK—STREAMÑ¡ÔñÁ÷ʽÌ×½Ó×Ö

¢Ú Connect()º¯Êý£ºÓÃÓÚÓëÔ¶¶Ë·þÎñÆ÷½¨Á¢Ò»¸öTCPÁ¬½ÓÇëÇó¡£

Status=connect(Socket—ID£¬(struc sockaddr})&Server—Addr£¬sizeof(struct sockaddr))£»

¡Î Ò»¶¨ÒªÖ¸¶¨·þÎñÆ÷µÄIPµØÖ·ºÍ¶Ë¿ÚºÅ£¬¿É´ø²ÎÊýÔËÐгÌÐòʱָ¶¨£¬Ò²ÓÐĬÈϵÄlPºÍ¶Ë¿ÚºÅ

if(status!= Ò»1)¡Î Ò»1£ºÁ¬½Ó¹ý³Ì³ö´í

{£®ï £®£®}

¢Û Write()º¯Êý£º´ÓÌ×½Ó×Ö»º³åÇøдÊý¾Ý¡£

int Net— Send— SysConfig(int Conn—ID£¬char Cmdname)

¡ÎÏò·þÎñÆ÷·´À¡¹¤×÷״̬¼´Ö´ÐзþÎñÆ÷Ï´ïµÄÃüÁîÇé¿ö

¡ÎConn—IDΪÒѾ­½¨Á¢µÄÌ×½Ó×ÖÃèÊö·û

{

status=write(Conn—ID£¬sendbuff£¬len)£»

¡ÎÏò·þÎñÆ÷·¢ËÍÐÅÏ¢

}

×÷ÕߣºÑ¦ÑÞµÈ À´Ô´£º21ICµç×ÓÍø


΢ÐÅɨÃè·ÖÏí±¾Îĵ½ÅóÓÑȦ
ɨÂë¹Ø×¢5GͨÐŹٷ½¹«ÖÚºÅ,Ãâ·ÑÁìÈ¡ÒÔÏÂ5G¾«Æ·×ÊÁÏ
  • 1¡¢»Ø¸´¡°LTBPS¡±Ãâ·ÑÁìÈ¡¡¶¡¶ÖйúÁªÍ¨5GÖն˰×ƤÊé¡·¡·
  • 2¡¢»Ø¸´¡°ZGDX¡±Ãâ·ÑÁìÈ¡¡¶ÖйúµçÐÅ5GNTN¼¼Êõ°×ƤÊé¡·
  • 3¡¢»Ø¸´¡°TXSB¡±Ãâ·ÑÁìÈ¡¡¶Í¨ÐÅÉ豸°²×°¹¤³ÌÊ©¹¤¹¤ÒÕͼ½â¡·
  • 4¡¢»Ø¸´¡°YDSL¡±Ãâ·ÑÁìÈ¡¡¶ÖйúÒƶ¯ËãÁ¦²¢Íø°×ƤÊé¡·
  • 5¡¢»Ø¸´¡°5GX3¡±Ãâ·ÑÁìÈ¡¡¶R1623501-g605GµÄϵͳ¼Ü¹¹1¡·
  • 7¡¢»Ø¸´¡°6G31¡±Ãâ·ÑÁìÈ¡¡¶»ùÓÚÔÆÍøÈںϵÄ6G¹Ø¼ü¼¼Êõ°×ƤÊé¡·
  • 8¡¢»Ø¸´¡°IM6G¡±Ãâ·ÑÁìÈ¡¡¶6GµäÐͳ¡¾°ºÍ¹Ø¼üÄÜÁ¦°×ƤÊé¡·
  • ±¾ÖÜÈȵ㱾ÔÂÈȵã

     

      ×îÈÈͨÐÅÕÐƸ

    Òµ½ç×îÐÂ×ÊѶ


      ×îÐÂÕÐƸÐÅÏ¢

    ×îм¼ÊõÎÄÕÂ

    ×îÐÂÂÛ̳Ìù×Ó