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

亲爱的对话框支持,

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

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

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

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

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

我面临的问题,当烧制。hex文件到设备,

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

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

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

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

感谢和问候

罗希特

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

嗨Rajapurerohit,

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

谢谢,PM_Dialog

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

你好PM_Dialog,

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

当你下载你的代码并按下重置键后,你能确定你的设备是否在正确地发布广告吗?是的,设备发布广告

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

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

存储数据闪存缓冲功能-

1.空白StorePIRSettings(无效);

2.空白CombineBDAwithBrightness(无效);

读取数据从flash功能-

1.空白ReadPIRSettings(无效);

2.空白ui8UpdateLocalDatabase(无效);

当从应用程序断开连接时,我将这些数据存储到flash [void StoreintoFlash(void)],当设备初始化时,从flash [void ReadfromFlash(void)]读取数据。在user_setup文件中功能)。

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

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

感谢和问候

罗希特

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,

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

你能给我介绍一下上述建议的步骤吗?

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

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

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

感谢和问候

罗希特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.第二,我再次按下smarsnippet工具上的连接选项,并点击Read选项,看到7000向前的地址数据是0xFF[没有数据写入]

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

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

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

关于我的第二个项目-

在调试模式下,代码不会在工作的任何地方卡住。我让代码运行了半个小时。这款设备的广告效果依然完美。

只有在烧制。hex文件并从App中分配数据之后,如果我断开设备(USB)并再次打开设备(USB),我将无法看到我的设备广告。

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

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

感谢和问候

罗希特

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,

抱歉回复晚了。

第一个项目:

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

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

在第二个项目中:

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

现在对于两个项目,我都面临着同样的问题,即复位检测flash memory字段是0xFF,第二次复位后flash memory字段是0x00。

感谢和问候

罗希特

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

嗨Rajapurerohit,

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

谢谢,PM_Dialog