你好,对话框的团队,
我使用一个自定义我的项目。
这个项目有一个压力传感器,发送曼彻斯特编码数据通过gpio每30秒。我的对话框芯片解码字符串中的数据并将其加载广告。我有一个电池连接驱动电路。我让睡眠节省电池寿命。
到目前为止我已经做了以下。因为我们正在开发定制的硬件,我做了以下修改示例(ble_app_sleepmode)计划如下。
1)改变了港口和按钮销按我们在user_periph_setup.h示意图
2)改变# define CFG_LP_CLK LP_CLK_XTAL32 #定义CFG_LP_CLK LP_CLK_RCX20 da1458x_config_advanced。h,因为我们没有一个32 khz外部晶体。
3)改变#定义CFG_XTAL16M_ADAPTIVE_SETTLING # undef CFG_XTAL16M_ADAPTIVE_SETTLING因为点2。
4)# undef CFG_CODE_LOCATION_EXT da1458x_config_advanced.h # define CFG_CODE_LOCATION_OTP
我与585年成功调试项目devkit跑不出任何问题。我现在面临着以下的问题。因为我的调试会话正在运行正确我有打算做OTP。之后我做了OTP,程序不运行了很长一段时间。它运行了一段时间,然后我想停止。不知道为什么。
问候,
马克
设备:
我也附加项目文件夹。
嗨kuda,
谢谢你的问题。
> > > >我现在面临着以下的问题。因为我的调试会话正在运行正确我有打算做OTP。
你说你有调试器连接吗?如果是,这样可以防止系统进入睡眠模式。你完全确保您的应用程序运行在我们的DK吗?
定制的,你尝试运行应用程序在调试模式下?例如,你尝试固件下载到系统内存吗?
谢谢,PM_Dialog
嗨PM_Dialog,
是的。我下载的代码sys-RAM和工作完全没有任何问题。
我下载OTP的代码之后,我断开连接调试器。我取下电池,插入。它运行几分钟然后卡住。
问候,
马克
嗨MarkDsylva_2277
你能请导出并共享您正在使用的OTP头?
谢谢,PM_DIalog
嗨PM_Dialog,
如何出口OTP头?
问候,
马克
嗨MarkDsylva_2277
从SmartSnippets工具箱。你需要连接到OTP头和出口文件。
谢谢,PM_Dialog
嗨PM_Dialog,
我得到了很多的错误而阅读。
我附加日志。
问候,
马克
嗨PM_dialog,
我找到了一头。它附在这里。
问候,
马克
嗨PM_Dialog,
请更新我的状态,我在等待你的回复我的项目的进一步发展。
问候,
马克
嗨,马克,
应用程序标记都设置为“Yes”这是正确的。你用的什么包?WLCSP34 QFN40或QFN48吗?我选择了QFN40 OTP头你。此外,时钟源选择外部晶体振荡器,但在使用间隔RCX你最初的帖子。OTP头中你做了什么改变?你烧的”设备和包”和“睡眠时钟脉冲源”或缺省配置吗?
> > >我下载OTP的代码之后,我断开连接的调试器。我取下电池,插入。它运行几分钟然后卡住。
因为它是运行几分钟,这意味着设备OTP的正确引导。可能这个问题可能与西南。设备广告和突然停止吗?你能连接与对等设备吗?
谢谢,PM_Dialog
嗨PM_Dialog,
推荐- - - - - - >你用的什么包?WLCSP34 QFN40或QFN48吗?我选择了QFN40 OTP头你。
是的,这是QFN40。
- - - - - >此外,时钟源选择外部晶体振荡器,但在使用间隔RCX你最初的帖子。OTP头中你做了什么改变?你烧的”设备和包”和“睡眠时钟脉冲源”或缺省配置吗?
我有一个外部晶体连接。但是对于低功率晶体选择我不有一个32 khz外部晶体芯片连接到我的对话框。所以我改变了它从# define CFG_LP_CLK LP_CLK_XTAL32 #定义CFG_LP_CLK LP_CLK_RCX20。我没有改变什么头。我只改变了应用程序旗帜是的。
- - - - - >,因为它运行几分钟,这意味着设备OTP的正确引导。可能这个问题可能与西南。设备广告和突然停止吗?你能连接与对等设备吗?
设备运行几分钟,当它从睡梦中醒来了。应用程序的运行时间差别很大。有时候它停在2分钟或可能需要15分钟。由于我的项目相关广告,我没有连接与对等设备。如果软件相关的问题是,为什么不是它在调试期间发生?。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- >我最大的疑问是,如果应用程序中有一个bug,为什么它运行一定的时间,然后停止。
- >我有一个移动应用广告日志数据与系统时间。根据我的项目,广告时间间隔是150 ms为5秒之后做广告了。按我的日志,芯片之间的醒了过来,停在5秒广告时间停止。
- >我也读从你的网站,在线教程,以下行应该从rwip.c评论。如果不使用外部crstal 32 khz
/ /增加模式+ RCX DA14585/586不支持
如果(GetBits16 (ANA_STATUS_REG BOOST_SELECTED) = = 1)
ASSERT_WARNING (0);
我不评论,因为我不有很多芯片剩下我我们由于Covid-19封锁。我的代码在调试连续一个多星期。OTP我开始后面临的问题。请支持我,因为它是非常紧迫。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
最好是如果你能引导我在某些方面因为我使用一个定制的董事会,我只是不能浪费芯片后做OTP后发现bug。我要问的问题我管理多少芯片将u浪费吗?。
问候,
马克
嗨,马克,
你提到你测试你的项目开发模式。请记住,当调试器,这样可以防止系统进入睡眠模式。你曾经没有调试器连接测试?
轻松你的问题是有关从睡眠模式中醒来。
例如,如果您下载相同的弗兰克-威廉姆斯到Sys-Ram(没有调试器连接)或SPI Flash,运行正确吗?
关于OTP头似乎是正确的。如果OTP头和OTP形象没有烧正确,设备将无法启动!在你的案例中,DA14585正确引导并开始广告。
谢谢,PM_Dialog
嗨PM_Dialog,
- - - >你提到你测试你的项目开发模式。请记住,当调试器,这样可以防止系统进入睡眠模式。你曾经没有调试器连接测试?
我试图启动调试会话从凯尔和停止调试会话按相同的调试按钮。代码没有运行。
正如我在上面的文章中,我认为代码挂广告的中间过程(即醒来和睡在advertisemnt间隔)。我的代码在user_sleepmode。c文件,我在哪里处理外部中断和数据解码。我收到数据后,我开始为5秒广告,设置一个app_easy_timer ....之后,我停止了广告。在我什么都没有。我该如何检查代码挂在哪里?。什么好主意吗?
问候,
马克
嗨,马克,
所以问题是与西南。让我们试着调查可能的根本原因。如果你运行应用程序代码在您的自定义附加调试器,它停止在任何地方吗?如果有,请分享一个截图,卡住吗?监督启用矿石禁用吗?
谢谢,PM_Dialog
嗨PM_Dialog,
- - >。代码不停止。它没有任何问题。
- - >我有残疾的监督机构。
问候,
马克
嗨,马克,
你能请启用了WDOG运行它吗?现在,如果你在调试模式下运行它,代码被困在任何地方吗?请定义CFG_WDOG宏并再次运行它。
谢谢,PM_Dialog
嗨,马克,
此外SDk,您使用的是什么?我无法建立在我们的SDK提供的示例代码。
谢谢,PM_Dialog
嗨PM_Dialog,
我使用SDK是6.0.12
问候,
马克
嗨,马克,
我的建议是有WDOG启用并运行代码在调试模式。另外,请启用CFG_DEVELOPMENT_DEBUG国旗。这允许您热附加调试器和调试信息如果hardfault或敝中断发生。启用了这两个宏,是困在调试模式下地方当毁了它吗?Additionallym没有必要短打OTP为了调试——只是固件下载到系统内存中通过凯尔IDE。
在此同时,我将尝试运行附加的项目在我们的开发板。
谢谢,PM_Dialog
嗨PM_Dialog,
我照你说的。
我#定义宏和上传的代码按调试按钮,然后再次按下相同的按钮。代码又卡住了。
问候,
马克
嗨,马克,
它卡住了吗?你能请分享screenshoot吗?
谢谢,PM_Dialog
嗨PM_Dialog,
我已经断开连接调试器。所以我不能看到它被卡住了。
但当我运行调试器,代码运行正常。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
我在最后期限完成项目在明天,因为代码广告之间的间隔就卡住了,我想删除otp副本的睡眠之间间隔,通过虚假广告arch_set_extended_sleep (false)和改变静态常量sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON……
这时间解决我的问题吗?。
问候,
马克
嗨,马克,
我已经运行您的附加项目和CFG_WDOG CFG_DEVELOPMENT_DEBUG宏定义。我工作在一个QFN40子板和我们的新Pro-DK主板。为了使用车载按钮唤醒设备,我用的P1_1领导。
代码在调试模式下运行时,它被困在GPIO_SetPinFunction gpio的()。c文件在下面的行中。
__asm (“BKPT # 0 \ n”);/ /这个销先前从未被保留!
在user_periph_setup。c你配置所有GPIOs输入下拉。这是不需要INPUT_PULLDOWN为默认状态。你可以很容易地读取GPIOs寄存器来澄清。另外这和平代码重新配置的所有GPIOs并不推荐。
同时,在user_sleepmode。c文件您正在使用的GPIO永远保留!
请查收附件diff文件修改我的代码。与修改我能够运行您的项目在我们的dk。
OTP站可编程一次,所以你应该确保你的项目是完全运行在燃烧之前!
在发展阶段,建议启用WDOG和开发调试,否则,如果代码卡住的地方你会不会通知!总之,燃烧OTP形象和OTP头要求100%运行的应用程序代码。否则,芯片不会引导形式OTP !
的包是什么DA14585您正在使用吗?
谢谢,PM_Dialog
嗨PM_Dialog,
好的。我将照你说的做。
我用一个QFN40包。
GPIO预订问题会导致代码后挂OTP干什么?。
问候,
马克
既然你在调试模式下运行这个项目,你应该CFG_DEVELOPMENT_DEBUG定义。这允许您从OTP模拟选择镜像系统内存中。