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

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

ǰÑÔ£º
ĿǰÕýÔÚæÓÚARMƽ̨µÄLinuxÓ¦ÓóÌÐòµÄ¿ª·¢£¨ÆäʵÊÇ¸Õ¸ÕÆð²½Ñ§Ï°À²£©¡£µ×²ãµÄ¶«Î÷²»Óÿ¼ÂÇÁË£¬¿ª·¢°å×ÓÌṩÁËNAND Bootloader£¬ºÍLinux 2.6µÄÔ´Â룬¶øÇÒ¶¼±àÒëºÃÁË¡£×Ô¼º±àÒëµÄbootloader¿ÉÒÔÓ㬵«ÊÇLinux±àÒëºó£¬ÎļþºÜ´ó£¬ÔÝÇÒ¾ÍÓÃÈ˼ұàÒëµÄϵͳ£¬ÏÈרÐÄдӦÓóÌÐò °É¡£¡£
ÕýÎÄ£ºÒª×öµÄÈÎÎñÊÇ£¬°ÑÒ»¿é°å×ÓÉϵÄÉãÏñÍ·²É¼¯µÄͼÏñºÍÉù¿¨²É¼¯µÄÉùÒô£¨Ã²ËƺÜ啰à¹þ£©Í¨¹ýTCP/IPЭÒé´«Êäµ½ÁíÒ»¿é°å×ÓÉÏ¡£µÚÒ»²½£¬ÏȰÑÊÓÆµ»ñÈ¡²¢ÇÒÔÚ±¾µØLCDÉÏÏÔʾ¡£¿´Á˰å×ÓÌṩµÄÎĵµ£¬ÊÓÆµ´«ÊäÐèÒªÓÃV4L2µÄAPI¡£
Ò».ʲôÊÇvideo4linux
Video4linux2£¨¼ò³ÆV4L2),ÊÇlinuxÖйØÓÚÊÓÆµÉ豸µÄÄÚºËÇý¶¯¡£ÔÚLinuxÖУ¬ÊÓÆµÉ豸ÊÇÉ豸Îļþ£¬¿ÉÒÔÏñ·ÃÎÊÆÕͨÎļþÒ»Ñù¶ÔÆä½øÐжÁд£¬ÉãÏñÍ·ÔÚ/dev/video0Ï¡£
¶þ¡¢Ò»°ã²Ù×÷Á÷³Ì£¨ÊÓÆµÉ豸£©£º
1. ´ò¿ªÉ豸Îļþ¡£ int fd=open(”/dev/video0″,O_RDWR);
2. È¡µÃÉ豸µÄcapability£¬¿´¿´É豸¾ßÓÐʲô¹¦ÄÜ£¬±ÈÈçÊÇ·ñ¾ßÓÐÊÓÆµÊäÈë,»òÕßÒôƵÊäÈëÊä³öµÈ¡£VIDIOC_QUERYCAP,struct v4l2_capability
3. Ñ¡ÔñÊÓÆµÊäÈ룬һ¸öÊÓÆµÉ豸¿ÉÒÔÓжà¸öÊÓÆµÊäÈë¡£VIDIOC_S_INPUT,struct v4l2_input
4. ÉèÖÃÊÓÆµµÄÖÆÊ½ºÍÖ¡¸ñʽ£¬ÖÆÊ½°üÀ¨PAL£¬NTSC£¬Ö¡µÄ¸ñʽ¸ö°üÀ¨¿í¶ÈºÍ¸ß¶ÈµÈ¡£
VIDIOC_S_STD,VIDIOC_S_FMT,struct v4l2_std_id,struct v4l2_format
5. ÏòÇý¶¯ÉêÇëÖ¡»º³å£¬Ò»°ã²»³¬¹ý5¸ö¡£struct v4l2_requestbuffers
6. ½«ÉêÇëµ½µÄÖ¡»º³åÓ³Éäµ½Óû§¿Õ¼ä£¬ÕâÑù¾Í¿ÉÒÔÖ±½Ó²Ù×÷²É¼¯µ½µÄÖ¡ÁË£¬¶ø²»±ØÈ¥¸´ÖÆ¡£mmap
7. ½«ÉêÇëµ½µÄÖ¡»º³åÈ«²¿Èë¶ÓÁУ¬ÒÔ±ã´æ·Å²É¼¯µ½µÄÊý¾Ý.VIDIOC_QBUF,struct v4l2_buffer
8. ¿ªÊ¼ÊÓÆµµÄ²É¼¯¡£VIDIOC_STREAMON
9. ³ö¶ÓÁÐÒÔÈ¡µÃÒѲɼ¯Êý¾ÝµÄÖ¡»º³å£¬È¡µÃԭʼ²É¼¯Êý¾Ý¡£VIDIOC_DQBUF
10. ½«»º³åÖØÐÂÈë¶ÓÁÐβ,ÕâÑù¿ÉÒÔÑ­»·²É¼¯¡£VIDIOC_QBUF
11. Í£Ö¹ÊÓÆµµÄ²É¼¯¡£VIDIOC_STREAMOFF
12. ¹Ø±ÕÊÓÆµÉ豸¡£close(fd);
Èý¡¢³£ÓõĽṹÌå(²Î¼û/usr/include/linux/videodev2.h)£º
struct v4l2_requestbuffers reqbufs;//ÏòÇý¶¯ÉêÇëÖ¡»º³åµÄÇëÇó£¬ÀïÃæ°üº¬ÉêÇëµÄ¸öÊý
struct v4l2_capability cap;//Õâ¸öÉ豸µÄ¹¦ÄÜ£¬±ÈÈçÊÇ·ñÊÇÊÓÆµÊäÈëÉ豸
struct v4l2_input input; //ÊÓÆµÊäÈë
struct v4l2_standard std;//ÊÓÆµµÄÖÆÊ½£¬±ÈÈçPAL£¬NTSC
struct v4l2_format fmt;//Ö¡µÄ¸ñʽ£¬±ÈÈç¿í¶È£¬¸ß¶ÈµÈ
struct v4l2_buffer buf;//´ú±íÇý¶¯ÖеÄÒ»Ö¡
v4l2_std_id stdid;//ÊÓÆµÖÆÊ½£¬ÀýÈ磺V4L2_STD_PAL_B


Ïà¹ØÎĵµ£º

S3C24XXÌåϵµÄLinux GPIO¿ØÖÆÏà¹ØAPIʵÏÖ


GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀ­µç×è(ÉÏÀ­£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ­£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ­»òÏÂÀ­µç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬ ......

Linux²Ù×÷ϵͳÏÂÈçºÎÌí¼Ó·þÎñ

#!/bin/sh ÊÇ˵Ã÷¸Ã½Å±¾µ÷ÓõÄshellµÄÀàÐÍ
 
#chkconfig: 2345 80 05 ÆäÖÐ2345ÊÇÖ¸Ã÷·þÎñµÄÔËÐеȼ¶£¬80±íÃ÷ÊÇϵͳÆô¶¯Ê±ÒªÆô¶¯µÚ80ºÅ·þÎñ£¨·þÎñºÅ¿ÉÒÔÖØ¸´£©¡£05±íÃ÷ÊÇϵͳ¹Ø±ÕҪֹͣµÄ·þÎñºÅ¡£
 
#descrīption: service ÕâÀïµÄserviceÄã¿ÉÒÔËæ±ãÌí£¬µ«±ØÐëÓÐ
 
case $1 in ÕâÀïµÄcaseÊǸöÑ¡ÔñÓ ......

linuxÖеÄһЩϵͳ²ÎÊý½éÉÜ

Àí½â
Linux
µ÷ÓŲÎÊý
ÔÚÎÒÃǽéÉÜ
Linux
ϵͳµÄ¸÷ÖÖµ÷ÓŲÎÊýºÍÐÔÄÜ
¼à²â¹¤¾ß֮ǰ£¬ÐèÒªÏÈÌÖÂÛһЩ¹ØÓÚÐÔÄܵ÷ÓŵIJÎÊý¡£ÒòΪ
Linux
ÊÇÒ»¸ö¿ªÔ´²Ù×÷ϵͳ£¬ËùÒÔÓÖ´óÁ¿¿ÉÓõÄÐÔÄܼà²â¹¤¾ß¡£¶ÔÕâЩ¹¤¾ßµÄÑ¡ÔñÈ¡¾öÓÚÄãµÄ¸öÈËϲºÃºÍ¶ÔÊý¾Ý
ϸ½ÚµÄÒªÇó¡£ËùÓеÄÐÔÄܼà²â¹¤¾ß¶¼Êǰ´ÕÕͬÑùµÄ¹æÔòÀ´¹¤×÷µÄ£¬ËùÒÔÎÞÂÛÄãʹÓÃÄÄÖÖ¼ ......

ÈçºÎ¹²ÏílinuxÓëxpµÄÎļþ¼Ð

step1£º
              ÔÚubuntuÀïÃæÓÒ»÷Òª¹²ÏíµÄÎļþ¼Ð£¬»áÌáʾ°²×°Èí¼þ£¬Ñ¡Ôñ°²×°¼´¿É£»
step2£º
              ʵÏÖxpÄäÃû·ÃÎÊUbuntu¹²ÏíÎļþ¼Ð£¬ ÔòÖ»ÐèÐÞ¸Ä/etc/samba/smb.co ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ