DA14583闪存的读/写

了解更多常见问题解答教程

10个职位/ 0新
最后发表
Rajapurerohit
离线
最后一次露面:2个月3个星期前
加入时间:2017-04-20 09:17
DA14583闪存的读/写

亲爱的对话框支持,

我在flash读/写过程中需要非常紧急的帮助。

我已经设计使用DA14583 MCU的装置,并且我已经写代码,其中在按钮按下我正在切换的组的LED灯泡。

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

在固件我读包接下来的事情从App我parsh它按我的应用程序和存储值/数据发送到Flash(储存数据的完美情况发生)。

当系统启动rest时(当设备启动时),我就从flash中读取数据。

我现在面临的问题,同时buring .hex文件到设备,

我创建了我的项目的.hex文件并使用智能 - 摘录工具,固件刻录成定制设备。成功的编程设备后,我需要休息的设备,以宣传和发起,而这样做,如果我buring .hex文件后休息的设备,我得到“0xFF”组成,从闪存缓冲区,如果我再次(第二次)休息设备我从闪存缓存我的默认状态。

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

或者我使用错误的方法从falsh获得默认数据。

这个问题我很着急,请帮我解决一下。

感谢和问候

罗希特

设备:
PM_Dialog
离线
最后一次露面:13小时2分钟前
员工
加入时间:2018年2月8日11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

谢谢,PM_Dialog

Rajapurerohit
离线
最后一次露面:2个月3个星期前
加入时间:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

你烧毁了SPI flash与你的固件使用flash程序员的SmartSnippets工具箱-是的,

你下载你的代码,然后按复位后,请您确认您的设备是否被正确的广告 - 是的,器械广告

在启动之后,您希望从SPI闪存读取一些数据,对吗?——是的,

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

存储数据到闪存缓冲功能

1.空隙StorePIRSettings(无效);

2.空隙CombineBDAwithBrightness(无效);

读取闪存功能 - 数据

1.空白ReadPIRSettings(无效);

2.空白ui8UpdateLocalDatabase(无效);

我存储这些数据到闪存[空隙StoreintoFlash(无效)]当从应用程序断开连接,并读出从闪存数据[空隙ReadfromFlash(无效)]当设备发起(即,在user_setup文件空隙periph_init(空隙);功能)。

因此,.hex文件烧伤后,当复位按我在缓冲区得到(255)0xFF和复位,如果设备再次我得到0×00。第二复位后,我的设备工作完美数据都存储和读取也完善。

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

感谢和问候

罗希特

PM_Dialog
离线
最后一次露面:13小时2分钟前
员工
加入时间:2018年2月8日11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我想,你打电话的user_app_disconnect的StoreintoFlash(),不是吗?所以,断后。能否请您确认您想从SmartSnippets工具箱的flash编程器写入存储的数据的地址?你能够看到预期的数据,你只看到0xFF的?如果你看到0xFF的,这意味着该值尚未写入。此外,由于我能够从代码片段,您已经张贴看到,初始化并启用SPI闪存,无论是在ReadfromFlash()和StoreintoFlash(),但我不能看到SPI初始化。能否请您在SDK的spi_flash周边例子的spi_flash_peripheral_init()函数检查?你按照这个例子作为参考?

谢谢,PM_Dialog

Rajapurerohit
离线
最后一次露面:2个月3个星期前
加入时间:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

是的,断开连接后,我正在把数据存储到flash中,但是我没有理解你提到的下一步——[你能检查一下你想从SmartSnippets工具箱的flash程序中写入存储数据的地址吗?您能够看到您只看到0xFF的预期数据吗?

你能否介绍我几步之遥遵循上述建议?

是的,我也跟着spi_flash()的代码,我已经修改我的理解,我做错了什么在初始化步骤?

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

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

感谢和问候

罗希特Rajapure

PM_Dialog
离线
最后一次露面:13小时2分钟前
员工
加入时间:2018年2月8日11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我的意思是读取智能片段工具箱的闪存编程SPI闪存。因此,断开后,没有重置板,你可以检查,如果你的数据已经成功地存储。关于你的第二个问题,请你以调试模式运行你的代码?我下载的固件到系统RAM,热附加调试和检查,如果代码被卡住的地方。

谢谢,PM_Dialog

Rajapurerohit
离线
最后一次露面:2个月3个星期前
加入时间:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

谢谢你的快速反应,

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

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

2.第二,我再次按下SmartSnippet工具的连接选项,并单击读取选项一看,7000年开始的地址数据为0xFF [数据没被写入]

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

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

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

关于我的第二个项目问题

在调试模式下的代码是没有得到任何地方被卡住时它的工作。我不停的代码运行一个小时半。该装置还通告完美。

只有燃烧.hex文件后,并从应用程序分配数据之后,如果我断开装置(USB),然后重新上电设备(USB),我无法看到我的器械广告。

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

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

感谢和问候

罗希特

PM_Dialog
离线
最后一次露面:13小时2分钟前
员工
加入时间:2018年2月8日11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

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

谢谢,PM_DIalog

Rajapurerohit
离线
最后一次露面:2个月3个星期前
加入时间:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

这么晚才回复很抱歉。

第一个项目:

这是解决,断电和电源循环后,我的设备是否正常广告没有任何问题。

对于第一个项目,这个问题是有通知功能。由于通知功能的多个副本,该设备是不是广告功率下电循环后。现在问题解决了,也该设备工作。

在第二个项目中:

是的,在。hex文件烧毁并重新设置检测后,该设备正在广告。

现在,这两个项目,我面临着同样的问题,在复位检测闪存领域是0xFF和第二重置内存后场为0x00。

感谢和问候

罗希特

PM_Dialog
离线
最后一次露面:13小时2分钟前
员工
加入时间:2018年2月8日11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

抱歉延误,但我无法复制你的问题。在向flash写入数据时可能会出错。

谢谢,PM_Dialog