我可以使用memcpy连续访问缓存内存,而不是每个和Linux内核中的__raw_writel

时间:2015-04-11 01:46:30

标签: linux kernel memcpy

我在嵌入式设备的热重启过程中获得了100字节的连续缓存内存来备份一些数据。

对每100个中的4个使用__raw_writel将是半屏代码。我可以使用memcpy吗?

1 个答案:

答案 0 :(得分:1)

如何进行半屏代码?你必须有一个非常小的屏幕。如果内存区域是连续的,则可以使用循环。

u32 *to_write = ...;
volatile u32 __iomem *cache = ...;
for (int i = 0; i < 25; ++i) {
    __raw_writel(to_write[i], cache + i);
}

memcpy是否适用于您的缓存内存取决于该体系结构的体系结构和memcpy的实现。