- 主题:mmap的虚拟内存空间和物理内存内容一致性问题
xlinx开发板,FPGA+ARM。
一个寄存器,FPGA写,ARM读。
ARM上将该寄存器mmap为虚拟内存地址。
我现在遇到个问题,怀疑FPGA写完后,mmap映射的虚拟内存地址中的内容没及时更新。
这个有办法解决吗?
能否做到物理内存内容改变后,mmap的虚拟内存内容立刻改变?
--
FROM 221.231.166.*
这是flush,请问下用户态怎么invalidate?
- 来自 水木社区APP v3.4.0
【 在 hondrous 的大作中提到: 】
: ioctl(IOCTL_MEMCACHE_FLUSH, &args);
--
FROM 114.222.128.*
这个问题和volatile应该没有关系。
volatile是物理内存中的值和缓存时一致的,只是编译器优化了。
【 在 ironwei 的大作中提到: 】
: 寄存器定义为volatile试试
:
--
FROM 49.77.231.*
请问用户态怎么invalidate ?
【 在 hondrous 的大作中提到: 】
: cache 需要刷写。写入内存需要flush,读入需要invalidate
--
FROM 49.77.231.*