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 to save the isscapture raw data to linux ?

Part Number: TDA2PXEVM

Tool/software: Linux

i want debug the isp func, so i want save the raw data to disk.  but when i write the data to file , there is no bytes be writen. oh, i run linux on a15 .

i refer the usecase about how to save raw data on RTOS .  

I  send linkcontrol cmd "ISSCAPTURE_LINK_CMD_SAVE_FRAME"  to IsscapturelinkID. and send "ISSCAPTURE_LINK_CMD_GET_SAVE_FRAME_STATUS"   to get the bufAddr & bufSize .

then i fopen a file , fwrite the buffer data to file .  but no bytes be writen .  if there need  mem map operate , how do it ???

  • [HOST] raw bufAddr = 847df000, bufSize = 2048000
    [HOST] had writen 0 Byte

    ****** Segmentation fault caught ....
    Faulty address is 0x847df000, called from 0xb59a6129
    Totally Obtained 0 stack frames. signal number =11
    Signal number = 11, Signal errno = 0
    SI code = 1 (Address not mapped to object)
    Fault addr = 0x847df000
    [bt] Execution path:
    [HOST] [IPU2 ] 188.641493 s: *********************************************
    [HOST] [IPU2 ] 188.641615 s: ####### Save Frame from location 0x847df000 #######
    [HOST] [IPU2 ] 188.641676 s: saveRaw(0, 0x847df000, filename, 512000, 32, false);
    [HOST] [IPU2 ] 188.641767 s: *********************************************


    there is log info .
  • This is not supported in the release ,

    You will have to use css to dump the buffers , else modify the code to pass the address to hlos and then do a fwrite from hlos .

    In case of linux filesystem is controlled by hlos ,

    Regards
    Chetan.M
  • thanks to some reasons, i can't use the ccs . can you explain the details how pass the address to hlos ? and yes my linux filesystem is controlled by hlos .
  • /**
    *******************************************************************************
    * \brief Information of saved RAW data frame
    *******************************************************************************
    */
    typedef struct
    {
    UInt32 isSaveFrameComplete;
    /**< TRUE: Frame is saved at address mentioned in 'bufAddr'
    * FALSE: Frame is not yet saved, try after some time
    */

    UInt32 bufAddr;
    /**< Address where frame is saved */

    UInt32 bufSize;
    /**< Size of buffer where frame is saved */

    } IssCaptureLink_GetSaveFrameStatus;


    there is a buffer addresss already
  • The buffer address is of M4 frame buffer address,
    You will have to convert it to virtual address and dump the data from CCS .

    As filesystem is in A15 the fwrite cannot be performed from bios core
    Passing the buffer address to A15 is not implemented in vision SDK
    A command handler has to be implemented and buffer address has to be passed ,

    Else take a uart input of buffer address in a thread in A15 and dump the buffer.

    Regards
    Chetan.M