社区导航

 

搜索
查看: 265|回复: 1

[求助] 如何在zynq视频通路中添加自己的图像处理操作?

[复制链接]

20

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-9-3 10:19 | 显示全部楼层 |阅读模式

如题现在本人已经在ZYNQ上建立好了视频通路:通路的大概情况如下: 9D9032A076404EC5BC97CD14645D1E15.png 0377B78D883C46ABA130B2A35055BEB9.jpeg

/************config hls ip********/
voidConfigureHlsIP(XImgprocess_top *ImgProcess)
{
        ImgProcess->Control_bus_BaseAddress = XPAR_IMGPROCESS_TOP_0_S_AXI_CONTROL_BUS_BASEADDR;
        ImgProcess->IsReady = XIL_COMPONENT_IS_READY;
        XImgprocess_top_EnableAutoRestart(ImgProcess);
        XImgprocess_top_SetRows(ImgProcess, 480);
        XImgprocess_top_SetCols(ImgProcess,640);
        XImgprocess_top_InterruptDisable(ImgProcess, 0xFFFFFFFF);
        XImgprocess_top_InterruptGlobalDisable(ImgProcess);
        XImgprocess_top_Start(ImgProcess);
}
int main()
{
    init_platform();
        usleep(100000);
    print("Hello World\n\r");
    ConfigureHlsIP(&ImgProcess);
// MM2S
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x00, 0x008B);                // enable run, circular_park, GenlockEn, GenlockSrc
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x5C, 0x01000000);        // Start address of the 1st frame(3 frames in all)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x60, 0x02000000);        // Start address of the 2nd frame(3 frames in all)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x64, 0x03000000);        // Start address of the 3rd frame(3 frames in all)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x58, 0x0780);                // Stride number
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x54, 0x0780);                // number of bytes per line(640 x 3)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x50, 0x01E0);                // number of lines per frame(480)
//S2MM
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0x30, 0x108B);                // enable run, circular_park
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0xAC, 0x01000000);        // Start address of the 1st frame(3 frames in all)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0xB0, 0x02000000);        // Start address of the 2nd frame(3 frames in all)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0xB4, 0x03000000);        // Start address of the 3rd frame(3 frames in all)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0xA8, 0x0780);                // Stride number
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0xA4, 0x0780);                // number of bytes per line(640 x 3)
        Xil_Out32(XPAR_AXI_VDMA_0_BASEADDR + 0xA0, 0x01E0);                // number of lines per frame(480)
return0;
}

但是现在有一个问题,这个通路是采集摄像头数据,然后hls_IP处理,之后dma存储图像和读出图像显示,现在我想在SDK中添加自己的一些简单的对图像数据的操作我该怎么做?这个通路是自动的吧,从采集图像到显示图像,我要是在sdk中直接操作内存地址中的图像数据会发生数据冲突,该怎么办,求给个思路

来源:EEWorld FPGA/CPLD板块,转载请附上链接


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-9-12 15:16 | 显示全部楼层

消灭零回复。。。。。

SMT  PCB 防潮方案供应商,专业提供无卤无钴湿度卡,干燥剂。。。FPGA培训  FPGA设计  verilog教程

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-10-15 06:57 , Processed in 0.102412 second(s), 19 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表