VxWorks: как я могу быть уверен, что данные читаются из DDR, а не из кеша - PullRequest
3 голосов
/ 15 декабря 2011

пример:

int foo(void)
{
    static volatile int data;
    data = 0xaaa;
    /* something to assure cache flushing */
    if (data == 0xaaa)
        return 1;
    return 0;
}

вопрос в том, что может обеспечить такое смывание.спасибо.

1 Ответ

5 голосов
/ 15 декабря 2011

VxWorks предоставляет cacheLib, который позволяет вам выполнять определенные операции с кешем, а также выполнять сброс Вам придется проверить справочное руководство для вашей версии VxWorks. Во всяком случае, с версии 5.4:

STATUS cacheFlush
(
    CACHE_TYPE cache,   /* cache to flush */
    void *     address, /* virtual address */
    size_t     bytes    /* number of bytes to flush */
)

Источник: VxWorks V 5.4 cacheLib

...