ǶÈëʽ¿Î³ÌÉè¼Æ±¨¸æ-»ùÓÚwebµÄǶÈëʽԶ³Ì¼à¿ØÏµÍ³ ÏÂÔØ±¾ÎÄ

»ùÓÚwebµÄǶÈëʽԶ³Ì¼à¿ØÏµÍ³ µÚ5Ò³ ¹²34Ò³

2 ×ÜÌå·½°¸Éè¼Æ

2.1 ÕûÌå·½°¸Éè¼Æ

ϵͳ×ÜÌåÉè¼ÆÊÇ»ùÓÚǶÈëʽϵͳºÍ WEB ·þÎñÆ÷½áºÏµÄ˼Ï뿪·¢µÄ£¬ÆäÍøÂçÍØÆË½á¹¹Èçͼ 2.1 Ëùʾ

ͼ 2.1 ÏµÍ³ÍøÂçÍØÆËͼ

Õë¶Ô±¾´Î¿Î³ÌÉè¼ÆÌá³öµÄϵͳÉè¼ÆÈçͼ 2.2 Ëùʾ

ͼ 2.2 ϵͳ·½°¸¿òͼ

5

»ùÓÚwebµÄǶÈëʽԶ³Ì¼à¿ØÏµÍ³ µÚ6Ò³ ¹²34Ò³

2.2 Ó²¼þϵͳÉè¼Æ

2.3.1 ºËÐÄ´¦ÀíÆ÷µÄÑ¡Ôñ

ºËÐÄ´¦ÀíоƬÐèÒªÍê³É´¦ÀíºÍÖ§³ÖÕû¸öϵͳµÄ¹¦ÄÜÐèÇó£¬Í¨¹ýÔËÐÐ BOA ·þÎñÆ÷ҪʵʩµÄ½ÓÊÕÀ´×Ô¸÷¸ö¿Í»§¶ËµÄÇëÇóºÍÐÅÏ¢£¬²¢¸ù¾Ý»ñµÃµÄÇëÇóºÍÐÅÏ¢½øÐÐÏàÓ¦µÄºǫ́´¦ÀíÒÔ¼°ÐÅÏ¢µÄ·´À¡¡£ÎªÍê³ÉÉÏÊö¹¦ÄÜ£¬ÊµÏÖ·þÎñÆ÷Õý³£ÔËÐУ¬¶Ô´¦ÀíоƬ½øÐÐÑ¡ÐÍ£¬¶Ô±ÈÏÖÓд¦ÀíоƬµÄÓÅȱµã£¬Ñ¡Ôñ ARM9 S3C2410X оƬ×÷ΪÉè¼Æ¿ª·¢Ç¶Èëʽ·þÎñÆ÷ϵͳµÄºËÐÄ´¦ÀíоƬ¡£S3C2410X ΢´¦ÀíÆ÷ÊÇÒ»¿îÓÉ Samsung ¹«Ë¾ÎªÊÖ³ÖÉ豸Éè¼ÆµÄµÍ¹¦ºÄ¡¢¸ß¼¯³É¶ÈµÄ»ùÓÚARM920T ºËµÄ΢´¦ÀíÆ÷£¬ÎªÁ˽µµÍϵͳ×ܳɱ¾ºÍ¼õÉÙÍâΧÆ÷¼þ£¬Õâ¿îоƬ»¹¼¯³ÉÁËÒÔϲ¿¼þ£º16KB Ö¸Áî Cache¡¢16KB Êý¾Ý Cache¡¢MMU¡¢Íⲿ´æ´¢Æ÷¿ØÖÆÆ÷¡¢LCD ¿ØÖÆÆ÷¡¢NAND FLASH ¿ØÖÆÆ÷¡¢4 ¸ö DMA ͨµÀ¡¢3 ¸ö UART ͨµÀ¡¢1 ¸ö IIC ×ÜÏß¿ØÖÆÆ÷¡¢1 ¸ö IIS×ÜÏß¿ØÖÆÆ÷¡¢4 ¸ö PWM ¶¨Ê±Æ÷¡¢1 ¸öÄÚ²¿¶¨Ê±Æ÷¡¢Í¨Óà IO ¿Ú¡¢ÊµÊ±Ê±ÖÓ¡¢8 ͨµÀ 10 λADC ºÍ´¥ÃþÆÁ½Ó¿Ú¡¢USB Ö÷¡¢USB ´Ó¡¢SD/MMC ¿¨½Ó¿ÚµÈ¡£

2.3 Èí¼þ»·¾³Ñ¡Ôñ

2.3.1 ²Ù×÷ϵͳµÄÑ¡Ôñ

µ±Ñ¡¶¨ÁËÓ²¼þϵͳºó£¬ÎªÁËÅäºÏÓ²¼þ´ïµ½ÏµÍ³µÄ×îÓÅ¿ØÖÆÒªÇ󣬶ÔÊÐÃæÉϳ£ÓõÄǶÈëʽϵͳ½øÐзÖÎö±È½Ï¡£

(1) ¼Û¸ñ±È½Ï£ºLinux ÊÇÍêÈ«Ãâ·ÑµÄ²Ù×÷ϵͳ£¬Ö»Ðè×ñÑ­ GPL ÉùÃ÷£¬²»ÐèÖ§¸¶ÈκηÑÓã»WinCE ÊÇ΢ÈíµÄÉÌÓÃǶÈëʽ²Ù×÷ϵͳ£¬Ê¹ÓÃËüÐèÒªÖ§¸¶ WinCE ¼°Æä¿ª·¢»·¾³µÄ·ÑÓ㬿ª·¢³öÀ´µÄÿÌײúÆ·Ò²Ðè½»ÄÉÒ»¶¨·ÑÓá£uc/os¡ªII ϵͳ£¬¿ÉÒÔÃâ·ÑÓÃÓÚѧϰ»ò¿ÆÑУ¬µ«¿ª·¢ÉÌʹÓòúÆ·»òÏúÊÛ¶¼ÊÇÊշѵġ£

(2) ¿ª·ÅÐԱȽϣºLinux ÊÇÔ´´úÂëÍêÈ«¿ª·ÅµÄ²Ù×÷ϵͳ£¬¿ÉÒÔ×ÔÓÉÏÂÔØ£¬²¢ÇÒ

6

»ùÓÚwebµÄǶÈëʽԶ³Ì¼à¿ØÏµÍ³ µÚ7Ò³ ¹²34Ò³

ÔÚ×ñÑ­GPL ÉùÃ÷µÄǰÌáÏ¿ÉÒÔ×ÔÓɵØÐ޸ġ¢ÒÆÖ²£¬ÎªÏµÍ³µÄ¿ª·¢ºÍµ÷ÊÔ´øÀ´¼«´óµÄ±ãÀû£»winCEÊDz¿·ÖÔ´Â뿪·ÅµÄÉÌÓòÙ×÷ϵͳ£¬Èç¹ûÒªÐÞ¸ÄÆäÖеĴúÂ룬Ðè»ñµÃ΢Èí¹«Ë¾µÄÊÚȨ£»uc/os¡ªII Ò²ÊÇ¿ª·ÅµÄʵʱ²Ù×÷ϵͳ¡£

(3) ÎļþϵͳµÄ±È½Ï£ºLinux Ö§³Ö¾ø´ó²¿·ÖÎļþϵͳ£¬Ö»ÐèÑ¡ÔñÏàÓ¦µÄÎļþϵͳ¼´¿É£»

WinCE ½öÖ§³Ö Windows ϵÁÐµÄ FAT16¡¢ÓÐÏÞÎļþϵͳ£»uc/os¡ªII ±¾ÉíûÓаüÀ¨Îļþϵͳ£¬Ð蹺Âò»òÒÆÖ²¡£Linux Óë ARM ´¦ÀíÆ÷´ÓÒÔÉÏ¿ÉÒÔ¿´³ö£¬Linux ϵͳÔÚÖî¶à·½Ãæ¶¼´æÔÚÓÅÊÆ£¬¶øÇÒ±¾ÉíµÄ ARM ´¦ÀíÆ÷Óë Linux Ò²ÓÐ׎ôÃܵÄÁªÏµ¡£Òò´Ë²ÉÓà Linux ²Ù×÷ϵͳ¡£ 2.3.2 ·þÎñÆ÷µÄÑ¡Ôñ

µäÐ͵ÄǶÈëʽ Web ·þÎñÆ÷ÓÐ Boa ºÍ thttpd Á½ÖÖ£¬ËüÃÇºÍ Apache µÈ¸ßÐÔÄÜµÄ Web ·þÎñÆ÷Ö÷ÒªµÄÇø±ðÔÚÓÚËüÃÇÒ»°ãÊǵ¥½ø³Ì·þÎñÆ÷£¬Ö»ÓÐÔÚÍê³ÉÒ»¸öÓû§ÇëÇóºó²ÅÄÜÏìÓ¦ÁíÒ»¸öÓû§µÄÇëÇ󣬶øÎÞ·¨²¢·¢ÏìÓ¦£¬µ«ÕâÔÚǶÈëʽÉ豸µÄÓ¦Óó¡ºÏÀïÒѾ­×ã¹»ÁË¡£Boa ÊÇÒ»¸ö·Ç³£Ð¡ÇÉµÄ Web ·þÎñÆ÷£¬¿ÉÖ´ÐдúÂëÖ»ÓÐÔ¼ 60KB¡£ËüÊÇÒ»¸öµ¥ÈÎÎñ Web·þÎñÆ÷£¬Ö»ÄÜÒÀ´ÎÍê³ÉÓû§µÄÇëÇ󣬶ø²»»á fork ³öеĽø³ÌÀ´´¦Àí²¢·¢Á¬½ÓÇëÇó¡£µ« BoaÖ§³Ö CGI£¬Äܹ»Îª CGI ³ÌÐò fork ³öÒ»¸ö½ø³ÌÀ´Ö´ÐС£Boa µÄÉè¼ÆÄ¿±êÊÇËٶȺͰ²È«£¬ÔÚÆäÕ¾µã¹«²¼µÄÐÔÄܲâÑéÖУ¬Boa µÄÐÔÄÜÒªºÃÓÚ Apache ·þÎñÆ÷¡£¾­¹ýÉÏÊöµÄ¶Ô±ÈºÍÅжϣ¬Ñ¡ÔñBoa ×÷ΪϵͳµÄǶ Èëʽ·þÎñÆ÷¡£

×ÛºÏÒÔÉϵÄÌÖÂÛÒÔ¼°Ñ¡Ôñ£¬¸ù¾ÝϵͳµÄʵ¼ÊÐèÇó£¬×îÖÕÈ·¶¨Á˲ÉÓà S3C2410X ΪºËÐÄ´¦ÀíÆ÷£¬Linux ΪǶÈëʽ²Ù×÷ϵͳ£¬boa Ϊ·þÎñÆ÷ÒÔ¼°ÏàÓ¦µÄ http ä¯ÀÀÆ÷µÄϵͳÉè¼Æ·½°¸¡£

7

»ùÓÚwebµÄǶÈëʽԶ³Ì¼à¿ØÏµÍ³ µÚ8Ò³ ¹²34Ò³

3 Ó²¼þÉè¼Æ

3.1 ϵͳӲ¼þƽ̨½éÉÜ

ÎÒÃÇËù½éÉܵÄÓ²¼þƽ̨ÊÇ»ùÓÚ ARM Ìåϵ½á¹¹£¬Óɱ±¾©²©´´ÐËÒµ¿Æ¼¼ÓÐÏÞ¹«Ë¾¿ª·¢µÄUP-NetARM2410-S ʵÑéÒÇÆ÷¡£ UP-NetARM2410-S µÄ CPU Ϊ ARM920T Äں˵ÄÈýÐÇS3c2410 оƬ£¬ÓÉÓÚÓÐ MMU£¨ÄÚ´æ¹ÜÀíµ¥Ôª£©¿ÉÒÔÔËÐбê×¼µÄ ARM-LINUX Äںˡ£Í¨¹ýÕâ¸öƽ̨£¬ÎÒÃÇ¿ÉÒÔʵÏÖǶÈëʽ LINUX ÖеÄÕë¶ÔÎÞ MMU µÄ¿ª·¢¹ý³Ì¡£

3.2 s3c2410 оƬ½éÉÜ

ͼ 3.1 оƬ½á¹¹Í¼

8