91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

Zedboard ov7725板端Linux下tcp視頻發(fā)送

資源截圖

代碼片段和文件信息

////////////////////////////////////////////////////////////////////////
//
//?opencv_hello_world.c
//
//?This?is?a?simple?introductory?OpenCV?program.?The?program?reads?an
//?image?from?a?file?inverts?it?and?saves?the?result.
//
////////////////////////////////////////////////////////////////////////
#include?
#include?
#include?
#include?
#include?
#include?




void?start_my_dma(unsigned?long?phy_addr)
{
//return;
int?fd?=?open(“/dev/mem“?O_RDWR);
unsigned?char*?virtual_addr;
unsigned?long?size?=?32;
virtual_addr?=?(unsigned?char*)mmap(NULL?size?PROT_READ?|?PROT_WRITE?MAP_SHARED?fd?(off_t)phy_addr);
if(virtual_addr?==?MAP_FAILED)
{
perror(“virtual_addr_in?mapping?for?absolute?memory?access?failed.\n“);
return;
}
unsigned?int?*dma_sta_reg?=?(volatile?unsigned?int?*)virtual_addr;
*dma_sta_reg?=?3;
printf(“dma_sta_reg?is?0x%x\n“*dma_sta_reg);
while(*dma_sta_reg?&?1?==?1);?//printf(“busy\n“);
munmap((void?*)virtual_addr?size);
close(fd);

}

void?send_rgb_tcp(char?*?ip)
{
int?sockfd;
unsigned?long?vdma_apb_addr?=?0x70000000;
unsigned?long?src_phy_addr1?=?0x1c000000;
unsigned?long?src_phy_addr2?=?0x1c200000;
unsigned?long?src_phy_addr3?=?0x1c400000;

sockfd?=?Socket_Init(ip“8181“);

unsigned?char?*buffer?=?(unsigned?char?*)malloc(640*480*4);
if(NULL?==?buffer)
printf(“malloc?error\n“);
int?fd?=?open(“/dev/mem“?O_RDWR);
volatile?unsigned?char*?virtual_src_addr1*virtual_src_addr2*virtual_src_addr3;
unsigned?long?size?=?640*480*4;
virtual_src_addr1?=?(volatile?unsigned?char*)mmap(NULL?size?PROT_READ?|?PROT_WRITE?MAP_SHARED?fd?(off_t)src_phy_addr1);
if(virtual_src_addr1?==?MAP_FAILED)
{
perror(“virtual_addr1?mapping?for?absolute?memory?access?failed.\n“);
return;
}
virtual_src_addr2?=?(volatile?unsigned?char*)mmap(NULL?size?PROT_READ?|?PROT_WRITE?MAP_SHARED?fd?(off_t)src_phy_addr2);
if(virtual_src_addr2?==?MAP_FAILED)
{
perror(“virtual_addr2?mapping?for?absolute?memory?access?failed.\n“);
return;
}
virtual_src_addr3?=?(volatile?unsigned?char*)mmap(NULL?size?PROT_READ?|?PROT_WRITE?MAP_SHARED?fd?(off_t)src_phy_addr3);
if(virtual_src_addr3?==?MAP_FAILED)
{
perror(“virtual_addr3?mapping?for?absolute?memory?access?failed.\n“);
return;
}
unsigned?char?*virtual_apb_addr;
virtual_apb_addr?=?(unsigned?char*)mmap(NULL?32?PROT_READ?|?PROT_WRITE?MAP_SHARED?fd?(off_t)vdma_apb_addr);
if(virtual_apb_addr?==?MAP_FAILED)
{
perror(“virtual_apb_addr?mapping?for?absolute?memory?access?failed.\n“);
return;
}
volatile?int?*vdma_reg?=?(volatile?int?*)virtual_apb_addr;
printf(“vdma_reg?is?%x\n“*vdma_reg);
unsigned?char?*?image_addr[3];
image_addr[0]?=?virtual_src_addr1;
image_addr[1]?=?virtual_src_addr2;
image_addr[2]?=?virtual_src_addr3;
int?cnt?=?0;
while(1)
{
if(*vdma_reg?==?0x02)
{
*vdma_reg?=?0x02;
memcpy(bufferimage_addr[(cnt++)%3]size);

Socket_Send(sockfdbuffersize);
}
}

}

int?ma

評論

共有 條評論