你好,对话框的团队,
我正在研究基于定制板的DA14681单片机。DA14681通过qspi接口连接到“W25Q80EW”闪存。该闪存用于保存传感器的日志数据。但是问题是我如何使用DA14681单片机的闪存。我指的是配置qspi和读/写操作。你能帮我把假数据读/写到闪存里吗?
提前谢谢。
嗨,吉滕德拉普拉萨德,
您正在使用的flash与SDK用作默认内存的flash相同,因此不需要对它进行额外的实现。关于在flash上保存数据,SDK将代码和数据保存到qspi flash中,并将flash进行分区(请检查12.4段NVMS适配器中的UM-B-044)。SDK还提供了适当的api来与flash交互并将数据保存在分区中,从用户为了保存数据而使用的分区就是GENERIC partition。
由于MT_dialog
谢谢。
我们可以使用全闪存区域。还是有一些flash区域是限制使用的?我们可以直接使用“qspi_automode.c”和“qspi_automode.h”文件qspi flash API来保存自定义传感器数据吗?
68x的闪存区被划分为多个分区,这些分区包括FW本身、设备bd地址、名称等参数,因此您不能在整个闪存中写入,只能在用户专用分区中写入。您可以在第10.2段非易失性内存存储的UM-B-044 da1468x Software Platform Reference.pdf中找到分区指南。关于保存自定义传感器数据,有专门的API,以便访问特定分区并通过适配器写入或读取该分区,您将能够在NVMS适配器第12.4段中提到的allready文档中获得相关信息。
在哪个分区用户可以保存日志数据(自定义数据)在“W25Q80EW”闪存?我们需要多少空间来写自定义数据?
谢谢
闪存的分区是由用户决定的,所以它是可定制的,你将如何精确地分区你的闪存和大小是可定制的,所以多少数据可以存储在每个分区取决于你。在默认配置中,GENERIC_PART最多为0x20000字节,但这也取决于分区的类型,例如,如果您打算在一个特定的分区上使用VES,那么可用存储的数量将是分区表上声明的数量除以8(由于使用了虚拟寻址方案,实际的存储空间相当小)。
谢谢。两个问题,1.flash内存(W25Q80EW)接口与DA14681在相同的引脚DA16481 pro板。所以我需要在qspi上初始化flash引脚?或者它已经在Dialog SDK中初始化了?2.我已经使用"ad_nvms_open(NVMS_GENERIC_PART);"初始化NVMS,并使用"ad_nvms_write"和"ad_nvms_read" API调用,我可以正确读写一些数据。问题是,数据真的用这个API调用写入闪存吗?还是需要其他API调用?
谢谢您的回复。
我的第二个问题是,用哪些函数来读写数据到闪存中?您已经提到,sdk中提供了将数据读写到flash中的功能。那么,您能告诉我哪些函数调用用于读取和写入我们自己的自定义数据吗?
或者使用哪个qspi函数调用来访问闪存?
函数执行写作和阅读的分区qspi是ad_read_nvms()和ad_write_nvms()(那些你已经提到过和使用)至于你提到过能够读取和写入数据成功,这就是为什么我不把问题。既然您已经使用过这些函数,并且看到了它们的执行情况,那么您的问题可能是关于其他事情的吧?
嗨,吉滕德拉普拉萨德,
您正在使用的flash与SDK用作默认内存的flash相同,因此不需要对它进行额外的实现。关于在flash上保存数据,SDK将代码和数据保存到qspi flash中,并将flash进行分区(请检查12.4段NVMS适配器中的UM-B-044)。SDK还提供了适当的api来与flash交互并将数据保存在分区中,从用户为了保存数据而使用的分区就是GENERIC partition。
由于MT_dialog
谢谢。
我们可以使用全闪存区域。还是有一些flash区域是限制使用的?
我们可以直接使用“qspi_automode.c”和“qspi_automode.h”文件qspi flash API来保存自定义传感器数据吗?
嗨,吉滕德拉普拉萨德,
68x的闪存区被划分为多个分区,这些分区包括FW本身、设备bd地址、名称等参数,因此您不能在整个闪存中写入,只能在用户专用分区中写入。您可以在第10.2段非易失性内存存储的UM-B-044 da1468x Software Platform Reference.pdf中找到分区指南。关于保存自定义传感器数据,有专门的API,以便访问特定分区并通过适配器写入或读取该分区,您将能够在NVMS适配器第12.4段中提到的allready文档中获得相关信息。
由于MT_dialog
谢谢。
在哪个分区用户可以保存日志数据(自定义数据)在“W25Q80EW”闪存?我们需要多少空间来写自定义数据?
谢谢
嗨,吉滕德拉普拉萨德,
闪存的分区是由用户决定的,所以它是可定制的,你将如何精确地分区你的闪存和大小是可定制的,所以多少数据可以存储在每个分区取决于你。在默认配置中,GENERIC_PART最多为0x20000字节,但这也取决于分区的类型,例如,如果您打算在一个特定的分区上使用VES,那么可用存储的数量将是分区表上声明的数量除以8(由于使用了虚拟寻址方案,实际的存储空间相当小)。
由于MT_dialog
谢谢。
两个问题,
1.flash内存(W25Q80EW)接口与DA14681在相同的引脚DA16481 pro板。所以我需要在qspi上初始化flash引脚?或者它已经在Dialog SDK中初始化了?
2.我已经使用"ad_nvms_open(NVMS_GENERIC_PART);"初始化NVMS,并使用"ad_nvms_write"和"ad_nvms_read" API调用,我可以正确读写一些数据。问题是,数据真的用这个API调用写入闪存吗?还是需要其他API调用?
谢谢
嗨,吉滕德拉普拉萨德,
由于MT_dialog
谢谢您的回复。
我的第二个问题是,用哪些函数来读写数据到闪存中?
您已经提到,sdk中提供了将数据读写到flash中的功能。那么,您能告诉我哪些函数调用用于读取和写入我们自己的自定义数据吗?
或者使用哪个qspi函数调用来访问闪存?
谢谢
嗨,吉滕德拉普拉萨德,
函数执行写作和阅读的分区qspi是ad_read_nvms()和ad_write_nvms()(那些你已经提到过和使用)至于你提到过能够读取和写入数据成功,这就是为什么我不把问题。既然您已经使用过这些函数,并且看到了它们的执行情况,那么您的问题可能是关于其他事情的吧?
由于MT_dialog