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.

Invalidate cache

hi

I have an array where i keep an video frame, 

+------------------------------------------+-----------------------------------------+--------------------------------------------------------------------+

 |   FRAME SIZE                               | PRIVATE DATA                              |  Actual FRAME                                                                |

 |                                                         |                                                         |                                                                                           |

+------------------------------------------+------------------------------------------+-------------------------------------------------------------------+

This  array resides in Pcie memory  of 8681 advantech card ( base addres  8010000 )

Is it correct to invalidate the frame only frame size, means 4 byte of array in my case ?

  • Anshul,

    Any cache invalidate command will work on cache lines. This means the area being invalidated will begin at a cache-line-aligned address and it will invalidate an integer multiple of cache lines starting from that aligned address.

    The invalidate command must be used on any region of memory that may have changed since the last time it was accessed by the CorePac's C66x and read into L1D and/or L2 cache. This probably includes the entire array from the Frame Size field to the end of the Actual Frame.

    Regards,
    RandyP

  • Hi randy 

    As per mine understanding invalidating just frame size will result in undesired behavior. i need to invalidate whole array

    Thanks

    Anshul