This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TDA2PXEVM: How do I get data pointer from ov2775 in Linux in Vision SDK?

Part Number: TDA2PXEVM


Tool/software: Linux

Hi,

I got this hardware below.

a. TDA2Px EVM x 1
b. Fusion Card/EVM x 1
c. TIDA OV2775 cameras (with Fakra cables) x 1

I can capture the image from OV2775_TIDA1130 in Linux in vision_sdk with ISS Usecases, (TDA2Px ONLY)/1CH ISS Capture + ISP + DISPLAY.  and display with HDMI.

Now I need to get the image data after ISP for my application like stitching,object detect and others. But I don't know where is the image data. So how do I get the data pointer? Is it in a source file or need to use a API to copy to the RAM?

Regards

Thanks

  • Hi,

    Please check  for IssM2mIspLink_drvProcessData( )  in below file

    Z:\ADAS\vision_sdk\links_fw\src\rtos\links_ipu\iss_m2misp\issM2mIspLink_drv_process_frame.c

    and look for pOutputBuffer, this will be the output of isp link.

    and pOutputBuffer->bufAddr[SYSTEM_MAX_PLANES] for actual data pointer.

    Regards,

    Anuj

  • Hi,Anuj

    I checked the Int32 IssM2mIspLink_drvProcessData(IssM2mIspLink_Obj * pObj) function and I got what I want. Thanks.

    And I found a save function that I could use.

    pObj->saveFrame = 1;  // I enable it
                        if (pObj->saveFrame)
                        {
                            issMemIspLinkSaveFrame(pObj, chId, pOutputBuffer);
                        }
    

    I try to run it but it seems save nothing.(My developed environment is Linux NOT BIOS)
    Because I ‘ve got the data pointer,so I try to save data use this statements in issMemIspLinkSaveFrame.But it still can't save anything.

    
    
                    else
                    {
                        bufSize = fmt->pitch[0]*fmt->height;
                    }
    
                }
    
                /************  I add ******************/
                FILE* fd = fopen("frame","w");
                fwrite(pObj->saveFrameBufAddr, bufSize, 1, fd);
                fclose(fd);
                /**************************************/
    
                Vps_printf(" saveRaw(0, 0x%x, filename, %d, 32, false); ",
                    pObj->saveFrameBufAddr,
                    bufSize / 4U);
                Vps_printf(" **************************************************** \n");

    So,what should I do to save image data ?

    Regards.

    CalmCar

  • Hi,

    The file operation api which you are using is for linux. and IPU runs on BIOS.

    Please take a reference of below file for all file related operation

    vision_sdk\links_fw\src\rtos\utils_common\src\file_api.c

    Regards,

    Anuj

  • Hi,Anuj

    Thank you for you help.

    Regards

    CalmCar