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.

The content read by the Linux file system using fopen (rb) and fread is inconsistent with what is actually saved by EMMC

Part Number: TDA4VL-Q1

Tool/software:

The Linux file system opens files through fopen, and there is a probability that the data read by fread may not match the file data stored in EMMC. The deviation between the read processing content and the actual memory is always a multiple of 64 bytes. Currently, there are 64, 128, and 192 byte differences encountered. (Currently, EMMC issues have been largely ruled out)

as follows:

left is the content read by fread

right is actually saved by EMMC

so, we just change the input memory type V4L2_MEMORY_MMAP to V4L2_MEMORY_DMABUF by  Encode NV12 to H24,

Then, using a testing tool to test and read over a hundred files, the MD5 value was calculated and compared with the actual MD5 value of each file for 3 hours(Repeat multiple times), and no abnormalities were found. However, without adding this, repeating the test using the same method will generally result in a discrepancy between the md5 value of the read file and the actual md5 value of the file within 10 minutes.

The testing tools are as follows:

#!/bin/bash

while ((1))
do
        echo 1 >/proc/sys/vm/drop_caches
        ./vx_app_test_load_pic.out
        ret=$?
        if ((ret != 0));then
                echo "failed...exit"
                exit 2
        fi

done