Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ǶÈëʽLinuxϵͳCGI³ÌÐòÉè¼Æ¼¼Êõ

ǶÈëʽLinuxϵͳCGI³ÌÐòÉè¼Æ¼¼Êõ
ÕªÒª£ºÔÚÏêϸ½éÉÜÒ»ÖÖǶÈëʽWeb·þÎñÆ÷BOAµÄʵÏÖÓëÅäÖ÷½·¨µÄ»ù´¡ÉÏ£¬ÒÔÒ»¸öWebÔÚÏßÔ¶³Ì¼à¿ØGPIO£¨Í¨ÓÃÊäÈë/Êä³ö£©µÄ³ÌÐòΪʵÀý£¬½éÉÜǶÈëʽLinuxϵͳÏÂCPU³ÌÐòÉè¼Æ¼¼Êõ¡£
   ¹Ø¼ü´Ê£ºÇ¶ÈëʽϵͳLinux BOA CGI GPIO
1 ¸ÅÊö
Ëæ×Å»¥ÁªÍøÓ¦ÓÃµÄÆÕ¼°£¬Ô½À´Ô½¶àµÄÐÅÏ¢»¯²úÆ·ÐèÒª½ÓÈ뻥ÁªÍøÍ¨¹ýWebÒ³Ãæ½øÐÐÔ¶³Ì·ÃÎÊ¡£Ç¶ÈëʽWebϵͳÌṩÁËÒ»ÖÖ¾­¼Ã¡¢ÊµÓõĻ¥ÁªÍøÇ¶Èëʽ½ÓÈë·½°¸¡£ÕâÀï½áºÏÒ»ÖÖǶÈëʽWeb Server BOAÀ´½éÉÜǶÈëʽLinuxϵͳϵÄCGI³ÌÐòÉè¼Æ¼¼Êõ¡£
2 Web Server BOAµÄʵÏÖÓëÅäÖÃ
2.1 uClinuxÏ£¬Ö÷ÒªÓÐÈý¸öWeb Server:HTTPD¡¢THTTPDºÍBOA¡£HTTPDÊÇ×î¼òµ¥µÄÒ»¸öWeb Server,ËüµÄ¹¦ÄÜ×îÈõ£¬²»Ö§³ÖÈÏÖ¤£¬²»Ö§³ÖCGI¡£THTTPDºÍBOA¶¼Ö§³ÖÈÏÖ¤¡¢CGIµÈ£¬¹¦Äܶ¼±È½ÏÈ«¡£BOAÊÇÒ»¸öµ¥ÈÎÎñµÄСÐÍHTTP·þÎñÆ÷£¬Ô´´úÂ뿪·Å¡¢ÐÔÄÜÓÅÐã£¬ÌØ±ðÊʺÏÓ¦ÓÃÔÚǶÈëʽϵͳÖС£Ä¿Ç°µÄuClinuxµÄ´úÂëÖÐÒѾ­°üº¬BOAµÄÔ´´úÂë¡£ÔÚuClinuxÏÂʵÏÖBOA£¬Ö»ÐèÒª¶ÔBOA×öһЩÅäÖúÍÐ޸ġ£ÒÔÏÂÊÇÅäÖõĹý³Ì¡£
£¨1£©±àÒëBOAµ½ÄÚºË
Ê×ÏÈ£¬ÐèÒª°ÑBOA±àÒëµ½Äںˣ¬¼´Ö´ÐÐmake menuconfig£¬ÔÚÓ¦ÓóÌÐòÑ¡µ¥ÖÐnetwork applicationÏîÏÂÃæÑ¡Ôñboa¡£¸Ã²Ù×÷ÐèÒªÖØÐ±àÒëÄںˡ£
£¨2£©±àÖÆÅäÖÃÎļþboa.conf
ÔÚLinux²Ù×÷ϵͳÏ£¬Ó¦ÓóÌÐòµÄÅäÖö¼ÊÇÒÔÅäÖÃÎļþµÄÐÎʽÌṩµÄ£¬Ò»°ã¶¼ÊÇ·ÅÔÚÄ¿±ê°å/etc/Ŀ¼Ï»òÕß/etc/configĿ¼Ï¡£µ«boaµÄÅäÖÃÎļþboa.contÒ»°ã¶¼ÐýתÔÚÄ¿±ê°å/home/httpd/Ŀ¼Ï¡£
ÀýÈ磬һ¸öµäÐ͵Äboa.confÎļþ¸ñʽÈçÏ£º
ServerName Samsung-ARM
DocumentRoot/home/httpd
ScriptAlias/cgi-bin/home/httpd/cgi-bin/
ScriptAlias/index.html/home/httpd/index.html
ËüÖ¸¶¨ÁËHTMLÒ³Ãæ±ØÐë·Åµ½/home/httpdĿ¼Ï£¬cgiÍⲿÀ©Õ¹³ÌÐò±ØÐë·Åµ½/home/httpd/cgi-binĿ¼Ï¡£
£¨3£©±àÒëÉÕдÄÚºË
ÖØÐ±àÒëÄں˺ó£¬Í¨¹ýÉÕд¹¤¾ßÉÕдÄںˣ¬¾Í¿ÉÒÔÔÚPCÉÏͨ¹ýIEä¯ÀÀÆ÷·ÃÎÊ¿ª·¢°åÉϵÄWeb Server¡£ÀýÈ磬ÊäÈ뿪·¢°åµÄIPµØÖ·http://192.168.0.101£¬¼´¿É·ÃÎʵ½×Ô¼º×öµÄÍøÒ³index.htmlÁË¡£²¢ÇÒ£¬Í¨¹ý±àдCGIÍⲿÀ©Õ¹³ÌÐò£¬¿ÉÒÔʵÏÖ¶¯Ì¬Web¼¼Êõ£¬ÏÂÃæ½«Ïêϸ½éÉÜ¡£
2£®2 ¾ßÓÐMMUƽ̨µÄLinuxÏÂB0AµÄʵÏÖÓëÅäÖÃ
¶ÔÓÚÓÐMMU£¨ÄÚ´æ¹ÜÀíµ¥Ôª£©µÄƽ̨£¬ÈçarmlinuxºÍppclinux£¬¿ÉÒÔµ½ÍøÉÏÏÂÔØÒ»¸öÖ÷Á÷°æ±¾µÄboa·¢Ðаü¡£ÒòΪÊÇÔËÐÐÔÚÄ¿±êϵͳ£¬ËùÒÔÒªÓý»²æ±àÒ빤¾ß±àÒ룬¼´ÐèÒªÐÞ¸Äboa/src/MakefileÀïÃæµÄ±àÒëÆ÷¡£ÀýÈ磺
CC=/LinuxPPC/CDK/bin/powerpc-lin


Ïà¹ØÎĵµ£º

LinuxϵͳÐÅÏ¢²é¿´ÃüÁî´óÈ«

ϵͳ
# uname -a               # ²é¿´ÄÚºË/²Ù×÷ϵͳ/CPUÐÅÏ¢
# head -n 1 /etc/issue   # ²é¿´²Ù×÷ϵͳ°æ±¾
# cat /proc/cpuinfo      # ²é¿´CPUÐÅÏ¢
# hostname      &nbs ......

¹ØÓÚlinuxµÄÊØ»¤½ø³Ì

Linux·þÎñÆ÷ÔÚÆô¶¯Ê±ÐèÒªÆô¶¯ºÜ¶àϵͳ·þÎñ£¬ËüÃÇÏò±¾µØºÍÍøÂçÓû§ÌṩÁËLinuxµÄϵͳ¹¦Äܽӿڣ¬Ö±½ÓÃæÏòÓ¦ÓóÌÐòºÍÓû§¡£ÌṩÕâЩ·þÎñµÄ³ÌÐòÊÇÓÉÔËÐÐÔÚºǫ́µÄÊØ»¤½ø³Ì£¨daemons£©À´Ö´Ðеġ£ÊØ»¤½ø³ÌÊÇÉú´æÆÚ³¤µÄÒ»ÖÖ½ø³Ì¡£ËüÃǶÀÁ¢ÓÚ¿ØÖÆÖն˲¢ÇÒÖÜÆÚÐÔµÄÖ´ÐÐijÖÖÈÎÎñ»òµÈ´ý´¦ÀíijЩ·¢ÉúµÄʼþ¡£ËûÃdz£³£ÔÚϵͳÒýµ¼×°ÈëʱÆô¶ ......

¡¾Linuxѧϰ±Ê¼Ç¡¿ ³£ÓÃÃüÁî1

¸ñʽ:ls [options] [filename]
×÷ÓÃ:ÏÔʾĿ¼ÄÚÈÝ,ÀàËÆdosµÄdir
³£ÓòÎÊý:
   -a ²»Òþ²ØÈκÎÒÔ"."×Ö·û¿ªÊ¼µÄÎļþ
   -l ʹÓýϳ¤µÄ¸ñʽÏÔʾÐÅÏ¢
   -r °´ÕÕÎļþÃûµÄÄæÐò´òÓ¡Êä³ö
   -F ¼ÓÉÏÎļþÀàÐ͵Äָʾ·û
¸ñʽ:cat [options] [filename]
×÷ÓÃ:ÏÔʾÎļþµÄÄÚÈÝ,ÊÇconcat ......

¹ØÓÚLinuxµÄÊÓÆµ±à³Ì(v4l2±à³Ì)(ת£©


ǰÑÔ£ºÄ¿Ç°ÕýÔÚæÓÚARMƽ̨µÄLinuxÓ¦ÓóÌÐòµÄ¿ª·¢£¨ÆäʵÊÇ¸Õ¸ÕÆð²½Ñ§Ï°À²£©¡£µ×²ãµÄ¶«Î÷²»Óÿ¼ÂÇÁË£¬¿ª·¢°å×ÓÌṩÁËNAND Bootloader£¬ºÍLinux 2.6µÄÔ´Â룬¶øÇÒ¶¼±àÒëºÃÁË¡£×Ô¼º±àÒëµÄbootloader¿ÉÒÔÓ㬵«ÊÇLinux±àÒëºó£¬ÎļþºÜ´ó£¬ÔÝÇÒ¾ÍÓÃÈ˼ұàÒëµÄϵͳ£¬ÏÈרÐÄдӦÓóÌÐò °É¡£¡£
ÕýÎÄ£ºÒª×öµÄÈÎÎñÊÇ£¬°ÑÒ»¿é°å×ÓÉ쵀 ......

linux api±Ê¼Ç£¨4£©£ºỊ̈߳¨¶þ£©

ÕâÒ»½ÚÎÒÃÇÀ´¿´¿´ÆäËûÏ̺߳¯Êý£º
int pthread_tryjoin_np(pthread_t thread_handle, void ** thread_return);
int pthread_timedjoin_np (pthread_t thread_handle, void **thread_return, __const struct timespec *abstime);
pthread_tryjoin_np»á¿ÉÒÔÓÃÀ´ÅжÏthread_handleÖ¸ÏòµÄÏß³ÌÊÇ·ñÒѾ­ÖÐÖ¹£¬Èç¹ûûÓÐÔò*thre ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ