NVMS图书馆写/读/验证不匹配

⚠️
大家好. .谢谢光临论坛。令人兴奋的消息!我们现在在移动的过程中,我们的新论坛平台,将提供更好的功能和包含在主对话框的网站。所有文章和帐户已经被迁移。我们现在只接受交通新论坛,请发布任何新的线程//www.xmece.com/support。我们将修复bug /优化搜索和标签在接下来的日子里。
13个新帖子/ 0
最后发表
daisuke_suzuki
离线
最后看到:2年12个月前
加入:2015-09-16 08:36
NVMS图书馆写/读/验证不匹配

嗨对话框。

我有一个问题。
我使用NVMS图书馆。
我反复写,读,暴力和验证数据。
有时数据不匹配。

有限制使用NVMS库吗?

硬件是DA14681-01A9DEVKT-P开发工具包- Pro。
SDK版本是SDK_1.0.10.1072。
我试着大分区和分区的直接访问。
均以失败而告终。

关键词:
设备:
MT_dialog
离线
最后看到:6个月1周前
工作人员
加入:2015-06-08 34
嗨daisuke_suzuki,

嗨daisuke_suzuki,

我不认为他们有任何限制,我不知道有任何错误在NVMS图书馆,你在做什么当你提到你使用图书馆暴力?你测试这个对话框pro开发工具包或定制板呢?如果您正在使用这一个定制的黑板上你使用适当的闪存驱动器上的flash定制板吗?它将有助于提到你在做什么为了我检查我是否可以复制。

由于MT_dialog

daisuke_suzuki
离线
最后看到:2年12个月前
加入:2015-09-16 08:36
嗨对话框。

嗨对话框。

>
>我不认为他们有任何限制,我不知道有任何错误在NVMS库,
>你在做什么当你提到你使用图书馆暴力?
>

我有附加的测试项目的回复。

>
>你测试这个对话框pro开发工具包或定制板呢?
>如果您正在使用这一个定制的黑板上你使用适当的闪存驱动器上的flash定制板吗?
>

我使用对话框pro开发工具包。

>
>将有助于提到你在做什么为了我检查我是否可以复制。
>

请遵循以下步骤。

0。下载archive.zip。
1。解压缩archive.zip。
2。导入项目。
3所示。构建bootloader_release。
4所示。构建devkit_release。
5。连接板和电脑通过USB电缆。
6。写程序。
7所示。打开COM端口连接板。请使用teraterm。
8。按复位开关。
9。输入“测试10”。
10。检查输出。

它将会失败如果你重复几次测试。

(好的)
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/ * devkit:释放(nvms测试)* /
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /

NVMS >测试10
数= 10。
测试[01]…好吧
测试[02]…好吧
测试[03]…好吧
测试[04]…好吧
测试[05]…好吧
测试[06]…好吧
测试[07]…好吧
测试[08]…好吧
测试[09]…好吧
测试[10]…好吧
NVMS >

(NG)
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/ * devkit:释放(nvms测试)* /
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /

NVMS >测试10
数= 10。
测试[01]…好吧
测试[02]…好吧
测试[03]…好吧
测试[04]…好吧
测试[05]…好吧
测试[06]…错误
指数不匹配(线= 138)
NVMS >

这个测试项目是test_cmd函数。
请检查主要\存档\ \ src \ framework \常见\壳\命令\ \ test_cmd.c测试。

附件:
MT_dialog
离线
最后看到:6个月1周前
工作人员
加入:2015-06-08 34
嗨daisuke_suzuki,

嗨daisuke_suzuki,

从我看到你的代码ommited不少文件从SDK和定制enitre SDK来适应您的需要,同时也试图调试弗兰克-威廉姆斯为了检查你正在做的事情和它完全不可能的。相关的一些评论,也许是你正在经历的,是没有分区表的设备,我的意思是,你正在运行和访问NVMS_GENERIC_PART但实际应该创建分区表,在启动时,它不存在,我无法看到如果您使用的是直接访问flash或类型,(虽然在分区表GENERIC_PART宣布PARTITION_FLAG_VES,没有配置文件检查项目的nvms)的配置。flash的api非常考验他们的工作。

由于MT_dialog

daisuke_suzuki
离线
最后看到:2年12个月前
加入:2015-09-16 08:36
嗨对话框。

嗨对话框。

>
>从我看到你的代码ommited SDK和相当多的文件
>你定制enitre SDK来适应您的需要,
>也试图调试弗兰克-威廉姆斯为了检查你正在做的事情和它完全不可能的。
>

毕竟,你确认NG还是好吗?

>
>几个评论,也许你正在经历什么,有关
>是没有分区表的设备,
>我的意思是,你正在运行和访问NVMS_GENERIC_PART但实际的分区表
>应该创建在启动,也根本不存在,我不能够看到如果您使用的是直接的
>访问flash或类型,(尽管在分区表GENERIC_PART PARTITION_FLAG_VES宣布,
>没有配置文件的配置检查项目的nvms)。
>

我认为分区表的设置是以下文件。

主要\存档\ \ src \ framework \常见\ sdk \ bsp \ config \ \ suota \ partition_table.h 1米

正确吗?

配置文件不存在是什么?

告诉我从DA1468x_DA15xxx_SDK_1.0.10.1072相对路径。

>
> flash的api非常考验他们的工作。
>

告诉我你在做什么样的测试。
请告诉我测试代码。

MT_dialog
离线
最后看到:6个月1周前
工作人员
加入:2015-06-08 34
嗨daisuke_suzuki,

嗨daisuke_suzuki,

对不起我不提及undertstand什么意思”毕竟你确认NG还是好吗?”

是的的设置分区表位于该文件,在启动期间设备应该创建分区表初始化组件,但在你的弗兰克-威廉姆斯当我试图从智能片段读取分区表工具,为了检查读和写,也没有创建分区表。

关于配置文件不存在,custom_config_qspi在哪里。h文件在你的主要项目?

关于测试,SDK之前发布的经过专业测试,您可以简单地把任何参考示例和读写flash使用ad_nvms_write()和ad_nvms_read()函数。我也运行test_wrv SDK示例中()函数(调用test_wrv伯爵(count)硬编码值在10和20)和设备完成每次都成功,而且我还可以看到flash写入的数据分区。

由于MT_dialog

daisuke_suzuki
离线
最后看到:2年12个月前
加入:2015-09-16 08:36
>

>
>抱歉我不undertstand意思提到“毕竟你确认NG还是好吗?”
>

我想知道如果你跑我的测试。

你跑我的测试了吗?

测试的结果怎么样?NG吗?好吗?

我想知道这个问题只发生硬件。

如果您还没有这样做,请使用项目上运行我的测试在这个答复。

>
>是的
>的设置分区表位于该文件和启动设备应该创建分区表
>在初始化组件,但在你的弗兰克-威廉姆斯当我试图从智能读取分区表片段的工具,
>为了检查读和写,也没有创建分区表。
>

我检查了聪明片段的工具。

在这个工具,分区表的地址设置为0 x7f000。(我不知道为什么这个地址是恒定的。)

所以我改变分区表的地址从0 0 x7f000 x89000。

这个工具能够读取分区表。

然而,我对项目测试失败后改变。

附上更改项目。

在附加的项目我做了以下修改。

・添加get_pt命令读取分区表的程序。
・改变test_wrv()增加信息输出一个错误发生时。
・改变分区表
・删除不必要的SDK的变化

>
>关于配置文件不存在,custom_config_qspi在哪里。h文件在你的主要项目?
>

当然,没有custom_config_qspi。在我的项目h。

这个文件中的代码决定是必要的已经搬到devkit_config.h。

所以我删除custom_config_qspi.h。

>
>我也运行test_wrv SDK示例中()函数(调用test_wrv伯爵(count)硬编码值在10和20)
>设备成功地完成每一次,我还可以看到flash写入的数据分区。
>

好吧! !太棒了! !

test_wrv()函数与成功完成每一次在你的项目。

对吧?

我想拿你的项目和我的项目。

请给我您的项目。

MT_dialog
离线
最后看到:6个月1周前
工作人员
加入:2015-06-08 34
嗨daisuke_suzuki,

嗨daisuke_suzuki,

我运行之前的项目有连接和测试失败正如你提到的,但这是由于该项目并没有创建一个分区表和最有可能的分区,以读写flash。

我所做的是SDK 1.0.12 (SDK编写过程中的缺陷,这是纠正与新的SDK 1.0.12)和ble_adv项目,在这个项目我已经做了以下更改:

  1. 将下面的代码来模拟测试之前ble_gap_adv_start ble_adv_demo_task ():
    1. (我= 0;我< 20;我+ +){
      test_setup ();
      test_wrv (i + 1);
      test_tear_down ();
      }
  2. 上述函数复制项目,你连接我已经附加一些断言在错误的情况下。
  3. 启用印刷通过CONFIG_RETARGET和CONFIG_RETARGET_UART HW_UART2
  4. 禁用的监督。

弗兰克-威廉姆斯成功运行指定的测试。

如果你想测试上的应用补丁SDK 1.0.10您可以简单地从SDK 1.0.12采取以下功能,并将它们应用到旧的SDK。

  1. 初始化* qspi_pending_ops零一样:PRIVILEGED_DATA静态qspi_ops * qspi_pending_ops =零;
  2. 替换功能pm_execute_active_wfi (), pm_process_completed_qspi_operations()和pm_register_qspi_operations()从SDK 1.0.12使用相应的功能。

由于MT_dialog

daisuke_suzuki
离线
最后看到:2年12个月前
加入:2015-09-16 08:36
嗨MT_dialog

嗨MT_dialog

>
>我运行之前的项目有连接和测试失败正如你提到的,
>,但这是由于这样的事实,该项目并没有创建一个分区表
>最有可能的分区,以读写flash。
>

等一下。

你的想法如下,你不?

“分区表不是这个项目。”

你这样认为的原因不是以下的原因?

“我不能读取分区表智能片段的工具。”

在过去的回答,我告诉过你下面。

为什么你不能读取分区表和工具是聪明的片段
因为该工具读取分区表的地址与一个固定的值(0 x07f000)。

这不是分区表的原因不是项目。

你明白吗?
是错了吗?

在您的环境中测试也失败,所以我认为硬件并不是这个问题的原因。

我相信,这个问题是由于NVMS库中的一个错误。
(也许是我认为有问题的实现FLASH驱动程序。)

你怎么看这个?

>
>我是SDK 1.0.12
> (SDK编写过程中的缺陷,这是纠正与新的SDK 1.0.12)
> ble_adv项目,在这个项目我已经做了以下更改:
>
> 1。将下面的代码来模拟测试之前ble_gap_adv_start ble_adv_demo_task ():
> (i = 0;我< 20;我+ +){
> test_setup ();
> test_wrv (i + 1);
> test_tear_down ();
>}
>
> 2。上述函数复制项目,你连接我已经附加一些断言在错误的情况下。
> 3。启用印刷通过CONFIG_RETARGET和CONFIG_RETARGET_UART HW_UART2
> 4。禁用的监督。
>
>指定的弗兰克-威廉姆斯运行测试成功。
>

你明白我的意思吗?

我告诉你“请给我您的项目。”
我不要求如何使您的项目。
你为什么不附加项目?

如果我做的工作,我可能会错误。
如果你把一个项目,没有错误。

>
>如果你想在SDK 1.0.10测试应用补丁
>您可以简单地从SDK 1.0.12采取以下功能,并将它们应用到旧的SDK。
>
> 1。初始化* qspi_pending_ops零一样:PRIVILEGED_DATA静态qspi_ops * qspi_pending_ops =零;
> 2。替换功能pm_execute_active_wfi (), pm_process_completed_qspi_operations()和pm_register_qspi_operations()从SDK 1.0.12使用相应的功能。
>

你是说”中有一个bug SDK 1.0.10,应用补丁。”?

daisuke_suzuki
离线
最后看到:2年12个月前
加入:2015-09-16 08:36
嗨MT_Dialog

嗨MT_Dialog

我阅读发布说明(DA1468x_DA15xxx_SDK_Release_Notes_v_1_0_12_1078.pdf),有一个错误在FLASH驱动程序。

1072.01
改变dg_configDISABLE_BACKGROUND_FLASH_OPS 1时可能会导致失败
在96 mhz编程华邦电子闪存设备

>
> flash的api非常考验他们的工作。
>

? ? ?

你不知道这个错误呢?

我的测试集dg_configDISABLE_BACKGROUND_FLASH_OPS为0,但系统时钟设置为96 mhz。

我在我的环境和环境测试失败。

如果dg_configDISABLE_BACKGROUND_FLASH_OPS是零,这是正常工作吗?

请不要回答没有任何调查。

MT_dialog
离线
最后看到:6个月1周前
工作人员
加入:2015-06-08 34
嗨daisuke_suzuki,

嗨daisuke_suzuki,

我运行和测试的第一个项目连接和项目失败,我已经提到过,我找不到一个分区表,项目,这一事实可能是最可能的原因你正在经历的问题(这是来到我的注意的第一件事这就是我推荐的),也为了测试你的测试代码我应用以下插件(我)在一个SDK的例子来验证测试,我能够运行的测试中实现你的项目(这是一个SDK 1.0.12因为你没有一个分区表看一个合理的解释)。

我还测试了额外的项目,你有上传应用的修正以适当的分区表,你也有附加的项目失败了。为了找到什么可能出错的情况下,您正在使用SDK 1.0.10。吸引我的注意力,记得有一个错误在SDK 1.0.10,有时由于中断写可能会失败。所以我所做的是在SDK应用修复1.0.10从SDK 1.0.12 (我建议你做一个尝试,是的我知道的错误因为我提出了在SDK 1.0.10如何修复它)。所以站在我这一边,我使用了SDK 1.0.10修复如前所述,在SDK 1.0.12运行同样的事情像我一样为了验证您的测试运行成功,至少在一个SDK演示。演示并成功运行,测试执行重置设备,直到现在没有一个测试在SDK已经失败。

我完全理解你说的关于提供这个项目,但插件很简单,我认为你可以试一试,不管怎样,在附加文件中你会发现你的项目的补丁应用于SDK 1.0.12,构建项目,下载工具包。我还测试了它与修复和运行一些测试和项目操作,运行测试项10和100多次,没有错误。

再次对于dg_configDISABLE_BACKGROUND_FLASH_OPS, SDK时应该运行dg_configDISABLE_BACKGROUND_FLASH_OPS设置为0,因为一个中断在运行一个flash擦除会错过(设备将执行一个擦除在指示),所以建议一直运行的
dg_configDISABLE_BACKGROUND_FLASH_OPS设置为0,这不是一个错误,而是一个系统的限制。和测试,我已经运行了
dg_configDISABLE_BACKGROUND_FLASH_OPS设置为0 SDK演示。

我还提到你有ommited和取代的SDK文件和定制您的项目,这样我无法跟随的设置
你有你的项目和需要我的时间来调试和检查所出现的错误,所以我只能提出建议关于你的项目
上而不是调试它
,或遵循测试究竟是做什么,我希望这是明确的,你明白这一点。的原因,我们不建议这样一个沉重的SDK上修改,因为它难以调试和也你会有问题当你想更新固件最新的SDK,你也有份SDK项目当修改一个文件的SDK并不影响其他SDK文件,你有你的项目。所以基于以上我认为有不少测试和调查这个问题,你需要测试而不是附加自定义代码和等待解决方案。所以请检查上传的项目,让我知道它是否运行在你的身边。

由于MT_dialog

daisuke_suzuki
离线
最后看到:2年12个月前
加入:2015-09-16 08:36
谢谢你的附加

谢谢你将这个项目。

我跑“测试10”项目的10倍。

没有错误发生。

我从来没有成功地连续10次。

这段代码修复,我并不认为问题是根本解决。

但我认为这不是一个错误说“我不能看到问题发生。”

我很欣赏你的反应。

谢谢你MT_Dialog。

MT_dialog
离线
最后看到:6个月1周前
工作人员
加入:2015-06-08 34
什么我修补你的

我修补什么代码(而且还演示了如何应用补丁前post)是一种识别和验证修复,也应用于SDK 1.0.12(这是最新的SDK)所以我很有信心,这是代码问题导致问题。

请标明你的答案作为验证,如果上面的帮助。

由于MT_dialog