Image Filterig Using Custom IP and DMA on ZedBaord

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ส.ค. 2024
  • #imageFiltering #imageProcessing #CustomIP #DMA #Vivado #XilinxSDK
    In this tutorial we use the custom hardware IP to implement the image filetering and verify the output.
    Pre-requisites for this Video
    1. Generation of custom IP : • Generating custom AXI4...
    2. DMA System Design : • DMA System level Desig...
    3. DMA Application Software : • Developing application...
    4. Transferring data to/from PC to Zedboard over UART interface: • Data Transfer between ...

ความคิดเห็น • 7

  • @bencampion3945
    @bencampion3945 2 ปีที่แล้ว

    @Vipin Kizheppatt. Thank you so much for these videos. Have you ever had a problem with the "send file" not working on Teraterm? Every time, I have to send it a second time for the log file to receive it. I have copied what you did exactly, except I am using Vitis 2021.1, not SDK.

    • @tyagiavinash045
      @tyagiavinash045 ปีที่แล้ว

      @Ben Campion . my log file is not receiving the data at all even after I tried to send it multiple times. Any idea how to resolve it?

  • @tyagiavinash045
    @tyagiavinash045 ปีที่แล้ว

    My log file is not receiving any data after sending the input image file in teraterm successfully. It was working fine when I tried with the software design of the image filtering but the above problem is occuring when I am trying the IP for image negative which is created earlier. I tried to check the ILA but the debug core is also not getting triggered after running from SDK.

  • @user-pr9ov3le1i
    @user-pr9ov3le1i 3 ปีที่แล้ว

    @Vipin Kizheppatt Thank you. Your teaching is very helpful to me. When I print the error code, it is "F" or "XST_INVALID_PARAM". Among the arguments of XAxiDma_SimpleTransfer, "imageSize" is replaced to 10000, so it works normally. As expected, only some of the images were inverted. What is the problem?
    Please advise once more.
    The Results is...
    =================
    &myDma= 30D8C4, (u32)&imageData[headerSize]=10C4C0,imageSize=40000
    DMA1 initialization failed
    F
    The Code is ...
    ================
    #define imageSize 512*512
    #define headerSize 1080
    #define fileSize imageSize+headerSize
    .
    .
    int main(){
    u8 *imageData;
    u32 status;
    .
    .
    //memory allocation of a sppace of file szie in DDR
    imageData = malloc(sizeof(u8)*(fileSize));
    .
    .
    //read data to DMA and then, DMA data to the IP core and Process
    status = XAxiDma_SimpleTransfer(&myDma,(u32)&imageData[headerSize],imageSize,XAXIDMA_DEVICE_TO_DMA);
    xil_printf("&myDma= %0x, (u32)&imageData[headerSize]=%0x,imageSize=%0x


    ", &myDma,(u32)&imageData[headerSize],imageSize);
    if(status != XST_SUCCESS){
    print("DMA1 initialization failed
    ");
    xil_printf("%0x
    ", status);
    return -1;
    }
    status = XAxiDma_SimpleTransfer(&myDma,(u32)&imageData[headerSize],imageSize,XAXIDMA_DMA_TO_DEVICE);
    if(status != XST_SUCCESS){
    print("DMA2 initialization failed

    ");
    return -1;
    }

    • @TheVipinkmenon
      @TheVipinkmenon  3 ปีที่แล้ว

      There is more than 1 case where invalid param error can come. Can you do one thing, in the xaxidma.c file, in the XAxiDma_SimpleTransfer function put some debug print (like print("Case1") print("Case2)) etc. before return XST_INVALID_PARAM; lines? In that way can isolate the exact reason.