【发布时间】:2013-11-26 02:28:18
【问题描述】:
哪个文件在 Windows Embedded Compact 7.0 上配置缓存?
(例如,在 VxWorks 上,我可以在 SysLib.c 中修改 OS 缓存设置)
如何关闭内存缓存?
【问题讨论】:
标签: c++ c windows embedded windows-ce
哪个文件在 Windows Embedded Compact 7.0 上配置缓存?
(例如,在 VxWorks 上,我可以在 SysLib.c 中修改 OS 缓存设置)
如何关闭内存缓存?
【问题讨论】:
标签: c++ c windows embedded windows-ce
“关闭缓存”是什么意思? 如果您只需要为您分配的特定内存块禁用缓存,那么您可以使用 VirtualAlloc 的 PAGE_NOCACHE 标志(或者如果您需要小块,则以这种方式在分配的页面顶部实现自定义堆)。 如果您需要禁用整个系统的缓存,则需要修改 BSP,特别是启动部分和缓存刷新功能。通过这种方式,您应该能够禁用 L2 缓存。在某些架构上,L1 缓存由内核管理(例如:在 ARM 上),因此无法轻松禁用它。 但是为什么要在整个操作系统中禁用缓存呢?
【讨论】: