DA14583 flash读写

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

亲爱的对话支持,

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

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

要操作LED灯泡,创建了一种数据包(数据包包括灯泡的数量及其地址),它从Blescanner分配到自定义设备。

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

当系统电源休息时(设备启动时)读取时,我读取来自Flash的数据也完全发生。

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

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

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

或者遵循错误的方法来获取来自falsh的默认数据。

它非常迫切地为我制作这个问题,请帮我解决它。

感谢致敬

rohit.

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

嗨rajapurerohit,

让我问你一些问题,以了解你的成就。你用固件烧掉了SPI闪光灯,用Smartsnippets Toolbox的Flash程序员使用,不是吗?下载您的代码并按重置后,您是否可以确认您的设备是否正确广告?您可以测试使用工具箱的Power Profiler。您是否根据我们的任何SDK示例?如果我能够正确理解,在启动后,您想从SPI闪存中读取一些数据,这是正确的吗?由于您拥有自定义板和自定义应用程序代码,因此为我提供一些额外的输入或屏幕截图是非常有帮助的,以便复制您的问题。

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:11个月1日前
加入:2017-04-20 09:17
你好pm_dialog,

你好pm_dialog,

使用SmartSnippets Toolbox的Flash程序员使用Flash程序员,您将SPI Flash与固件烧掉 - 是的,

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

启动后,您想从SPI闪存中读取一些数据,这是正确的吗?- 是的,

在我的固件user_custs1_imple文件中,我已经写了一个函数,我将数据存储到/ relf flash。请在写入闪存配置和闪存读/写读/写函数的情况下,找到我的文件。

将数据存储到闪存缓冲功能 -

1.空白StorePIRSettings(无效);

2.无效CombineBDAWithBrightness(无效);

从flash读取数据功能

1. void ReadPirsettings(空白);

2. void ui8updatelocaldataTabase(空白);

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

所以,在.hex文件刻录后,当重置时,我在缓冲区中获得(255)0xFF,如果再次重置设备,我得到0x00。第二个重置后,我的设备工作完美地存储并读取了完美。

我想知道为什么设备需要两次休息才能正常运行。请帮助我在哪里做错事,或者我遵循错误的步骤来调试。

感谢致敬

rohit.

PM_Dialog
离线
最后看到:1天20小时前
工作人员
加入: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个月1日前
加入:2017-04-20 09:17
你好pm_dialog,

你好pm_dialog,

是的,在断开连接后,我将数据存储到闪存,但我不明白你提到的步骤跟随 - [你能检查你想要从SmartSnippet工具箱的闪存程序员写下存储的数据吗?你能看到你只看到0xFF的预期数据吗?]。

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

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

在另一个项目中,我面临着闪存的不同问题,我已经遵循的相同程序读/写我正在关注当前项目的内容。然而,

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

感谢致敬

Rohit Rajapure.

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

嗨rajapurerohit,

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

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:11个月1日前
加入:2017-04-20 09:17
嗨pm_dialog,

嗨pm_dialog,

谢谢你的快速回复,

我已经完成了以下步骤第一的项目- - - - - -

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

2.其次,我再次按下SmartSnippet工具上的连接选项,并单击读取选项,看到7000以上的地址数据是0xFF[没有数据被写入]

3.第三,我从App(BLE扫描仪)分配了数据并重复步骤2,能够在字段7000上查看地址上的数据

4.断开(下电)设备从USB和重新连接(上电)再次使用USB,再次重复步骤2,我可以看到数据。

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

并就我的第二个项目问题 -

在调试模式下,代码不会被卡在任何地方。我把代码保存了半小时。该设备的广告仍然很完美。

只有在燃烧。hex文件和从App分配数据后,如果我断开设备(USB),再次启动设备(USB),我无法看到我的设备广告。

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

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

感谢致敬

rohit.

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

嗨rajapurerohit,

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

关于您的第二个项目,我想您已将SPI Flash与固件和设备靴子烧毁。断开连接后,如果您重置电路板,您是否能够再次宣传?

谢谢,PM_DIalog

Rajapurerohit
离线
最后看到:11个月1日前
加入:2017-04-20 09:17
你好pm_dialog,

你好pm_dialog,

抱歉回复晚了。

第一个项目:

这是解决的,在关闭电源和电源周期后,我的设备在没有任何问题的情况下正确宣传。

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

在第二个项目中:

是的,在.ehex文件刻录并重置检测后,设备是广告的。

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

感谢致敬

rohit.

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

嗨rajapurerohit,

为延迟道歉,但我无法复制您的问题。将数据写入闪存时可能会出错。

谢谢,PM_Dialog