Рассмотрим следующий фрагмент кода.
XTime tCur, tCur1, tCur2;
while(1)
{
XTime_GetTime(&tCur);
Xil_DCacheInvalidateRange(0xA00, 4);
XTime_GetTime(&tCur1);
printf ("0x%x\n\r", *((int*)0xa00));
XTime_GetTime(&tCur2);
printf ("%d, %d, %d\n\r", tCur, tCur1, tCur2);
printf ("%d, %d\n\r", tCur1 - tCur, tCur2 - tCur1);
}
Я пишу, используя HP0 AXI для записи в OCM с PL на PS. Затем получить PS для чтения памяти OCM.
Из printf я вижу, что tCur1-tCur начинает увеличиваться со временем. Я просто хочу понять почему. Разве время, необходимое для аннулирования кэша, не должно оставаться постоянным?
Любые намеки или советы будут великолепны