DA14530和DA14531
11个月前
发表aprocha4690分 7个答复亲爱的大家,
我将Pro-MB开发套件与DA14531一起使用。到目前为止,我正在使用调试器测试我的代码,并且在扩展睡眠模式下运行良好,从GPIO或RTC唤醒,以在BLE中进行广告。
当我在没有调试器的情况下运行代码(SPI Flash中的代码)时,我只会获得第一个广告,然后停止广告,而其他任务正确运行(外部GPIO唤醒,I2C通信)。
您能否澄清运行和没有调试器之间的行为的预期差异?除其他外,是否可以在调试模式下保存未在保存的RAM中声明的变量?
谢谢
11个月前
嗨,aprocha46,
刚刚删除了我以前的评论 - 我想将其发布在此论坛门票上:https://www.dialog-spoomendonductor.com/support-posts/different-behavior-d:
对混乱表示歉意。我们可以在此论坛主题上继续讨论这个问题。
谢谢,pm_dialog
11个月前
你好,
是的,实际上,当我做CTRL-F5 + F5:从SYS RAM运行并附上调试器,它运行正常
你这么说调试器可防止设备入睡:那为什么我得到(断点)回调.App_Ongon_to_sleep()和.app_resume_from_sleep()然后 ?
看起来会随附带有调试器的情况,但不是真的吗?我在这里迷路了,你能澄清吗?
谢谢
11个月前
嗨,aprocha46,
是的 - 连接调试器(CTRL -F5 + F5)时,您可以逐步浏览代码,添加断点,拿起所有回调功能等。但是系统不睡觉。看来那是在睡觉,但实际上不是在附加调试器时。
如果您检查DA14531框图,您将看到该设备包含SWD(JTAG)接口。连接并穿过COPE时,此接口就打开了。
另请参阅附件的屏幕截图,您会发现当附加JTAG时,功耗很高。
因此,我的建议是在不附带调试器的情况下运行System-RAM的代码。双击开始/停止调试会话(CTRL+F5)将下载FW到System-RAM中。
如果没有调试器的RAM的DA14531靴子,您是否可以复制您在初始文章中提到的行为?
谢谢,pm_dialog
附件 | 尺寸 |
---|---|
smartsnippetstoolbox.png | 150.64 kb |
10个月前
你好,
在忙于其他主题,我回到你身边。
我正在使用Keil环境。
因此,您的意思是我输入调试模式加载应用程序,然后离开调试模式,此时它没有调试器?很好,我不知道这个功能。
然后,是的,在这种情况下,我可以看到我得到的行为与板上的代码在闪存中的代码相同。
我得到了GPIO唤醒及其处理(连续交流),但只能在我以前在500毫米期开始广告的模式下获得第一个广告。
这可能与某些未保存的变量有关,还是与BLE计时器有关?
谢谢
10个月前
嗨,aprocha46,
由于您可以在不附带的调试器的情况下复制此功能,因此问题可能是当DA14531睡觉或从睡眠中醒来时。请记住,芯片在间隔(广告或连接)之间睡觉。因此,您能否分享一个电源痕迹,显示第一个广告?您也可以使用Smartsnippets工具箱中的电源profiler。
谢谢,pm_dialog
10个月前
你好,
这是我在不附加调试器时获得的唯一广告(使用的3个频道)(看起来还不错)。连接调试器时,我每0.5秒就会得到一次。
问候,
附件 | 尺寸 |
---|---|
Captureford forderialogadvunique.png | 115.68 kb |
11个月前
嗨,aprocha46,
感谢您的问题。请参阅下面的反馈。
>>>到目前为止,我正在使用调试器测试我的代码,并且在GPIO或RTC醒来时,它在扩展睡眠模式下运行良好,可以在BLE中进行广告。
1.您的意思是,当带有调试器的System-Ram的DA14531靴子时,一切都很好吗?
单击开始/停止调试会话(CTRL+F5)和运行(F5)
在这种情况下,调试器可防止设备入睡。
2.或者,当它从系统-RAM启动而没有附加调试器时?
双击开始/停止调试会话(CTRL+F5)将FW下载到RAM中。
在这种情况下,您可以检查代码是否按预期工作?
>>>当我在没有调试器的情况下运行代码(SPI Flash中的代码)时,我只会获得第一个广告,然后停止广告,而其他任务则正确运行(外部GPIO唤醒,I2C通信)。
这有点奇怪,正如您所提到的,其他任务正常运行。您可以检查是否停止在应用程序代码中进行广告?
我认为这是一个自定义代码,因此请分享有关您要做什么的更多详细信息。
请确保您的变量存储在保留内存中。否则,他们会在睡眠期间迷路。
例如 :
谢谢,pm_dialog