DA14583 flash读写

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
10个帖子/ 0个新
最后发表
Rajapurerohit
离线
最后看到:11个月2天前
加入:2017-04-20 09:17
DA14583 flash读写

亲爱的对话框支持,

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

我设计了一个使用DA14583单片机的设备,我写了代码,在按钮按下我正在切换LED灯泡组。

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

在固件的下一件事,我读数据包从应用程序发送,我parsh它作为我的应用程序和存储值/数据到flash(存储数据是完美的发生)。

我从flash读取数据,无论何时系统上电休息(当设备启动)读取也完美地发生。

我面临的问题,同时刻录。hex文件到设备,

我已经创建了我的项目的。hex文件,并使用智能代码片段工具,将固件刻录到自定义设备。编程设备成功之后,我需要其他设备来宣传和启动,而这样做,如果我休息设备燃烧.hex文件之后,我得到了“0 xff”从flash缓冲区,如果我再次(第二次)其他设备我得到我从flash缓冲区的默认状态。

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

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

这个问题对我来说非常紧急,请帮我解决。

感谢和问候

罗希特

设备:
PM_Dialog
离线
最后看到:1天21小时前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

为了了解你已经完成了什么,让我来问你一些问题。你烧SPI flash与你的固件使用flash程序员的SmartSnippets工具箱,不是吗?在你下载你的代码并按下reset后,你能确保你的设备是正确的广告吗?您可以使用工具箱的Power分析器进行测试。你有基于任何我们的SDK例子吗?如果我能正确理解,在引导后,您想从SPI flash中读取一些数据,这是正确的吗?因为你有一个自定义板和自定义应用程序代码,这将非常有帮助,为我提供一些额外的输入或屏幕截图,以复制你的问题。

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:11个月2天前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

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

在你下载你的代码并按下重置键后,你能否确认你的设备广告是否正确-是的,设备广告

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

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

存储数据到flash缓冲区的功能

1.空白StorePIRSettings(无效);

2.空白CombineBDAwithBrightness(无效);

从flash读取数据功能

1.空白ReadPIRSettings(无效);

2.空白ui8UpdateLocalDatabase(无效);

我存储这些数据到flash [void StoreintoFlash(void)]当断开从应用程序和读取数据从flash [void ReadfromFlash(void)]当设备初始化(即。,在user_setup文件中无效的外围init(无效);功能)。

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

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

感谢和问候

罗希特

PM_Dialog
离线
最后看到:1天21小时前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我认为您在user_app_disconnect中调用了StoreintoFlash(),不是吗?所以,断开连接之后。您能检查一下您想要从SmartSnippets工具箱的flash程序员中写入存储数据的地址吗?您是否能够看到仅看到0xFF的预期数据?如果您看到0xFF,这意味着该值还没有被写入。此外,正如我能够从您发布的代码片段中看到的,您初始化并启用SPI flash,在ReadfromFlash()和StoreintoFlash()中,但我不能看到SPI初始化。你能检查一下SDK的spi_flash外设示例的spi_flash_peripheral_init()函数吗?你是按照这个例子来做的吗?

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:11个月2天前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

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

你能简要告诉我对上述建议的步骤吗?

是的,我已经遵循spi_flash()代码,我已经做了我所理解的更改,我在初始化步骤中做错了什么吗?

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

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

感谢和问候

罗希特Rajapure

PM_Dialog
离线
最后看到:1天21小时前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我的意思是从智能片段工具箱的flash程序员读取SPI flash。因此,在断开连接后,无需重新设置您的主板,您可以检查您的数据是否已成功存储。关于你的第二个问题,能否在调试模式下运行你的代码?我要下载固件到System-RAM,热连接调试器并检查代码是否卡在某处。

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:11个月2天前
加入: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文件和从App分配数据后,如果我断开设备(USB),再次启动设备(USB),我无法看到我的设备广告。

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

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

感谢和问候

罗希特

PM_Dialog
离线
最后看到:1天21小时前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

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

谢谢,PM_DIalog

Rajapurerohit
离线
最后看到:11个月2天前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

抱歉回复晚了。

第一个项目:

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

对于第一个项目,问题是通知功能。由于通知功能有多个副本,设备在上电后没有通告。现在问题解决了,设备也工作了。

在第二个项目中:

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

现在对于两个项目,我面临同样的问题,其中复位检测闪存字段是0xFF,第二个复位内存字段是0x00。

感谢和问候

罗希特

PM_Dialog
离线
最后看到:1天21小时前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

抱歉延误,但我不能重复您的问题。在向flash写入数据时可能出错。

谢谢,PM_Dialog