用Keil调试SPS目标设备

4个职位/ 0个新
最后发表
理查德Surprenant
离线
最后看到:3年10个月前
加入:2016-07-26 16:37
用Keil调试SPS目标设备

亲爱的支持,
谢谢你到目前为止的帮助。我试图调试SPS代码:DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device与DA14583DEVK。我可以连接板,下载代码,如果我然后断开,固件运行,我可以使用它。不幸的是,当我运行代码时,它总是在调试器地址0x00000000几秒后停止。
我想添加我的代码和调试这个项目,但我卡住了。你有什么建议吗?
供参考:我可以调试简单的项目从:SDK 5.0.3没有问题。
欢呼,
丰富的

设备:
理查德Surprenant
离线
最后看到:3年10个月前
加入:2016-07-26 16:37
亲爱的支持,

亲爱的支持,
我关闭了睡眠模式,现在我可以调试了。有意义。我通过设置app_default_sleep_mode = ARCH_SLEEP_OFF来做到这一点。现在来谈谈问题的关键。我想有一个GPIO表示BLE是否连接。我认为打开和关闭LED会是一个好主意。这工作如果睡眠模式是关闭的,它不如果睡眠模式是打开的。

我把这个添加到system_init();

/****************************************************************************************/
/* GPIO配置*/
/****************************************************************************************/
#定义LED_PORT GPIO_PORT_1
#定义LED_PIN GPIO_PIN_0

这GPIO_reservations ()
Reserve_gpio (led_display, led_port, led_pin, pid_gpio);

这set_pad_functions ()

/ /初始化了
GPIO_ConfigurePin(LED_PORT, LED_PIN, OUTPUT, PID_GPIO, false);

这user_on_connection ()

GPIO_SetActive(LED_PORT, LED_PIN);

这user_on_disconnect ()

GPIO_SetInactive (LED_PORT LED_PIN);

再一次,就像我说的,如果我不进入睡眠模式,LED工作得很好。如果我让应用程序进入休眠状态,LED就不会打开。有什么建议吗?

非常感谢!
丰富的

MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
你好理查德,

你好理查德,

580年将睡眠和醒来的预定义的连接或广告间隔,这意味着它将这些事件之间的睡眠,当580年睡的针锁住,所以他们保持之前的状态,但当醒来periph_init()函数将重新运行,重新启动的,因此,它们将采用应用程序在peri_init()函数中定义的状态。在no_sleep_mode中,只调用一次peri_init(),因此您可以看到设备的行为符合预期。作为一个解决方案,你应该有一个变量,将记住你的应用程序的状态(CONNECTED或not),或者你可以直接检查你的TASK_APP的状态,并在peri_init()配置相应的应用程序的状态pin。

由于MT_dialog

理查德Surprenant
离线
最后看到:3年10个月前
加入:2016-07-26 16:37
谢谢你的回复。那

谢谢你的回复。这是一个很好的答案。根据这个有见地的信息,我解决了我的问题。
欢呼,
丰富的

主题锁定