ÈÃǶÈëʽLinuxÖ§³ÖÆÕͨUSBÉãÏñÍ·
ÎÒÓõÄÊÇ×îÆÕͨµÄusbÉãÏñÍ·£¬Ö÷оƬΪÖÐÐÇ΢ZC0301P£¨¾Ý˵Êг¡Õ¼ÓÐÂÊ70£¥ÒÔÉÏ£©£¬COMS´«¸ÐÆ÷ΪhynixµÄhv7131e1,ÊÐÃæÉÏÄÜÂòµ½µÄ»ù±¾ÉÏÊÇÕâÖÖÅäÖá£
linuxÏÂÇý¶¯£¬ÎÒÖ±½ÓÒÆÖ²spca5xx£¬ÏÖÔÚ³öÁËspc5xx-le£¨Light-Edition for Linux Embedded£©¸ü·½±ã£¬Ö±½ÓÕë¶ÔǶÈëʽϵͳ×öÁËÓÅ»¯£¬¿ÉÒԲο¼ÕâÀïhttp://mxhaard.free.fr/embedded.html
¸Õ²ÅʵÑéÁËһϣ¬spc5xx-leÒ²¿ÉÒÔÓá£ÏÂÃæ¾ÍÒÔspc5xx-leΪÀý¡£
¾ßÌå²½Ö裺
1¡¢ÎÒµÄlinuxÊÇATMEL×îа汾£¬Linux-2.4.27-vrs1-Atmel¡£toolchainΪarm-linux-2.95.3¡£
2¡¢ÅäÖÃÄںˣ¬ÊÔ×ÅÈÃlinux¿ÉÒÔÔÚat91rm9200ÉÏÔËÐÐÆðÀ´¡£
3¡¢ÏÂÔØ²¹¶¡£¨http://mxhaard.free.fr/spca50x/Doc/KernelPatch
£©£¬´ò²¹¶¡
cp usb-2.4.31.patch.gz /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
cd /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
tar -xvzf usb-2.4.31.patch.gz
patch -p1 < usb-2.4.31.patch
4¡¢ÖØÐÂÅäÖÃÄںˣ¬ÄÚºË USB support ---> USB Multimedia devices Ñ¡ÏîÏÂÓ¦¸ÃÓÐ
<M> USB SPCA5XX Sunplus Vimicro Sonix Cameras£¬Òª°ÑËüÅäÖóÉmodule¡£
5¡¢ÈÃÄÚºËÖ§³Öusb-ohci ºÍvideo for linux (V4L)¡£
6¡¢ÖØÐ±àÒëÄںˣ¬make dep Image module
make module ºó£¬ÔÚ/work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb/spc5xx/Ŀ¼ÏÂÉú³Éspc5xx.o
7¡¢¼ÓÔØÐÂÄÚºËÔËÐС£
8¡¢ÅäÖÃÍøÂç ifconfig eth0 192.168.8.241
9¡¢mknod /dev/video0 c 81 0
10¡¢insmod spca5xx.o »áÕÒµ½ÉãÏñÍ·
[root@AT91RM9200DK /]$insmod spca5xx.o
usb.c: registered new driver spca5xx
spca_core.c: USB SPCA5XX camera found. Type Vimicro Zc301P 0x301b
spca_core.c: spca5xx driver 00.57.06LE registered
[root@AT91RM9200DK /]$
11¡¢ÏÂÃæ¾ÍÊÇÓ¦ÓóÌÐòµÄÎÊÌâÁË£¬ÎÒÒ»Ö±ÁËÒ»¸öwebcam server£¬½»²æ±àÒëºó£¬¿ÉÒÔÔÚARMÉÏÔËÐÐÁË¡£Èç¹û×Ô¼ºÐ´£¬Ö÷ÒªÊÇÊìϤv4l±à³Ì£¬¹ØÓÚv4lÎÒ²»Ì«¶®£¬¾Í²»Ï׳óÁË¡£
Ïà¹ØÎĵµ£º
1.ÔÚÏßÏÂÔØ£ºwget http://www.realvnc.com/dist/vnc-4.0-x86_linux.tar.gz
2.½âѹËõ£ºtar -zxvf vnc-4.0-x86_linux.tar.gz
¿ÉÒÔ¿´READMEÀïÄÚÈÝÀ´°²×°
3¡£½øÈëvncĿ¼Ï°²×°£º./vncinstall /usr/local/bin
4¡£mkdir -p /usr/local/vnc/classes
cp java/* /usr/local/vnc/classes
5¡£Æô¶¯vncserver
......
1.ʱ¼ä±íʾ
ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û¡£Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý
time_t time(time_t *tloc); //ʱ¼ä¾«¶ÈΪÃë
char *ctime(const time_ ......
Author-------Dansen-----xzd2734@163.com
wait_queue_head_t wait_q;
Ê×ÏÈ¿´¿´
wait_queue_head_tÕâ¸öµÈ´ý¶ÓÁеĽṹ
ÔÚwait.hÖж¨ÒåÁËÕâ¸ö½á¹¹
typedef struct
__wait_queue_head wait_queue_head_t;
struct __wait_queue_head {
wq_lock_t
lock;
struct list_head task_list;
};
# define wq_ ......
ʱ¼ä¼ä¸ô¶¨Ê±Æ÷
interval timer(ʱ¼ä¼ä¸ô¶¨Ê±Æ÷)ϵͳµ÷ÓÃ×Ô´Ó±»POSIX±ê×¼»¯ºó£¬Ê״γöÏÖÓÚ4.2BSD£¬Äܹ»Ìṩ±Èalarm()»¹¶àµÄ¿ØÖÆ£º
#include <sys/time.h>
int getitimer(int which, struct itimerval *value);
int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
interval ti ......
ʲôÊÇÇý¶¯£¿
×îͨË׵ĽâÊ;ÍÊÇ“ÇýʹӲ¼þÉ豸Ðж¯”
×÷Óã¿
É豸Çý¶¯Óëµ×²ãÓ²¼þÖ±½Ó´ò½»µÀ£¬°´ÕÕÓ²¼þÉ豸µÄ¾ßÌ幤×÷·½Ê½¶ÁдÉ豸¼Ä´æÆ÷£¬Íê³ÉÉ豸µÄÂÖѯ¡¢Öжϴ¦Àí¡¢DMAͨÐÅ£¬½øÐÐÎïÀíÄÚ´æÏòÐéÄâÄÚ´æµÄÓ³É䣬×îÖÕʹͨÐÅÉ豸Äܹ»ÊÕ·¢Êý¾Ý£¬Ê¹ÏÔʾÉ豸Äܹ»ÏÔʾÎÄ×ÖºÍ»Ãæ£¬Ê¹´æ´¢É豸Äܹ»¼Ç¼ÎļþºÅÊý¾Ý
¼ÆË ......