亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wtmpeg4ch.c

?? motorola MCF5249+IME6400的視頻采集系統的視頻驅動程序,可實時采集4路CIF視頻
?? C
?? 第 1 頁 / 共 2 頁
字號:
static ssize_t driver_read(struct file *file,char *buf, size_t count, loff_t *ppos){	int nRet;	//int i;	if(nRd==nWrt)		return 0;//		interruptible_sleep_on(&wq);	copy_to_user(buf,StreamPool+LEAFLET*528*nRd,LEAFLET*528);	nRet = nRd;	nRd = (++nRd)%NR_QUEUE;	//i = nWrt-nRd;	//if(i<0)	//	i+=4;	//if(i>=3)	//	printk("%d\n",i);      	return nRet;}/* *	Open a video device. */static int driver_open(struct inode *inode, struct file *file){        PDEBUG("Open IP-Camera MPEG4 Capturer  Driver!\n");#ifdef MOUDLE	MOD_INC_USE_COUNT;#endif        //MOD_INC_USE_COUNT;	return 0;}/* *	Last close of a video for Linux device */static int driver_release(struct inode *inode, struct file *file){#ifdef MOUDLE       MOD_DEC_USE_COUNT;#endif	//MOD_DEC_USE_COUNT;	return 0;}static void I6400HandleFIFOFull(int irq,void * dev_id,struct pt_regs * regs){    //WORD wData;    //DWORD dwData;  int i;  unsigned char * pData = &StreamPool[nBlock*528+16];    for(i=0;i<256;i++)  	*((WORD *)(pData+i*2)) = *((WORD *)dEncode);  pData += 528;  for(i=0;i<256;i++)  	*((WORD *)(pData+i*2)) = *((WORD *)dEncode);  nBlock = (nBlock+2)%BLOCK;  nWrt = nBlock/LEAFLET;//interrupts clear#ifdef _MCF5249_      #ifdef _HHETH_      //dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTSTAT));      *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTCLEAR))=0x00000202;#else      *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTCLEAR))=0x00000404;#endif#else       //dwData=*((DWORD *)(0x20+MCF_MBAR));       //dwData &=0x77f77777;     *((DWORD *)(0x20+MCF_MBAR))&=0x77f77777;#endif    I6400WriteReg(User4,++wLoop);//  if(nWrt != nRd && waitqueue_active(&wq))//  	wake_up_interruptible(&wq);  return;}static struct file_operations driver_fops={	NULL,        NULL,/* seek */	driver_read,	NULL,		/* write */	NULL,		/* readdir */	NULL,		/* poll */	NULL,	/* ioctl */	NULL,		/* mmap  */	driver_open,	NULL,		/* flush */	driver_release,        NULL};/* *	Initialise video for linux */ int wtmpeg4ch_init(void){	int result;			int major;#ifndef _MCF5249_       DWORD dwData;	DWORD PB4_5;#endif#ifdef MOUDLE		SET_MODULE_OWNER(&driver_fops);#endif		major=register_chrdev(DEVICEMAJOR,"MPG4CAP", &driver_fops);	if(major< 0)	{		PDEBUG("MPG4CAP:Uunable to get major!\n");		return -EIO;	}	//udelay(100000);#ifdef _MCF5249_      //initial MCF5249 chip select 1 register     //MCFWriteReg(MCFSIM_CSAR1, 0x30000000);     //MCFWriteReg(MCFSIM_CSCR1,0x00003d80);     //MCFWriteReg(MCFSIM_CSMR1,0x00FF0021);     *((DWORD*)(MCF_MBAR+MCFSIM_CSAR1))=0x30000000;     *((WORD*)(MCF_MBAR+MCFSIM_CSCR1))=WAITLENTH(ta_wait);	     *((DWORD*)(MCF_MBAR+MCFSIM_CSMR1))=0x00ff0021;		      #else     //initial chip select register(5272)    M5272WriteReg(0x54,0xfffff806); //0xffff802 0 wait; 0xfffff806 0x01 wait state,0xfffff80e 3wait states    M5272WriteReg(0x50,0x01000201);  #endif    PDEBUG("Initial CS Register  Finish!\n");     #ifdef _MCF5249_  #ifndef _HHETH_      //setup gpio 9  -- PB4(5272)     //setup gpio 15 -- PB5(5272)      //setup gpio 21 -- PB6(5272)      *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOFUNC))|= 0x00208200;//gpio-func     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOENABLE))|= 0x00208200;//gpio-en     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOWRITE)) |= 0x00208200;//gpio-out:high at startup    //setup gpio 56 -- PB7(5272)     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIO1FUNC))|= 0x01000000;//gpio1-func     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIO1ENABLE))|= 0x01000000;//gpio1-en,      *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIO1WRITE))|= 0x01000000;//gpio1-en,1:high at startup    #endif#ifdef _HHETH_     //setup gpio 3  -- PB4(5272)     //setup gpio 21 -- PB6(5272)      //setup gpio 23 -- PB7(5272)             *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOFUNC))|= 0x00a00008;//gpio-func     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOENABLE))|= 0x00a00008;//gpio-en     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOWRITE)) |= 0x00a00008;//gpio-out:high at startup          //setup gpio 55 -- PB5(5272)     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIO1FUNC))|= 0x00800000;//gpio1-func     *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIO1ENABLE))|= 0x00800000;//gpio1-en,      *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIO1WRITE))|= 0x00800000;//gpio1-en,1:high at startup     #endif     #else    //*** New added (for 5272)    PB4_5=M5272ReadReg(0x88)&0xfffff0ff;     M5272WriteReg(0x88,PB4_5);     //**#endif         /////////////////////////////////////////////     I6400WriteReg(User4,0);     //Register interrupts      result=request_irq(IrqID,I6400HandleFIFOFull,SA_INTERRUPT,"MPG4CAP",NULL);      if(result)      {        PDEBUG("MPG4CAP:Can't get assigned irq %i\n",IrqID);        return 1;     }     else       PDEBUG("Request Interrupts successfully!\n");	        //config interrupts registers#ifdef _MCF5249_#ifdef _HHETH_        //gpio1       //set INT 1 -- level 7  enable      //dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOFUNC));	*((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOFUNC))&=0xfffffffd;	   //dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTENABLE)); 	   //h-l interrupts	   *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTENABLE))|=0x0000200;	  	  // dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_INTLEVEL5));	   *((DWORD*)(MCF_MBAR2+MCFSIM2_INTLEVEL5))|=0x00000070;#else       //gpio2       //set INT 1 -- level 7  enable      //dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOFUNC));	*((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOFUNC))&=0xfffffffb;	   //dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTENABLE)); 	   //h-l interrupts	   *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTENABLE))|=0x0000400;	  	   //dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_INTLEVEL5));	   *((DWORD*)(MCF_MBAR2+MCFSIM2_INTLEVEL5))|=0x00000700;    #endif  #else       dwData=M5272ReadReg(0x20);       dwData&=0xff0fffff;       dwData|=0x00d00000;       M5272WriteReg(0x20,dwData);       dwData=M5272ReadReg(0x38);       dwData|=0x20000000;       M5272WriteReg(0x38,dwData);#endif          // PDEBUG("interrupts setup end\n");       StreamPool = (unsigned char *)kmalloc(sizeof(char)*528*BLOCK,GFP_KERNEL);       if(StreamPool == NULL)       {	PDEBUG("MPG4CAP:Allocate Memory error!\n");       		return -1;       }	 //interrupts clear#ifdef _MCF5249_      #ifdef _HHETH_      //dwData = *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTSTAT));      *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTCLEAR))=0x00000202;#else      *((DWORD*)(MCF_MBAR2+MCFSIM2_GPIOINTCLEAR))=0x00000404;#endif#else       //dwData=*((DWORD *)(0x20+MCF_MBAR));       //dwData &=0x77f77777;     *((DWORD *)(0x20+MCF_MBAR))&=0x77f77777;#endif                     PDEBUG("Ime6400 driver init OK\n");	return 0;}#ifdef MODULEvoid wtmpeg4ch_cleanup(void){       kfree(StreamPool);	freeirq(IrqID,NULL);	unregister_chrdev(DEVICEMAJOR, "MPG4CAP");	PDEBUG("release MPG4CAP!!!\n");	}module_init(wtmpeg4ch_init);module_exit(wtmpeg4ch_cleanup);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀久久99精品久久久久久9| 在线观看91视频| 韩国理伦片一区二区三区在线播放| 亚洲chinese男男1069| 亚洲一区在线观看网站| 亚洲精品国产a久久久久久 | 亚洲成人免费看| 一区二区三区欧美日韩| 亚洲午夜久久久久久久久电影院| 亚洲午夜国产一区99re久久| 亚洲国产视频一区| 日韩国产精品久久久| 美女免费视频一区二区| 国模冰冰炮一区二区| 成人性视频网站| 91日韩在线专区| 欧美日韩免费观看一区三区| 91精品国产入口| 久久精品一二三| 亚洲欧美怡红院| 亚洲一区二区三区在线看| 偷拍日韩校园综合在线| 免费看黄色91| 国产大陆精品国产| 成人av在线播放网址| 日本丰满少妇一区二区三区| 欧美日韩国产中文| 精品处破学生在线二十三| 国产精品久久久一区麻豆最新章节| 亚洲品质自拍视频网站| 日日摸夜夜添夜夜添亚洲女人| 久久国产精品99精品国产| 成人精品高清在线| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩黄色一区二区| 久久久久久久性| 一区二区三区在线观看欧美| 麻豆极品一区二区三区| aa级大片欧美| 亚洲精品日韩专区silk| 午夜免费欧美电影| 国产精品69毛片高清亚洲| 91在线云播放| 欧美一级片在线观看| 中文字幕免费不卡| 日日夜夜精品免费视频| kk眼镜猥琐国模调教系列一区二区| 91精品91久久久中77777| 日韩精品一区二区三区在线播放| 亚洲国产精品99久久久久久久久 | 一区二区在线电影| 日本不卡的三区四区五区| 成人综合在线观看| 6080日韩午夜伦伦午夜伦| 国产区在线观看成人精品| 亚洲国产精品久久不卡毛片| 国产成人8x视频一区二区| 欧美情侣在线播放| 国产精品麻豆网站| 麻豆国产一区二区| 在线中文字幕一区二区| 久久午夜色播影院免费高清| 亚洲一区二区在线视频| 成人午夜视频免费看| 日韩欧美国产一区二区在线播放| 亚洲激情自拍视频| 韩国精品免费视频| 91麻豆精品国产91| 亚洲图片另类小说| 风间由美一区二区三区在线观看| 7777精品久久久大香线蕉 | 国产麻豆精品在线观看| 欧美三级中文字幕在线观看| 欧美国产精品一区二区三区| 蜜臀a∨国产成人精品| 欧美亚洲禁片免费| 亚洲欧洲av色图| 国产成人av一区二区三区在线| 中文字幕av一区二区三区免费看| 免费不卡在线视频| 欧美日韩另类一区| 亚洲精品videosex极品| av网站一区二区三区| 久久久不卡影院| 久久国产精品99精品国产| 51久久夜色精品国产麻豆| 亚洲视频电影在线| jlzzjlzz欧美大全| 国产精品久久久久久久久晋中| 国产原创一区二区三区| 日韩欧美成人激情| 日本vs亚洲vs韩国一区三区| 欧美精品一二三四| 亚洲狠狠爱一区二区三区| 91麻豆swag| 综合激情成人伊人| 99在线精品免费| 中文字幕一区二区在线观看| 成人一级片网址| 欧美激情在线免费观看| 岛国一区二区在线观看| 国产日韩精品一区| 成人久久18免费网站麻豆| 国产精品毛片久久久久久| 成人免费三级在线| 成人免费小视频| 91成人在线免费观看| 亚洲综合999| 6080亚洲精品一区二区| 久久精工是国产品牌吗| 欧美变态凌虐bdsm| 国产麻豆精品视频| 久久久精品免费免费| 成人激情综合网站| 亚洲欧美成aⅴ人在线观看| 一本久久精品一区二区| 亚洲自拍偷拍图区| 在线成人小视频| 欧美高清精品3d| 日本视频在线一区| 精品剧情在线观看| 国产99精品国产| 国产精品色在线观看| 色综合久久88色综合天天免费| 亚洲精品视频在线看| 欧美日韩第一区日日骚| 久99久精品视频免费观看| 久久精品人人做| 91首页免费视频| 天天av天天翘天天综合网| 亚洲精品在线免费观看视频| 国产69精品一区二区亚洲孕妇| 一区在线中文字幕| 欧美男生操女生| 久久se精品一区二区| 国产精品久久国产精麻豆99网站| 在线免费亚洲电影| 麻豆精品一区二区av白丝在线| 欧美国产欧美亚州国产日韩mv天天看完整| 91在线观看一区二区| 性做久久久久久久免费看| 久久只精品国产| 在线观看视频91| 国产尤物一区二区| 亚洲一二三级电影| 久久在线观看免费| 色婷婷精品久久二区二区蜜臀av| 日韩精品一二区| 国产精品美女视频| 日韩一区二区在线观看视频播放| 国产iv一区二区三区| 亚洲午夜在线电影| 国产欧美日韩不卡免费| 欧美精品777| 成人97人人超碰人人99| 免费在线成人网| 综合久久久久久| 26uuu久久天堂性欧美| 日本韩国精品在线| 懂色av一区二区夜夜嗨| 日韩高清不卡在线| 日韩一区欧美一区| 久久久久久久久久久久电影| 欧美在线不卡视频| 国产风韵犹存在线视精品| 视频一区二区三区在线| 亚洲人吸女人奶水| 久久久九九九九| 欧美精品欧美精品系列| 色综合中文字幕国产 | 国产亚洲欧美激情| 欧美另类videos死尸| 成人动漫av在线| 久久草av在线| 天天综合网天天综合色| 亚洲精品视频在线观看免费| 亚洲国产成人午夜在线一区| 日韩一区二区影院| 欧洲在线/亚洲| 99r精品视频| 国产乱码精品1区2区3区| 日av在线不卡| 午夜不卡在线视频| 一区二区三区四区乱视频| 国产日韩欧美精品综合| 精品少妇一区二区三区日产乱码| 在线中文字幕一区| 99re成人在线| 成人网男人的天堂| 国产精品小仙女| 激情文学综合网| 美腿丝袜亚洲综合| 五月激情综合网| 亚洲国产精品欧美一二99| 亚洲天堂久久久久久久| 亚洲欧洲三级电影| 国产精品色婷婷| 国产精品免费视频观看| 日本一区二区成人| 久久精品欧美日韩精品|