困在OTP DA14585 sleepmode代码

⚠️
大家好. .谢谢光临论坛。令人兴奋的消息!我们现在在移动的过程中,我们的新论坛平台,将提供更好的功能和包含在主对话框的网站。所有文章和帐户已经被迁移。我们现在只接受交通新论坛,请发布任何新的线程//www.xmece.com/support。我们将修复bug /优化搜索和标签在接下来的日子里。
39个职位/ 0新
最后发表
MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
困在OTP DA14585 sleepmode代码

你好,对话框的团队,

我使用一个自定义我的项目。

这个项目有一个压力传感器,发送曼彻斯特编码数据通过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,程序不运行了很长一段时间。它运行了一段时间,然后我想停止。不知道为什么。

问候,

马克

设备:
MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
我将这个项目

我也附加项目文件夹。

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

嗨kuda,

谢谢你的问题。

> > > >我现在面临着以下的问题。因为我的调试会话正在运行正确我有打算做OTP。

你说你有调试器连接吗?如果是,这样可以防止系统进入睡眠模式。你完全确保您的应用程序运行在我们的DK吗?

定制的,你尝试运行应用程序在调试模式下?例如,你尝试固件下载到系统内存吗?

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

是的。我下载的代码sys-RAM和工作完全没有任何问题。

我下载OTP的代码之后,我断开连接调试器。我取下电池,插入。它运行几分钟然后卡住。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨MarkDsylva_2277

嗨MarkDsylva_2277

你能请导出并共享您正在使用的OTP头?

谢谢,PM_DIalog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

如何出口OTP头?

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨MarkDsylva_2277

嗨MarkDsylva_2277

从SmartSnippets工具箱。你需要连接到OTP头和出口文件。

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

我得到了很多的错误而阅读。

我附加日志。

问候,

马克

附件:
MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_dialog,

嗨PM_dialog,

我找到了一头。它附在这里。

问候,

马克

附件:
MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

请更新我的状态,我在等待你的回复我的项目的进一步发展。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

应用程序标记都设置为“Yes”这是正确的。你用的什么包?WLCSP34 QFN40或QFN48吗?我选择了QFN40 OTP头你。此外,时钟源选择外部晶体振荡器,但在使用间隔RCX你最初的帖子。OTP头中你做了什么改变?你烧的”设备和包”和“睡眠时钟脉冲源”或缺省配置吗?

> > >我下载OTP的代码之后,我断开连接的调试器。我取下电池,插入。它运行几分钟然后卡住。

因为它是运行几分钟,这意味着设备OTP的正确引导。可能这个问题可能与西南。设备广告和突然停止吗?你能连接与对等设备吗?

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨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浪费吗?。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

你提到你测试你的项目开发模式。请记住,当调试器,这样可以防止系统进入睡眠模式。你曾经没有调试器连接测试?

轻松你的问题是有关从睡眠模式中醒来。

例如,如果您下载相同的弗兰克-威廉姆斯到Sys-Ram(没有调试器连接)或SPI Flash,运行正确吗?

关于OTP头似乎是正确的。如果OTP头和OTP形象没有烧正确,设备将无法启动!在你的案例中,DA14585正确引导并开始广告。

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

- - - >你提到你测试你的项目开发模式。请记住,当调试器,这样可以防止系统进入睡眠模式。你曾经没有调试器连接测试?

我试图启动调试会话从凯尔和停止调试会话按相同的调试按钮。代码没有运行。

正如我在上面的文章中,我认为代码挂广告的中间过程(即醒来和睡在advertisemnt间隔)。我的代码在user_sleepmode。c文件,我在哪里处理外部中断和数据解码。我收到数据后,我开始为5秒广告,设置一个app_easy_timer ....之后,我停止了广告。在我什么都没有。我该如何检查代码挂在哪里?。什么好主意吗?

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

所以问题是与西南。让我们试着调查可能的根本原因。如果你运行应用程序代码在您的自定义附加调试器,它停止在任何地方吗?如果有,请分享一个截图,卡住吗?监督启用矿石禁用吗?

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

- - >。代码不停止。它没有任何问题。

- - >我有残疾的监督机构。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

你能请启用了WDOG运行它吗?现在,如果你在调试模式下运行它,代码被困在任何地方吗?请定义CFG_WDOG宏并再次运行它。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

此外SDk,您使用的是什么?我无法建立在我们的SDK提供的示例代码。

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

我使用SDK是6.0.12

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

我的建议是有WDOG启用并运行代码在调试模式。另外,请启用CFG_DEVELOPMENT_DEBUG国旗。这允许您热附加调试器和调试信息如果hardfault或敝中断发生。启用了这两个宏,是困在调试模式下地方当毁了它吗?Additionallym没有必要短打OTP为了调试——只是固件下载到系统内存中通过凯尔IDE。

在此同时,我将尝试运行附加的项目在我们的开发板。

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

我照你说的。

我#定义宏和上传的代码按调试按钮,然后再次按下相同的按钮。代码又卡住了。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

它卡住了吗?你能请分享screenshoot吗?

谢谢,PM_Dialog

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

我已经断开连接调试器。所以我不能看到它被卡住了。

但当我运行调试器,代码运行正常。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

我在最后期限完成项目在明天,因为代码广告之间的间隔就卡住了,我想删除otp副本的睡眠之间间隔,通过虚假广告arch_set_extended_sleep (false)和改变静态常量sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON……

这时间解决我的问题吗?。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

我已经运行您的附加项目和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

附件:
MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

好的。我将照你说的做。

我用一个QFN40包。

GPIO预订问题会导致代码后挂OTP干什么?。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
因为你正在运行

既然你在调试模式下运行这个项目,你应该CFG_DEVELOPMENT_DEBUG定义。这允许您从OTP模拟选择镜像系统内存中。

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
我建议运行

我建议在了DK运行项目。运行正确吗?

如果是的,那么使用定制董事会和下载弗兰克-威廉姆斯到系统内存中。请确保OTP是空的。是,100%的工作吗?

MarkDsylva_2277
离线
最后看到:4个月2周前
加入:2019-06-19 04:20
嗨PM_Dialog,

嗨PM_Dialog,

我把最新副本sleepmode例子从你的实现,并试图下载的ram 585子板。我没有修改任何的任何代码。当我按下调试按钮,启动代码它立即停止nmi_handler。你的示例代码等工作没有修改585子板?。

问候,

马克

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,马克,请downoload