DA14583闪存读/写

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
10个帖子/ 0新
最后一篇
Rajapurerohit.
离线
最后一次露面:1年1个月前
加入:2017-04-20 09:17
DA14583闪存读/写

亲爱的对话框支持,

我需要非常紧急的闪存读写程序的帮助。

我设计了一个使用DA14583 MCU的设备,我有书面代码,按钮按下我正在切换LED灯泡组。

为了操作LED灯泡,创建一个数据包(包包括灯泡的数量和它们的地址),从BLEScanner分配到自定义设备。

在固件中的下一件事中,我读取从应用程序发送的数据包我的应用程序,并将值/数据存储到闪存中(存储数据存储完美的情况)。

我从闪存读取数据时,系统上电休息(当设备启动时),读取也是完美的发生。

我面临的问题,同时使用.hex文件到设备,

我创建了一个.hex文件的项目,并使用smart-scippet工具,将固件刻录到自定义设备中。成功编程后,我需要将设备休息才能宣传和发起,同时执行此操作,如果我在BINGEN .HEX文件后休息设备,我从闪存缓冲区获取“0xFF”,如果我再次(第二次)休息设备从闪存缓冲区获取默认状态。

我不明白为什么设备需要两次休息才能从闪存缓冲区读取实际数据?

或者我遵循错误的方法从falsh得到默认数据。

我急需解决这个问题,请帮我解决。

感谢和问候

罗希特

设备:
PM_DIALOG.
离线
最后一次露面:1周4天前
职员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

让我问你几个问题,以便了解你的成就。您烧伤SPI flash与您的固件与使用flash程序员的SmartSnippets工具箱,不是吗?当你下载你的代码并按下重置键后,你能确认你的设备是否正确的广告吗?您可以使用工具箱的Power分析器进行测试。你是否基于我们的SDK示例?如果我能够正确理解,在引导后你想从SPI flash读取一些数据,这是正确的吗?因为你有一个自定义的板和自定义的应用程序代码,这将是非常有帮助的提供我一些额外的输入或截图,以复制你的问题。

谢谢,PM_DIALOG.

Rajapurerohit.
离线
最后一次露面:1年1个月前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

您烧伤SPI flash与您的固件与使用flash程序员的SmartSnippets工具箱-是的,

下载代码并按重置后,您是否可以确定您的设备是否正确广告 - 是的,设备广告

在引导之后,您想要从SPI flash读取一些数据,这是正确的吗?——是的,

在我的固件user_custs1_imple文件,我写了一个函数,我存储数据/读取/从flash。请找到我的文件附在闪存配置和闪存读写读写功能写入。

存储数据闪存缓冲功能-

1. void StorePirsettings(空白);

2.空白CombineBDAwithBrightness(无效);

从闪存功能读取数据 -

1.空白ReadPIRSettings(无效);

2.空白ui8UpdateLocalDatabase(无效);

当设备启动(即,在User_setup文件void periph_init(void)中断开从应用程序并读取数据时,我将这些数据存储到闪存[void storeintoflash(void)]并从闪存[void readfromflash(void)]。

因此,在。hex文件烧录之后,当reset按下我将在缓冲区中获得(255)0xFF,如果再次重置设备,我将获得0x00。在第二次重置后,我的设备工作得很好数据存储和读取也很好。

我想知道为什么这个设备需要两次休息才能正常工作。请帮助我哪里做错了,或者我遵循错误的步骤调试。

感谢和问候

罗希特

PM_DIALOG.
离线
最后一次露面:1周4天前
职员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我想你在user_app_disconnect中调用storeintoflash(),不是吗?所以,断开后。您可以查看您想要从SmartSnippet Toolbox的Flash程序员编写存储的数据的地址吗?你能看到你只看到0xFF的预期数据吗?如果您看到0xFF,这意味着该值尚未写入。此外,由于我能从已发布的代码片段中看到,您初始化并启用SPI闪存,均在ReadfromFlash()和StoreIntoflash()中,但我无法看到SPI初始化。请问SPI_FLASH外围示例的SPI_FLASH_PERITELAL_INIT()函数是否可以查看SDK的示例?您是否遵循此示例作为参考?

谢谢,PM_DIALOG.

Rajapurerohit.
离线
最后一次露面:1年1个月前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

是的,在断开连接后,我正在将数据存储到flash中,但我不明白您提到的遵循的步骤-[您能检查一下您想从SmartSnippets工具箱的flash程序员写入存储的数据的地址吗?你能看到你只看到0xFF的预期数据吗?

您可以简要介绍上述建议的步骤吗?

是的,我跟着spi_flash()代码,我明白的改变了,我在初始化步骤中做错了什么?

在一个更多的项目中,我面临不同的问题与flash,相同的程序,我已经遵循读/写什么,我正在遵循的当前项目。然而,

在这个项目中(另一个项目)设备停止广告。

感谢和问候

罗希特Rajapure

PM_DIALOG.
离线
最后一次露面:1周4天前
职员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我的意思是从智能代码箱工具箱的Flash程序员阅读SPI闪存。因此,断开连接并无需重置电路板后,您可以检查您的数据是否已成功存储。关于你的第二个问题,请在调试模式下运行代码吗?我要将固件下载到系统RAM中,热连接调试器并检查代码是否粘在某个地方。

谢谢,PM_DIALOG.

Rajapurerohit.
离线
最后一次露面:1年1个月前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

谢谢你的快速回复,

我已经做了以下步骤,为第一个项目-

1.首先,刻录。hex文件并重置设备[设备广告]

2.第二,我再次按SmartSnippet工具上的“连接”选项,然后单击“读取”选项,看到7000个向上地址数据为0xFF [无数据写入]

3.第三,我从App (BLE Scanner)分配数据,并重复步骤2,能够看到字段7000的地址

4.断开(断电)从USB中的设备并重新连接(上电)使用USB,再次重复步骤2,我能够看到数据。

这是我所遵循的正确步骤吗?

关于我的第二个项目-

在调试模式下,代码不会被粘在任何地方都在工作。我把代码保持了半小时运行。该设备仍然完美宣传。

只有在燃烧的.hex文件和从应用程序分配数据之后,如果我断开设备(USB)并再次上电设备(USB),我无法看到我的设备广告。

我的第一个项目,我认为我们可以解决它,但第二个项目,我需要紧急帮助,它是一个大问题。

所以请帮助解决我的第二个项目广告问题。

感谢和问候

罗希特

PM_DIALOG.
离线
最后一次露面:1周4天前
职员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

关于您的第一个项目,似乎数据没有写入SPI Flash。我将再次检查您的代码片段。

关于你的第二个项目,我认为你已经烧毁了SPI Flash与你的固件和设备从那里启动。断开后,如果你重置你的板,你能再次广告吗?

谢谢,PM_DIALOG.

Rajapurerohit.
离线
最后一次露面:1年1个月前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

这么晚才回复很抱歉。

第一个项目:

这个问题解决了,断电和电源周期后,我的设备广告正常,没有任何问题。

对于第一个项目,问题在于通知功能。由于通知功能的多个副本,设备没有广告后的电源下降-电源上升周期。现在问题解决了,设备也可以工作了。

在第二个项目中:

是的,在。hex文件燃烧和重置检测后,设备正在发布。

现在对于两个项目,我面临同样的问题,其中重置检测闪存字段为0xFF,第二个重置存储器字段为0x00后。

感谢和问候

罗希特

PM_DIALOG.
离线
最后一次露面:1周4天前
职员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

很抱歉耽搁了,但我无法复制您的问题。在向flash写入数据时可能会出现错误。

谢谢,PM_DIALOG.