¡¡
ǰÑÔ
¶àÒµÎñ¹âÏ˽ÓÈëϵͳÖ÷ÒªÀûÓô«Í³µÄSDHºÍ¹âÀÂ×ÊÔ´£¬Í¨¹ý¹âÏËÑÓÉìÔÓеÄTDMרÏߵĸ²¸Ç·¶Î§£¬Ê¹µÃ´«Í³µÄ¹ÌÍøÔËÓªÉÌÄܹ»¼ÌÐøÌṩºÍÀ©´óרÏßÒµÎñ¡£
¶àÒµÎñ¹âÏ˽ÓÈëϵͳ³ýÁ˲ÉÓô«Í³µÄÍø¹ÜÈí¼þÍ⣬ͬʱ²ÉÓÃÁË»ùÓÚWeb·½Ê½µÄǶÈËÊ½Íø¹Üϵͳ¡£±¾ÎĽáºÏǶÈëʽWeb·þÎñÆ÷ºÍǶÈëʽÊý¾Ý¿â¼¼ÊõÔÚ½ÓÈëÉè±¸Íø¹ÜϵͳÖеÄÓ¦Ó㬶ԻùÓÚARM9ƽ̨ÇÒº¬ÓÐǶÈëʽWeb·þÎñÆ÷ºÍǶÈëʽÊý¾Ý¿âµÄÍø¹ÜϵͳµÄÉè¼ÆÓëʵÏÖ·½·¨½øÐÐÌÖÂÛ¡£
ǶÈëÊ½Íø¹ÜϵͳÉè¼Æ¸ÅÊö
ǶÈëÊ½Íø¹Üϵͳ»ùÓÚARM9Ó²¼þƽ̨ºÍLinux²Ù×÷ϵͳ£¬²ÉÓÃǶÈëʽWeb·þÎñÆ÷¶ÔÉ豸½øÐй¦ÄÜÅäÖ㬲ÉÓÃǶÈëʽÊý¾Ý¿â¶Ô¸æ¾¯ÐÅÏ¢½øÐвɼ¯¡¢·ÖÎö¡¢´æ´¢¡£¹ÜÀíÈËÔ±¿ÉÒÔͨ¹ýIEä¯ÀÀÆ÷Ö±½Ó·ÃÎÊÉ豸ÉϵÄWeb·þÎñÆ÷£¬´Ó¶øÊµÏÖÍøÂç¹ÜÀí¹¦ÄÜ¡£Ç¶ÈËʽ¼à¿ØÏµÍ³µÄ½á¹¹Èçͼ1Ëùʾ¡£Ç¶ÈëÊ½Íø¹Üϵͳ¸øÃ¿¸öÉ豸´øÀ´ÁËͼÐλ¯µÄ¹ÜÀí£¬ÌṩÁ˼òµ¥Ò×ÓõĽӿڣ¬²Ù×÷¼òµ¥¶ø²»Ëðʧ¹¦ÄÜ¡£
ÔÚ±¾ÒåµÄϵͳÖУ¬Ó²¼þƽ̨»ùÓÚAT91RM9200оƬ£¬¸ÃоƬ²ÉÓÃ16£¯32λARM920TÄںˣ¬¹¤×÷ËÙ¶È´ï180MHz£¬ÄÚ²¿¼¯³ÉÓÐ64K RAMºÍ128K ROM£¬²¢ÓÐÍⲿ×ÜÏßÀ©Õ¹½Ó¿Ú(EBI)Ö§³Ö¶àÖÖÀàÐ͵ÄÍⲿ´æ´¢Æ÷¡£¶Ô²Ù×÷ϵͳ£¬±¾ÎÄÑ¡ÔñÁË¿ª·ÅÔ´´úÂë¼°ÍøÂç×ÊÔ´·á¸»µÄLinux¡£Ç¶ÈëʽLinux²Ù×÷ϵͳ¿ÉÒÆÖ²ÐÔÇ¿£¬Óû§Í¨¹ýÖØÐÂÅäÖ㬱àÒëÄں˺ó£¬ÄÚºËÎļþСÓÚ500K¡£
ǶÈëʽWeb·þÎñÆ÷ºÍǶÈëʽÊý¾Ý¿âµÄÒÆÖ²
½»²æ±àÒë»·¾³µÄ½¨Á¢
ΪÁ˽¨Á¢½»²æ±àÒë»·¾³£¬Ê×ÏÈÐèÒª°²×°½»²æ±àÒ빤¾ßarm-linux-gcc£¬ÕâÀï²ÉÓÃcross-2.95.3.tar.gz¹¤¾ß°ü¡£½«¹¤¾ß°ü½âѹËõ°²×°µ½ËÞÖ÷»úµÄ£¯optĿ¼Ï£¬²¢ÅäÖû·¾³±äÁ¿£¬ÖØÆôºó¾Í½¨Á¢ÆðÐèÒªµÄ½»²æ±àÒ뿪·¢»·¾³¡£ ǶÈëʽWeb·þÎñÆ÷µÄÒÆÖ²
ǶÈëʽWeb·þÎñÆ÷²ÉÓÿªÔ´µÄBoa·þÎñÆ÷¡£BoaÊÇÒ»¿îµ¥ÈÎÎñµÄHTTP·þÎñÆ÷£¬Í¨¹ý½¨Á¢HTTPÇëÇóÁÐ±í´¦Àí¶à·HTTPÁ¬½ÓÇëÇó¡£Í¬Ê±£¬ËüֻΪCGI³ÌÐò´´½¨ÐµĽø³Ì£¬Ôںܴó³Ì¶ÈÉϽÚÊ¡ÁËϵͳ×ÊÔ´¡£
½âѹËõboa0.94Ô´Âëºó£¬Í¨¹ý.£¯configure--host=arm-linux-gcc--target=arm-linuxÃüÁîÉú³ÉMakefileÎļþ£¬½«ÆäÖеÄGCCÐÞ¸ÄΪarm-linux-gcc£¬Ö´ÐÐmakeÃüÁ¼´¿ÉÉú³ÉÔÚARM°åÉÏÔËÐеÄBoaÓ¦ÓóÌÐò¡£
Web·þÎñÆ÷µÄÅäÖÃ
ΪÁËÄܹ»ÔÚARMÉÏÔËÐÐWeb·þÎñÆ÷Boa£¬ÐèÒª¶ÔÆäÔËÐл·¾³¡¢²ÎÊýµÈ½øÐÐÉèÖ㬲¢½«×îÖÕµÄÅäÖÃÎļþboa.confÖÃÓÚÊʵ±Î»Öá£Í¨¹ýÐÞ¸ÄÅäÖÃÎļþboa.conf¿ÉʵÏÖ¶ÔWeb·þÎñÆ÷µÄÅäÖᣲ¿·ÖÅäÖÃΪ£ºÕìÌý¶Ë¿ÚʹÓÃ80¶Ë¿Ú£¬·ÃÎÊÈÕÖ¾AccessLog´æ·ÅÓÚ£¯var£¯log£¯boa£¯access_log£¬´íÎóÈÕÖ¾ErrorLogλÓÚ£¯var£¯log£¯boa£¯error.log£¬ÎļþµÄ¸ùĿ¼DocumentRootÉèÔÚ£¯home£¯web£¯£¬KeepAliveMaxÖµºÍKeepAliveTimeoutÖµ²ÉÓÃĬÈÏÖµ£¬ÉèÖÃCGI½Å±¾³ÌÐòPathΪ£¯cgi-bin£¯£¬·þÎñÆ÷ÃûServerNameÖµÉèÖÃΪwebServer£»½«Ð޸ĺõÄÅäÖÃÎļþboa.conf´æ·ÅÓÚǶÈëʽÎļþϵͳ¸ùÎļþ£¯home£¯webĿ¼Ï¡£×îºó½«º¬ÓÐBoaÓ¦ÓóÌÐò¡¢boa.confÅäÖÃÎļþ¼°ÆäËûÏà¹ØCGI½Å±¾³ÌÐòµÄramdiskÎļþϵͳͨ¹ýTFTP·þÎñÆ÷ÏÂÔØµ½Flash´æ´¢Æ÷ÖС£
ǶÈëʽÊý¾Ý¿âµÄÒÆÖ²
ǶÈëʽÊý¾Ý¿â²ÉÓÿªÔ´µÄSQLiteÊý¾Ý¿â£¬ËüÊÇÒ»¸öÇáÁ¿¼¶±ðµÄ¹ØÏµÊý¾Ý¿â£¬¾ßÓÐÈý¼¶Ä£Ê½µÄ½á¹¹Ìåϵ£¬¼´Óû§Ä£Ê½¡¢Â߼ģʽºÍ´æ´¢Ä£Ê½¡£ÎªÁËʹÊý¾Ý¿âÓ¦ÓóÌÐòÄܹ»ÔÚAT91RM9200+Linux»·¾³ÖÐÔËÐУ¬ÐèÒª°ÑSQLiteÒÆÖ²µ½Linuxƽ̨ÉÏ£¬Í¨¹ýFTP·½Ê½ÏÂÔØµ½Ä¿±ê°åLinuxϵͳµÄlibĿ¼Ï£¬½«Êý¾Ý¿âÓ¦ÓóÌÐò½»²æ±àÒëºó£¬Í¨¹ýFTP·½Ê½ÏÂÔØµ½Ä¿±ê°åLinuxÎÄʲϵͳÖм´¿ÉÔËÐС£
ǶÈëʽÁÙ½üϵͳµÄÈí¼þ½á¹¹Éè¼Æ
»ùÓÚARMƽ̨µÄ¼à¿ØÏµÍ³Èí¼þ½á¹¹Èçͼ2Ëùʾ¡£ÔÚÓ²¼þƽ̨¼ÓµçÖ®ºó£¬¼ÓÔØ³ÌÐò¸ºÔð¶Ô΢´¦ÀíÆ÷½øÐбØÒªµÄÓ²¼þÉèÖò¢³õʼ»¯ÄÚ´æ¡£¶ÔÄÚºËÓ³ÏñÎļþ½øÐнâѹËõ£¬ÔÚ±ØÒªµÄ¼ì²éÖ®ºó£¬¿ªÊ¼Äںˡ¢Óû§Ì¬µÈ³õʼ»¯¹¤×÷¡£×îºóÆô¶¯Shell£¬Ê¹Ç¶Èëʽ¼à¿ØÏµÍ³ÔËÐС£ÔÚ¾ßÌåµÄÉè¼ÆÖУ¬Ó²¼þËùÐèÒªµÄÉ豸Çý¶¯³ÌÐò¡¢ÍøÂ繦ÄÜÖ§³ÖµÈ£¬¶¼ÊÇͨ¹ý±àÒëLinuxÄÚºËÍê³É¡£
ÔÚ¼à¿ØÏµÍ³ÖУ¬Ö÷ÒªÈÎÎñÓÉÁ½¸ö²»Í¬µÄ³ÌÐò(½ø³Ì)--ʵʱÊý¾ÝµÄ²É¼¯´¦Àí³ÌÐòºÍÏìÓ¦Óû§ÇëÇóµÄÍøÂç·þÎñ³ÌÐòÍê³É¡£ÓÉÓÚÊý¾Ý²É¼¯´¦Àí³ÌÐò¶ÀÕ¼RS-232´®¿Ú£¬¶øCGI½Å±¾³ÌÐòÒ²ÐèҪͨ¹ý´®¿ÚÏ·¢ÃüÁΪÁ˱ÜÃâ¶à´Î´ò¿ª´®¿Ú£¬CGI½Å±¾³ÌÐòͨ¹ýÏûÏ¢¶ÓÁз½Ê½ÓëÊý¾Ý²É¼¯´¦Àí³ÌÐò½øÐÐͨÐÅ£¬´Ó¶øÊµÏÖ¶à¸ö½ø³Ìͬʱ¹²ÓÃÒ»¸ö´®¿Ú¡£
ʵʱÊý¾Ý²É¼¯³ÌÐòÓÉÊý¾Ý²É¼¯¡¢Êý¾Ý´¦Àí¼°Êý¾Ý´æ´¢Ä£¿é¹¹³É¡£Êý¾Ý²É¼¯Ä£¿é¸ºÔð°´ÕÕÓû§Ô¤ÏÈÉ趨µÄͨÐÅÐÒéͨ¹ýRS-232´®¿ÚÖÜÆÚµÄÏ·¢²éѯÃüÁ²¢°Ñ½ÓÊÕµÄÊý¾Ý´æÈëÊý¾Ý»º´æÇø¡£Êý¾Ý´¦ÀíÄ£¿é¸ù¾ÝÐÒé¶Ô²É¼¯µÄÊý¾Ý½øÐнâÎö£¬½«½âÎö½á¹û°´ÕÕ²»Í¬µÄ×ֶνøÐзÖÀà¡£Êý¾Ý´æ´¢Ä£¿é½«½âÎö½á¹û°´ÕÕSQLiteÊý¾Ý¿âä´·¨ÒªÇó·Ö±ð´¢´æµ½ÏàÓ¦µÄ×Ö¶ÎÖС£
ÏìÓ¦Óû§ÇëÇóµÄÍøÂç·þÎñ³ÌÐòÓÉWeb·þÎñÆ÷(Boa)ºÍÏìÓ¦Óû§ÇëÇóµÄCGI½Å±¾³ÌÐòÁ½²¿·Ö×é³É£º·þÎñÆ÷ͨ¹ýÕìÌý¶Ë¿Ú80£¬ÕìÌýÀ´×ÔÍøÂçµÄÓû§ÇëÇ󣬵±Óû§Í¨¹ýIEä¯ÀÀÆ÷Ïò·þÎñÆ÷·¢³öÇëÇóʱ£¬¼ç¶¯ÏìÓ¦µÄCGI½Å±¾³ÌÐò£¬½«ÇëÇóÐÅϢת»¯Îª·þÎñÆ÷¿ÉÒÔʶ±ðµÄÊý¾Ý¸ñʽ£¬´ÓSQLiLeÊý¾Ý¿âÖжÁÈ¡³öËùÐèÒªµÄÐÅÏ¢£¬ÔÙÓÉCGI³ÌÐò½«ÐÅϢת»¯ÎªWebä¯ÀÀÆ÷Äܹ»Ê¶±ðµÄ¸ñʽ£¬×÷ΪHTTPÓ¦´ðÏûÏ¢»ØË͵½¿Í»§¶ËÏÔʾ¡£CGI½Å±¾³ÌÐòÍê³ÉµÄ¹¦ÄÜÖ÷Òª°üÀ¨£ºÅäÖᢲéѯÉ豸Ïà¹ØÐÅÏ¢¼°²éѯÉ豸¸æ¾¯ÐÅÏ¢µÈ¡£²éѯÉ豸¸æ¾¯ÐÅÏ¢µÄCGI½Å±¾³ÌÐòÖ÷Òª¹¦ÄÜ´úÂëÈçÏ¡£
½áÓï
ÔÚǶÈëÊ½Íø¹ÜϵͳÖУ¬ÀûÓÃǶÈëʽWcb·þÎñÆ÷ºÍǶÈëʽÊý¾Ý¿â¶ÔÊý¾Ý½øÐвÙ×÷ºÍ¹ÜÀíÊÇǶÈëÊ½Íø¹ÜϵͳµÄÓ¦Ó÷¢Õ¹·½Ïò¡£±¾ÎÄËùÃèÊöµÄϵͳËõ¶ÌÁËÓ¦ÓóÌÐòØ¢·¢¹ý³Ì£¬½µµÍÁËÍø¹ÜÈí¼þµÄ¿ª·¢³É±¾£¬ÊµÏÖÁ˶àÓû§Êý¾Ý¹²Ïí¡£Êµ¼ùÖ¤Ã÷£¬»ùÓÚARM9ƽ̨µÄǶÈëÊ½Íø¹Üϵͳ¾ßÓкܸߵÄÓ¦ÓüÛÖµ¡£