为DA14580自定义DA1458x_DSPS_V_5.150.2

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
14个职位/0个新职位
最后一篇
Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
为DA14580自定义DA1458x_DSPS_V_5.150.2

我正在尝试为DA14580上的DSPS 5.150.2实施“心跳”功能。

这个想法是拥有一个特殊的消息,我的主机应用程序将通过UART发送到DSP并获得
来自dsp(也通过UART)的一种响应,而不通过BLE传输数据。

1.实施此类功能的正确方法是什么?
2.我应该自定义哪种代码/函数以实现“心跳”?

任何帮助都将不胜感激。

设备:
PM_DIALOG.
离线
最后一次露面:6天8小时前
职员
加入:2018-02-08 11:03
嗨,希帕瑟,

嗨,希帕瑟,

你能澄清一下你的“心跳”功能是什么意思,以及你想要完成什么吗?您的意思是要添加到DSPS参考应用程序代码中的心率配置文件吗?

谢谢,PM_DIALOG.

Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
你好,

你好,

“心跳”功能是使用的机制(实际上是一个简单的消息交换),以便确保节点,
在我的情况下是在DA14580上运行的固件,是“Alive”。如果它不是“活着”的主机软件将发出
DA14580的复位和重新编程通过UART(相同的UART稍后使用的DSP设备)。

大多数时间DSP工作都很好,但有时它会崩溃,然后我需要知道崩溃发生了
并对DA14580芯片进行复位和重新编程。

提前谢谢。

PM_DIALOG.
离线
最后一次露面:6天8小时前
职员
加入:2018-02-08 11:03
嗨,希帕瑟,

嗨,希帕瑟,

谢谢你的信息。您能在调试模式下运行DSPS固件并热连接调试器吗?代码在什么地方崩溃了吗?请澄清发生了什么事。可能,你得到了NMI或硬故障。另外,您提到固件有时会崩溃。你能澄清一下吗?

谢谢,PM_DIALOG.

Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
亲爱的支持,

亲爱的支持,

DSP崩溃我经历过非常罕见,我无法在使用调试器附加的同时再现它们。
我正在工作的系统应该可以随时连接,这就是为什么我需要实现“心跳”功能的原因。

由于我必须通过UART对DA14580进行编程,一个简单的“故障重启”就不能完成这项工作。

提前谢谢。

PM_DIALOG.
离线
最后一次露面:6天8小时前
职员
加入:2018-02-08 11:03
嗨,希帕瑟,

嗨,希帕瑟,

由于您已修改DSPS项目,因此我不知道您已添加到应用程序代码中的内容。请注意,DSP是非常特定应用的参考设计。亚博国际官网平台网址你提到“我正在努力的系统应该在所有时间可以连接”,你能澄清吗?您是否意味着您希望在设备与其他对等DSP设备连接时进行宣传和可连接?您能否向我提供更多关于您所做的内容的投入?

谢谢,PM_DIALOG.

Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
再次问好,

再次问好,

我还没有使用修改过的dsp版本。因此,崩溃实际上与DSPS代码本身有关。

“随时可连接”对我来说就是即使DSPS应用程序崩溃,我的主机应用程序也应该能够知道
崩溃发生了崩溃,以便重置DA14580并通过UART重新编程它。

所以现在我们回到了我的原始问题,是什么是改变DSPS代码的正确方法
实现“随时可连接”?

提前谢谢。

PM_DIALOG.
离线
最后一次露面:6天8小时前
职员
加入:2018-02-08 11:03
嗨,希帕瑟,

嗨,希帕瑟,

您必须调试代码并找到DSP崩溃的位置。如果使用调试器运行它,并且如果问题来自主机侧,则固件应该堆叠某处。例如,可能会陷入断言或进入NMI处​​理程序或硬盘处理程序。在代码崩溃之前触发哪个调用回函数?您可以通过步骤添加一些断点并调试它。调试代码的最佳做法是具有优化级-0(-O0)。因此,从Keil环境中导航到“C / C ++”选项卡的“C / C ++”选项卡,并将优化为Level-0(-O0)。

谢谢,PM_DIALOG.

Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
亲爱的支持,

亲爱的支持,

谢谢你的详细解释。我已经试过几次调试DSP了,正如我之前所描述的,
崩溃非常罕见(但仍然存在),我无法使用调试器查明问题。

这可能需要一天的时间,直到问题出现,虽然我有几个系统的工作调试的方法是最好的,
但在我的情况下并不实用。

所以,我决定尝试改变DSPS代码,以便能够与DSP通信,以便是
当芯片没有响应时,可以通过UART重置和重新编程。

您能否在DSPS代码之上向我提供有关实现此类功能的最佳/正确方法的信息。

提前谢谢。

PM_DIALOG.
离线
最后一次露面:6天8小时前
职员
加入:2018-02-08 11:03
嗨,希帕瑟,

嗨,希帕瑟,

你能描述一下你所遵循的程序吗?很抱歉,但我对你的描述有点困惑,你的问题很笼统。让我问你几个问题以便把事情弄清楚。

  • 您是否使用默认的DSP项目,因为它在我们的支持门户网站上,您已在应用程序代码中完成任何修改?
  • 你们有定制板还是我们的开发板?
  • 主机(SPS_HOST)是DA1480,但设备(SPS_DEVICE)侧如何?
  • 你能澄清一下这个问题吗?”以便在芯片无响应时通过UART重置和重新编程”
  • 如果安装了调试器,则主机端或设备端的固件必须卡在某个地方。
  • DA14580处于连接的或压缩状态?
  • 在前面的评论中,您解释了“heartbeat”特性,这是一个简单的消息交换。我需要一些额外的澄清。您想将消息发送到UART还是其他DSPS设备?

由于你的问题是相当普遍和罕见的,它将是非常有帮助的,为我提供一些投入,以了解什么是错的。

谢谢,PM_DIALOG.

Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
亲爱的支持,

亲爱的支持,

谢谢你的回复。

1.我只使用“sps_device”,我在Murata模块上运行。
2“主机”应用程序运行在STM32L4上,通过UART对Murata(带有dsp设备代码)进行编程,并通过同一UART与Murata进行通信。
三。有一个运行在iPad上的“客户端”应用程序,它通过Murata模块(DSPS设备)与运行在STM32L4上的“主机”应用程序通信。
4“sps\ U设备”配置为在没有硬件(不支持)或软件(不适用)流量控制的情况下工作。
5有时,运行在Murata模块上的“sps_设备”很少(可能一天一次)无法连接,可能是由于您描述的原因之一(断言或某种崩溃)。
6当(5)发生时,我可以通过额外的UART(未连接到Murata模块)连接到在STM32L4上运行的“主机”应用程序,并查看它是否仍在运行,但通过BLE发送的消息停止到达(双向)。
7.我无法在与Murata模块连接到Murata模块时重现问题。
8为了准备一个解决方案,我决定在运行在STM32L4上的“主机”应用程序和运行在Murata模块上的“sps\u设备”之间实现“带外”通信(“heartbeat”),以便在Murata模块没有响应时重新编程。
9.唯一的通信我的“主机”应用程序与Murata通过UART(它也用于编程“SPS_DEVICE”)。
10为了实现所描述的解决方法,请提供可能的代码自定义或源文件更改建议。

提前谢谢。

Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
亲爱的支持,

亲爱的支持,

你对我有什么建议吗?

提前谢谢。

PM_DIALOG.
离线
最后一次露面:6天8小时前
职员
加入:2018-02-08 11:03
嗨,希帕瑟,

嗨,希帕瑟,

首先,如果您不使用流量控制并且设备延长睡眠模式,则无法唤醒。因此,如果您希望没有流量控制,则必须删除扩展睡眠模式,芯片仅在活动模式下运行。关于您将描述的解决方法,我们从未使用过它,并且谢谢您让我们知道。如果我能够正确理解,主机必须在UART到Murata模块发送一些消息?主机运行哪个应用程序?我想我与Murata模块连接而不是STM32L4的DSP移动应用程序。

谢谢,PM_DIALOG.

Showserer.
离线
最后一次露面:8个月2周前
加入:2018-11-02 09:31
亲爱的支持,

亲爱的支持,

1.为了避免睡觉,我更换了

const static sleep\u state\u t app\u default\u sleep\u mode=ARCH\u sleep\u ON;

具有

const static sleep\u state\u t app\u default\u sleep\u mode=ARCH\u sleep\u OFF;

用户配置.h, 这样对吗?

2.通信路径如下:STM32L4(主机) - > UART - > Murata(DSPS) - > BLE - > iPad(BLE App)

三。等待您关于可能的代码自定义或源文件的建议更改,以便实现解决方案。

提前谢谢。