嗨对话框。
我有个问题。我使用NVMS库。我重复猛烈地写入,读取和验证数据。有时数据不匹配。
使用NVMS库是否有任何限制?
硬件是DA14681-01A9DEVKT-P开发套件 - PRO。SDK版本为SDK_1.0.10.1072。我尝试了VES分区和直接访问分区。两者都失败了。
嗨daisuke_suzuki,
我不认为他们是任何限制,我不知道NVMS库中的任何错误,当你提到剧烈使用图书馆时,你究竟在做了什么?您是否在对话框Pro Dev套件或定制板上进行测试?如果您在自定义板上使用此操作,您是否使用了您在自定义板上拥有的闪存的正确闪存驱动程序?它有助于提及您在做什么,以便我检查我是否可以复制。
由于MT_dialog
>>我不认为他们是任何限制,我不知道NVMS库中的任何错误,>当你提到猛烈地使用图书馆时,你究竟在做了什么?>
我已将测试项目附在此回复中。
>>您是否在对话框Pro Dev套件上或在定制板上进行测试?>如果您在自定义板上使用了您使用的闪存驱动程序,您可以在您的自定义板上使用闪光灯吗?>
我使用Dialog Pro Dev套件板。
>>有助于提及您在做什么,以便我检查我是否可以复制。>
请按照以下步骤操作。
0.下载archive.zip。1.解压缩archive.zip。2.进口项目。3.构建BootLoader_Release。4.构建devkit_release。5.通过USB电缆连接电路板和PC。6.写程序。7.打开COM端口连接板。请使用teraterm。8.按住载板的重置开关。9.输入“测试10”。10.检查输出。
如果您重复测试几次,则会失败。
[好的]/ ************************************************ // * devkit:释放(NVMS测试)* // ************************************************ /
NVMS>测试10count = 10。测试[01] ......好的测试[02]…好吧测试[03]…好吧测试[04] ......好的测试[05] ......好的测试[06]…好吧测试[07] ......好的测试[08] ......好的测试[09] ......好的测试[10]…好吧NVMS>
[ng]/ ************************************************ // * devkit:释放(NVMS测试)* // ************************************************ /
NVMS>测试10count = 10。测试[01] ......好的测试[02]…好吧测试[03]…好吧测试[04] ......好的测试[05] ......好的测试[06] ...错误索引不匹配[线= 138]NVMS>
这个测试程序是test_cmd函数。请检查\ archive \ main \ src \ framework \ common \ shell \ command \ test \ test_cmd.c。
从代码中,我看到您已经从SDK中获取了相当多的文件,并且您已经自定义了Enitre SDK以满足您的需求,并且还试图调试FW以检查您正在做的任何事情以及它是不可能的。几个评论中可能与您遇到的内容有关,是设备中没有分区表,我的意思是您正在运行和访问NVMS_GENERIC_PART但应在启动时创建的实际分区表,其根本不是在那里,我还无法看看是否使用直接访问闪存或ves,(虽然在分区表中声明为partition_flag_ves,但没有配置文件来检查项目的NVM的配置)。Flash的API是非常测试的,他们应该在他们应该工作。
>>从代码中,我看到您已经从SDK和SDK中获取了很多文件>你已经定制了enitre SDK来满足你的需求,>也试图调试FW以检查您正在做的任何事项,也是不可能的。>
毕竟你确认NG还是OK?
>>一些评论可能与您所在的内容有关,>设备中没有分区表,>我的意思是您正在运行和访问NVMS_GENERIC_PART但实际分区表>应该在启动时创建,它根本不在那里,我也无法看看你是否正在使用直接>对flash或VES的访问,(尽管在分区表中GENERIC_PART被声明为PARTITION_FLAG_VES,>没有配置文件来检查项目的NVMS的配置)。>
我认为分区表的设置是以下文件。
\ archive \ main \ src \ framework \ common \ sdk \ bsp \ config \ 1m \ suota \ partition_table.h
正确的?
什么是不存在的配置文件?
告诉我从DA1468x_DA15xxx_SDK_1.0.10.1072的相对路径。
>>闪光灯的API是非常测试的,他们应该在他们应该工作。>
告诉我你正在做什么样的测试。请告诉我测试代码。
对不起,我不会通过提到你的意思“毕竟你确认了NG或OK?”
是的,分区表的设置位于该文件中,在启动时,设备应在初始化组件期间创建分区表,但在您的FW中我尝试从智能代码片工具读取分区表,以便检查读取并写出并没有创建分区表。
关于不存在的配置文件,在主项目中custom_config_qspi.h文件在哪里?
关于测试,SDK在发布之前通过重大测试,您可以使用AD_NVMS_WRITE()和AD_NVMS_READ()函数来获取任何参考示例并写入闪光灯。我还在SDK示例中运行Test_Wrv()函数(调用的test_wrv(count)硬编码在10和20中的计数值),并且设备每次都有成功完成,并且我也可以看到闪存中写入分区的数据。
>>对不起,我不承认你的意思是提到“毕竟你确认了NG或OK?”>
我想知道你是否做了我的测试。
你有测试吗?
测试结果如何?ng?好?
我想知道这个问题是否只发生了我的硬件。
如果你还没有这样做,请运行我的测试使用项目附加到这个答复。
>>是的分区表的设置位于该文件中,在启动时设备应该创建分区表>在初始化组件期间,但在您的FW中我尝试从智能片段工具读取分区表时,>为了检查读写,没有创建分区表。>
我检查了智能片段工具。
在此工具中,分区表的地址设置为0x7f000。(我不知道这个地址为什么是常量。)
因此,我将分区表的地址从0x89000更改为0x7f000。
该工具能够读取分区表。
但是,我的测试在改变后的项目上失败了。
附上更改项目。
在附加项目中,我提出了以下修改。
·在程序中添加Get_pt命令读取分区表。・改变test_wrv()增加信息输出一个错误发生时。·更改分区表·删除不必要的SDK更改
>关于不存在的配置文件,在您的主项目中custom_config_qspi.h文件在哪里?>
当然,在我的项目中没有custom_config_qspi.h。
在此文件中确定的代码已被移动到devkit_config.h。
所以我删除了custom_config_qspi.h。
>>我还在SDK示例中运行test_wrv()函数(调用test_wrv(count)硬编码在10和20中的计数值)和>设备每次都有成功完成,我也可以看到闪存中写入分区的数据。>
好的!!伟大的!!
Test_Wrv()函数每次在项目中都有成功完成。
对?
我想比较一下你的项目和我的项目。
请把你的项目给我。
我运行了上一个项目,您已附加,测试失败,如您所提到的,但这是由于项目未创建分区表以及大多数可能分区,以便读取和写入闪存。
我所做的是采取SDK 1.0.12 (SDK确实有一个bug在编写过程中,这是修正了新的SDK 1.0.12)和ble_adv项目,在该项目中,我做了以下更改:
FW为指定的测试成功运行。
如果您想在SDK 1.0.10上测试应用程序修补程序,您只需从SDK 1.0.12中获取以下函数并将其应用于旧的SDK。
嗨mt_dialog.
>>我运行了上一个项目,您已附加,测试失败,如上所述,>但这是由于该项目没有创建分区表和>最可能的分区,以读取和写入到闪存。>
等一下。
你在思考如下,不是吗?
“这个项目中没有创建分区表。”
你这样认为的原因不是下面的原因吗?
“我无法使用智能片段工具读取分区表。”
在上次的回复中,我告诉了你以下内容。
您无法使用Smart Spippets工具读取分区表的原因是因为该工具以固定值(0x07f000)读取分区表的地址。
这不是没有在项目中创建分区表的原因。
你明白?是错的吗?
测试也会在您的环境中失败,因此我认为硬件不是这个问题的原因。
我确信这个问题是由NVMS库中的一个错误引起的。(也许我认为闪存驱动程序的实现存在问题。)
你怎么看待这件事?
>>我做的是采取SDK 1.0.12>(SDK确实在写入过程中有一个错误,并通过新的SDK 1.0.12纠正了这一点)> BLE_APP项目,在该项目中,我发出以下更改:>> 1。在ble_adv_demo_task中,在ble_gap_adv_start()之前放置下面的代码来模拟您的测试:> for (i=0;我< 20;我+ +){> test_setup();> test_wrv(i + 1);> test_tear_down ();>}>> 2。有以上的功能复制从项目,你已经附加,而且我附加了一些断言,在错误的情况下。> 3。通过CONFIG_RETARGET和CONFIG_RETARGET_UART HW_UART2启用打印> 4。禁用看门狗。>> FW为指定的测试成功运行。>
你明白我的意思吗?
我告诉过你“请给我你的项目。”我不询问如何制作项目。你为什么不附上这个项目?
如果我这样做,我可能会犯错误。如果你附加了一个项目,那就没有错了。
>>如果你想测试在SDK 1.0.10上应用补丁>您可以简单地从SDK 1.0.12获取以下功能,并将其应用于旧的SDK。>> 1。将* qspi_pending_ops初始化为null:privileged_data static qspi_ops * qspi_pending_ops = null;> 2。用来自SDK 1.0.12的相应函数替换pm_execute_active_wfi(),pm_process_completed_qspi_opi_opi_opirations()和pm_register_qspi_operations()。>
你是在说“因为在SDK 1.0.10有一个bug,应用补丁”吗?
我读取发行说明(da1468x_da15xxx_sdk_release_notes_v_1_0_12_1078.pdf),闪存驱动程序中有一个错误。
1072.01将dg_configDISABLE_BACKGROUND_FLASH_OPS修改为1可能会导致失败在96MHz的编程Winbond闪存设备
???
你不知道这个错误吗?
我的测试将DG_CONFIGDISABLE_BACKGROUND_FLASH_OPS设置为0,但系统时钟设置为96MHz。
我的测试在我的环境和你的环境中都失败了。
如果dg_configdisable_background_flash_ops为零,它是否正常工作?
未经调查请不要回答。
我经营并测试了你所附的第一个项目,并且项目失败了,我提到我找不到该项目的分区表,这一事实可能是您遇到的问题的最可能原因(这是我注意的第一件事,所以这就是我推荐的),也为了测试你的测试代码我在SDK示例中应用了以下Mod(我发布了)才能验证测试我能够运行您在项目中实现的测试(这是在SDK 1.0.12上完成的,因为您没有分区表看起来逻辑解释)。
我还测试了附加的项目,你已经上传了更正,你已经应用了为了有一个适当的分区表,你已经附加的项目也失败了。为了找出在你使用SDK 1.0.10的情况下还有什么可能出错。我注意到SDK 1.0.10上有一个bug,有时由于中断,写可能会失败。所以我所做的就是从SDK 1.0.12 (因为我已经建议你做一个尝试,所以是的,我知道这个bug,因为我已经提出如何在SDK 1.0.10上修复它)。所以在我的侧面,我将修复程序应用于SDK 1.0.10上以前提到的,并在SDK 1.0.12上运行相同的东西,以验证您的测试至少在SDK演示中是否成功运行。并且演示确实成功运行,在重置设备时执行测试,直到现在现在,SDK上都没有失败。
我完全理解你所说的关于提供项目的内容但是,Mods非常简单,我假设您可以尝试它们,无论如何,在附件中,您将使用应用于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,这不是bug,而是系统的限制。我做的测试有dg_configDISABLE_BACKGROUND_FLASH_OPS设置为0,就像在SDK演示中一样。
我还提到你已经非常讨厌并替换了一些SDK文件并通过这样做,通过执行此操作来定制项目,我无法遵循设置在你的项目中,我将花很多时间调试和检查什么会出错,所以我只能就你的项目提出建议附上了,没有调试它或者跟随您的测试正常在做什么,我希望这很清楚,你理解这一点。我们不建议在SDK上建议这样的繁重修改的原因是因为它难以调试,当您希望将FW更新到最新的SDK时,您还会有问题,您还有项目中的SDK副本何时修改SDK的一个文件,它不会影响您在项目中拥有的其他SDK文件。因此,基于上面的我认为已经运行了很多测试并相当调查了这个问题,您也需要对此进行测试,而不是附加自定义代码并等待解决方案。所以请检查上传的项目,并让我知道它是否在你这边操作。
感谢您附加项目。
我在附加的项目中运行了“测试10”10次。
没有发生错误。
到目前为止,我从未连续10次成功。
通过此代码修复,我认为问题未解决问题。
但我认为,说“我看不出问题发生了”并不是一个错误。
感谢您的善意回复。
谢谢mt_dialog。
我在代码上修补的是什么(并且还演示了如何在上一篇文章中应用补丁)是一个识别和验证的修复,也应用于SDK 1.0.12(这是最新的SDK),所以我非常有信心这是导致您的代码上的问题的问题。
如果上述帖子有助于,请将答案标记为验证。
嗨daisuke_suzuki,
我不认为他们是任何限制,我不知道NVMS库中的任何错误,当你提到剧烈使用图书馆时,你究竟在做了什么?您是否在对话框Pro Dev套件或定制板上进行测试?如果您在自定义板上使用此操作,您是否使用了您在自定义板上拥有的闪存的正确闪存驱动程序?它有助于提及您在做什么,以便我检查我是否可以复制。
由于MT_dialog
嗨对话框。
>
>我不认为他们是任何限制,我不知道NVMS库中的任何错误,
>当你提到猛烈地使用图书馆时,你究竟在做了什么?
>
我已将测试项目附在此回复中。
>
>您是否在对话框Pro Dev套件上或在定制板上进行测试?
>如果您在自定义板上使用了您使用的闪存驱动程序,您可以在您的自定义板上使用闪光灯吗?
>
我使用Dialog Pro Dev套件板。
>
>有助于提及您在做什么,以便我检查我是否可以复制。
>
请按照以下步骤操作。
0.下载archive.zip。
1.解压缩archive.zip。
2.进口项目。
3.构建BootLoader_Release。
4.构建devkit_release。
5.通过USB电缆连接电路板和PC。
6.写程序。
7.打开COM端口连接板。请使用teraterm。
8.按住载板的重置开关。
9.输入“测试10”。
10.检查输出。
如果您重复测试几次,则会失败。
[好的]
/ ************************************************ /
/ * devkit:释放(NVMS测试)* /
/ ************************************************ /
NVMS>测试10
count = 10。
测试[01] ......好的
测试[02]…好吧
测试[03]…好吧
测试[04] ......好的
测试[05] ......好的
测试[06]…好吧
测试[07] ......好的
测试[08] ......好的
测试[09] ......好的
测试[10]…好吧
NVMS>
[ng]
/ ************************************************ /
/ * devkit:释放(NVMS测试)* /
/ ************************************************ /
NVMS>测试10
count = 10。
测试[01] ......好的
测试[02]…好吧
测试[03]…好吧
测试[04] ......好的
测试[05] ......好的
测试[06] ...错误
索引不匹配[线= 138]
NVMS>
这个测试程序是test_cmd函数。
请检查\ archive \ main \ src \ framework \ common \ shell \ command \ test \ test_cmd.c。
嗨daisuke_suzuki,
从代码中,我看到您已经从SDK中获取了相当多的文件,并且您已经自定义了Enitre SDK以满足您的需求,并且还试图调试FW以检查您正在做的任何事情以及它是不可能的。几个评论中可能与您遇到的内容有关,是设备中没有分区表,我的意思是您正在运行和访问NVMS_GENERIC_PART但应在启动时创建的实际分区表,其根本不是在那里,我还无法看看是否使用直接访问闪存或ves,(虽然在分区表中声明为partition_flag_ves,但没有配置文件来检查项目的NVM的配置)。Flash的API是非常测试的,他们应该在他们应该工作。
由于MT_dialog
嗨对话框。
>
>从代码中,我看到您已经从SDK和SDK中获取了很多文件
>你已经定制了enitre SDK来满足你的需求,
>也试图调试FW以检查您正在做的任何事项,也是不可能的。
>
毕竟你确认NG还是OK?
>
>一些评论可能与您所在的内容有关,
>设备中没有分区表,
>我的意思是您正在运行和访问NVMS_GENERIC_PART但实际分区表
>应该在启动时创建,它根本不在那里,我也无法看看你是否正在使用直接
>对flash或VES的访问,(尽管在分区表中GENERIC_PART被声明为PARTITION_FLAG_VES,
>没有配置文件来检查项目的NVMS的配置)。
>
我认为分区表的设置是以下文件。
\ archive \ main \ src \ framework \ common \ sdk \ bsp \ config \ 1m \ suota \ partition_table.h
正确的?
什么是不存在的配置文件?
告诉我从DA1468x_DA15xxx_SDK_1.0.10.1072的相对路径。
>
>闪光灯的API是非常测试的,他们应该在他们应该工作。
>
告诉我你正在做什么样的测试。
请告诉我测试代码。
嗨daisuke_suzuki,
对不起,我不会通过提到你的意思“毕竟你确认了NG或OK?”
是的,分区表的设置位于该文件中,在启动时,设备应在初始化组件期间创建分区表,但在您的FW中我尝试从智能代码片工具读取分区表,以便检查读取并写出并没有创建分区表。
关于不存在的配置文件,在主项目中custom_config_qspi.h文件在哪里?
关于测试,SDK在发布之前通过重大测试,您可以使用AD_NVMS_WRITE()和AD_NVMS_READ()函数来获取任何参考示例并写入闪光灯。我还在SDK示例中运行Test_Wrv()函数(调用的test_wrv(count)硬编码在10和20中的计数值),并且设备每次都有成功完成,并且我也可以看到闪存中写入分区的数据。
由于MT_dialog
>
>对不起,我不承认你的意思是提到“毕竟你确认了NG或OK?”
>
我想知道你是否做了我的测试。
你有测试吗?
测试结果如何?ng?好?
我想知道这个问题是否只发生了我的硬件。
如果你还没有这样做,请运行我的测试使用项目附加到这个答复。
>
>是的
分区表的设置位于该文件中,在启动时设备应该创建分区表
>在初始化组件期间,但在您的FW中我尝试从智能片段工具读取分区表时,
>为了检查读写,没有创建分区表。
>
我检查了智能片段工具。
在此工具中,分区表的地址设置为0x7f000。(我不知道这个地址为什么是常量。)
因此,我将分区表的地址从0x89000更改为0x7f000。
该工具能够读取分区表。
但是,我的测试在改变后的项目上失败了。
附上更改项目。
在附加项目中,我提出了以下修改。
·在程序中添加Get_pt命令读取分区表。
・改变test_wrv()增加信息输出一个错误发生时。
·更改分区表
·删除不必要的SDK更改
>
关于不存在的配置文件,在您的主项目中custom_config_qspi.h文件在哪里?
>
当然,在我的项目中没有custom_config_qspi.h。
在此文件中确定的代码已被移动到devkit_config.h。
所以我删除了custom_config_qspi.h。
>
>我还在SDK示例中运行test_wrv()函数(调用test_wrv(count)硬编码在10和20中的计数值)和
>设备每次都有成功完成,我也可以看到闪存中写入分区的数据。
>
好的!!伟大的!!
Test_Wrv()函数每次在项目中都有成功完成。
对?
我想比较一下你的项目和我的项目。
请把你的项目给我。
嗨daisuke_suzuki,
我运行了上一个项目,您已附加,测试失败,如您所提到的,但这是由于项目未创建分区表以及大多数可能分区,以便读取和写入闪存。
我所做的是采取SDK 1.0.12 (SDK确实有一个bug在编写过程中,这是修正了新的SDK 1.0.12)和ble_adv项目,在该项目中,我做了以下更改:
test_setup();
test_wrv(i + 1);
test_tear_down ();
}
FW为指定的测试成功运行。
如果您想在SDK 1.0.10上测试应用程序修补程序,您只需从SDK 1.0.12中获取以下函数并将其应用于旧的SDK。
由于MT_dialog
嗨mt_dialog.
>
>我运行了上一个项目,您已附加,测试失败,如上所述,
>但这是由于该项目没有创建分区表和
>最可能的分区,以读取和写入到闪存。
>
等一下。
你在思考如下,不是吗?
“这个项目中没有创建分区表。”
你这样认为的原因不是下面的原因吗?
“我无法使用智能片段工具读取分区表。”
在上次的回复中,我告诉了你以下内容。
您无法使用Smart Spippets工具读取分区表的原因是
因为该工具以固定值(0x07f000)读取分区表的地址。
这不是没有在项目中创建分区表的原因。
你明白?
是错的吗?
测试也会在您的环境中失败,因此我认为硬件不是这个问题的原因。
我确信这个问题是由NVMS库中的一个错误引起的。
(也许我认为闪存驱动程序的实现存在问题。)
你怎么看待这件事?
>
>我做的是采取SDK 1.0.12
>(SDK确实在写入过程中有一个错误,并通过新的SDK 1.0.12纠正了这一点)
> BLE_APP项目,在该项目中,我发出以下更改:
>
> 1。在ble_adv_demo_task中,在ble_gap_adv_start()之前放置下面的代码来模拟您的测试:
> for (i=0;我< 20;我+ +){
> test_setup();
> test_wrv(i + 1);
> test_tear_down ();
>}
>
> 2。有以上的功能复制从项目,你已经附加,而且我附加了一些断言,在错误的情况下。
> 3。通过CONFIG_RETARGET和CONFIG_RETARGET_UART HW_UART2启用打印
> 4。禁用看门狗。
>
> FW为指定的测试成功运行。
>
你明白我的意思吗?
我告诉过你“请给我你的项目。”
我不询问如何制作项目。
你为什么不附上这个项目?
如果我这样做,我可能会犯错误。
如果你附加了一个项目,那就没有错了。
>
>如果你想测试在SDK 1.0.10上应用补丁
>您可以简单地从SDK 1.0.12获取以下功能,并将其应用于旧的SDK。
>
> 1。将* qspi_pending_ops初始化为null:privileged_data static qspi_ops * qspi_pending_ops = null;
> 2。用来自SDK 1.0.12的相应函数替换pm_execute_active_wfi(),pm_process_completed_qspi_opi_opi_opirations()和pm_register_qspi_operations()。
>
你是在说“因为在SDK 1.0.10有一个bug,应用补丁”吗?
嗨mt_dialog.
我读取发行说明(da1468x_da15xxx_sdk_release_notes_v_1_0_12_1078.pdf),闪存驱动程序中有一个错误。
1072.01
将dg_configDISABLE_BACKGROUND_FLASH_OPS修改为1可能会导致失败
在96MHz的编程Winbond闪存设备
>
>闪光灯的API是非常测试的,他们应该在他们应该工作。
>
???
你不知道这个错误吗?
我的测试将DG_CONFIGDISABLE_BACKGROUND_FLASH_OPS设置为0,但系统时钟设置为96MHz。
我的测试在我的环境和你的环境中都失败了。
如果dg_configdisable_background_flash_ops为零,它是否正常工作?
未经调查请不要回答。
嗨daisuke_suzuki,
我经营并测试了你所附的第一个项目,并且项目失败了,我提到我找不到该项目的分区表,这一事实可能是您遇到的问题的最可能原因(这是我注意的第一件事,所以这就是我推荐的),也为了测试你的测试代码我在SDK示例中应用了以下Mod(我发布了)才能验证测试我能够运行您在项目中实现的测试(这是在SDK 1.0.12上完成的,因为您没有分区表看起来逻辑解释)。
我还测试了附加的项目,你已经上传了更正,你已经应用了为了有一个适当的分区表,你已经附加的项目也失败了。为了找出在你使用SDK 1.0.10的情况下还有什么可能出错。我注意到SDK 1.0.10上有一个bug,有时由于中断,写可能会失败。所以我所做的就是从SDK 1.0.12 (因为我已经建议你做一个尝试,所以是的,我知道这个bug,因为我已经提出如何在SDK 1.0.10上修复它)。所以在我的侧面,我将修复程序应用于SDK 1.0.10上以前提到的,并在SDK 1.0.12上运行相同的东西,以验证您的测试至少在SDK演示中是否成功运行。并且演示确实成功运行,在重置设备时执行测试,直到现在现在,SDK上都没有失败。
我完全理解你所说的关于提供项目的内容但是,Mods非常简单,我假设您可以尝试它们,无论如何,在附件中,您将使用应用于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,这不是bug,而是系统的限制。我做的测试有
dg_configDISABLE_BACKGROUND_FLASH_OPS设置为0,就像在SDK演示中一样。
我还提到你已经非常讨厌并替换了一些SDK文件并通过这样做,通过执行此操作来定制项目,我无法遵循设置
在你的项目中,我将花很多时间调试和检查什么会出错,所以我只能就你的项目提出建议
附上了,没有调试它或者跟随您的测试正常在做什么,我希望这很清楚,你理解这一点。我们不建议在SDK上建议这样的繁重修改的原因是因为它难以调试,当您希望将FW更新到最新的SDK时,您还会有问题,您还有项目中的SDK副本何时修改SDK的一个文件,它不会影响您在项目中拥有的其他SDK文件。因此,基于上面的我认为已经运行了很多测试并相当调查了这个问题,您也需要对此进行测试,而不是附加自定义代码并等待解决方案。所以请检查上传的项目,并让我知道它是否在你这边操作。
由于MT_dialog
感谢您附加项目。
我在附加的项目中运行了“测试10”10次。
没有发生错误。
到目前为止,我从未连续10次成功。
通过此代码修复,我认为问题未解决问题。
但我认为,说“我看不出问题发生了”并不是一个错误。
感谢您的善意回复。
谢谢mt_dialog。
我在代码上修补的是什么(并且还演示了如何在上一篇文章中应用补丁)是一个识别和验证的修复,也应用于SDK 1.0.12(这是最新的SDK),所以我非常有信心这是导致您的代码上的问题的问题。
如果上述帖子有助于,请将答案标记为验证。
由于MT_dialog