我有 100 字节的连续缓存来备份嵌入式设备热重启期间的一些数据。
对 100 个中的每 4 个使用 __raw_writel
将是半屏代码。我可以使用memcpy吗?
怎么会是半屏代码?你必须有一个非常小的屏幕。如果内存区域是连续的,则可以只使用循环。
u32 *to_write = ...;
volatile u32 __iomem *cache = ...;
for (int i = 0; i < 25; ++i) {
__raw_writel(to_write[i], cache + i);
}
memcpy 是否适用于您的缓存取决于该架构的架构和 memcpy 的实现。