DA14583闪存读写

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

亲爱的对话框支持,

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

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

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

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

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

我面临的问题,而焚烧。hex文件的设备,

我已经创建了我的项目的。hex文件,并使用智能代码片段工具,烧录固件到自定义设备。在成功编程设备之后,我需要休息设备来发布和初始化,同时这样做,如果我休息设备后燃烧。hex文件,我从闪存缓冲区获得“0xFF”,如果我再次(第二次)休息设备,我从闪存缓冲区获得我的默认状态。

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

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

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

感谢和问候

罗希特

设备:
PM_Dialog
离线
最后看到:1个月3个星期前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:1年8个月前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

使用SmartSnippets工具箱中的flash程序员,您可以使用您的固件烧坏SPI flash -是的,

在你下载你的代码并按下重置后,你可以确保你的设备是正确的广告-是的,设备广告

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

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

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

1.空白StorePIRSettings(无效);

2.空白CombineBDAwithBrightness(无效);

从flash函数读取数据-

1.空白ReadPIRSettings(无效);

2.空白ui8UpdateLocalDatabase(无效);

我存储这些数据到flash [void StoreintoFlash(void)]时,从应用程序断开连接,从flash [void ReadfromFlash(void)]读取数据时,设备启动(即。,在user_setup文件void peri_init (void);功能)。

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

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

感谢和问候

罗希特

PM_Dialog
离线
最后看到:1个月3个星期前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:1年8个月前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

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

你能告诉我以上建议的步骤吗?

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

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

在此项目(另一个项目)中,设备停止发布广告。

感谢和问候

罗希特Rajapure

PM_Dialog
离线
最后看到:1个月3个星期前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我的意思是从智能片段工具箱的flash程序员中读取SPI flash。因此,在断开连接后,不需要重置您的电路板,您就可以检查您的数据是否已成功存储。关于你的第二个问题,你能在调试模式下运行你的代码吗?我下载固件到系统内存,热附加调试器和检查代码是否卡在某处。

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:1年8个月前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

谢谢你的快速回复,

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

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

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

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

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

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

关于我第二个项目的问题

在调试模式下,代码不会被卡在它工作的任何地方。我把代码保存了半个小时。这款设备的广告效果仍然很好。

只有在烧录。hex文件并从App分配数据后,如果我断开设备(USB)并再次上电设备(USB),我才能看到我的设备广告。

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

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

感谢和问候

罗希特

PM_Dialog
离线
最后看到:1个月3个星期前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

关于您的第二个项目,我认为您已经用您的固件烧坏了SPI Flash,并从那里引导设备。断开连接后,如果你重置你的公告板,你还能再做广告吗?

谢谢,PM_DIalog

Rajapurerohit
离线
最后看到:1年8个月前
加入:2017-04-20 09:17
你好PM_Dialog,

你好PM_Dialog,

很抱歉回复晚了。

第一个项目:

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

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

在第二个项目中:

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

现在对于两个项目,我都面临着相同的问题,其中重置检测闪存字段是0xFF,第二次重置内存字段是0x00。

感谢和问候

罗希特

PM_Dialog
离线
最后看到:1个月3个星期前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

谢谢,PM_Dialog