c - VxWorks:如何确定数据是从 DDR 而不是缓存中读取的

标签 c vxworks

例子:

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

问题是什么可以保证冲洗。谢谢。

最佳答案

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

关于c - VxWorks:如何确定数据是从 DDR 而不是缓存中读取的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518892/

相关文章:

linux - vxworks 中的任务

c - 在 linux 中将串行设备的 i/o 重定向到标准 i/o 的 api 是什么

c - 如何在VxWorks中为特定套接字fd(非系统范围)设置TCP保持事件间隔?

c - 如何以及在何处调用外部定义的结构

c - 错误 'sscanf_result' 未声明(在此函数中首次使用)

c - 如何构建 NortelCpl AMP vxworks AMP 代码?

c - 重定向 VxWorks 串行输入

C (UNIX),组合文件(字节数)

在编译时或运行时检查 linux 版本

{aStructName} 之前的 c 预期表达式