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.

Memset will cause the data flow block

Hi all,
    We have customized a DM8148(8127) board.
    I have get my sensor(1600x1200 YUV422 16bit) work yet.
    My application use case is based on IPNC_RDK_3.0 multich_tristream_lowPower.
    
    My application is work ok now.
    But if I do memset on a big memory area(for example 1 Mega bytes) in any other
    thread on COTEX-A8, the data flow will block, and the application will not exit when press ctrl+c.
    
    my test applicatin is like that:
    
    static char tmpbuf[1024*1024];
    
    int main()
    {
        /** init routine */
        /** start routine */
        
        while(gUI_mcfw_config.demoCfg.exitDemo == FALSE) {
            memset(tmpbuf, 0, sizeof(tmpbuf));
            printf("memset\n");
            sleep(1);
        }        
        
        /** stop routine */
        /** exit routine */
    }
    
    attatchment is the log with SYSTEM_DEBUG_RT.
    it seems that the link host IPC_BITS_IN never recei8623.session.logve the buffer.

    Could someone tell me why?
    Please help!

  • Hi,

    There is a way from A8 to DMM directly. So continuous writes from A8 may occasionally starve other requestors for DDRbandwidth. So we don't recomend to use memcpy or memset at A8 side if the size is bigger than 1kB. Pls try to use EDMA to do that.

  • Hi Chris

               I think EDMA need to know the physical address  of memory, but in A8 side, application use the user space virtual address, sometimes We need to

    memset the structure to 0 for initialize, if the structure size is bigger than 1K, what should I do?

  • hi

    I have the same issue. my sensor is 1600*1200 ,and 16 bit yuv. when using memset ,the stream is blocked easily. but the appro 's camera can use memset api , the stream is good!. when blocked ,the rsz module is overflow.  anybody can help me?

  • We have the same issue.

    1.  When DMM worked in non-interleave mode, the issue exists.

    2.  When DMM worked in interleave mode, it seems the memset will never cause the issue.

    3. Appro works fine even in no-interleave mode.

    and rsz stop trigger the interrupt when the stream blocked.