嗨对话框
我工作在一个自定义板基于DA14681和使用固件pxp报告。一切都像预期的那样顺利,但现在我想把我的数据保存到flash中。
在flash适配器文档中提到
“一个扇区只能被删除有限的次数(由制造商保证)。在那之后
擦除循环次数多,数据存储不可靠"
“在同一位置多次写入少量数据,会导致闪存的磨损
(写/擦除周期的数量是特定于设备的,参见相应的Flash数据表)。
“大
VES驱动程序在断电和佩戴保护的情况下提供对分区入口的访问。为了实现
这样,VES驱动程序将数据写入闪存内的随机位置,而不需要擦除整个位置
当同一位置被修改时,扇区。这是通过写入不同的闪存位置来实现的
为同一用户提供的地址。VES驱动程序提供虚拟寻址,即用户
在读写操作之前,指定的地址被转换为真实的闪存位置。要实现这一
工作时,闪存大小必须大于用户可见的寻址空间。普遍的规则
拇指是虚拟EEPROM所需尺寸的8倍。”
所以我的场景是相同的,我想写很少非常频繁的flash,但我找不到任何示例代码的ad_nvms_ves_write, ad_nvms_ves_read。
所以有没有任何例子代码,其中的VES模式是实现,以便我可以添加这个功能,在我的项目。谢谢
关键词:
设备:
嗨mahmed106,
非常感谢你的在线问题。没有任何文档描述VES的功能。但是,它既可以用于读取数据,也可以用于写入数据。对于使用VES的应用程序,有三个先决条件:
我建议你去看看SPI适配器的概念这个教程演示了如何读写LOG分区(NVMS_LOG_PART)。在访问分区条目之前,你需要修改ad_nvms_open(),如下所示:
请注意,VES驱动程序为访问分区提供了电源故障保护。它使用虚拟寻址。用户应用程序可用的地址空间小于分区占用的物理闪存空间,但用户可以对该地址空间进行读写,而无需担心数据丢失。写过程中如果掉电,只会丢失正在写的部分数据,不影响其他数据。要获得VES特性如何工作的更多信息,请阅读教程的2.4.2节。
谢谢,PM_Dialog