从深睡眠中预先定义的默认引脚状态

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
20 posts / 0 new
最后一篇
rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
从深睡眠中预先定义的默认引脚状态

你好对话框,

我有一个硬件配置,需要将端口引脚设置为醒来的唤醒或从深睡眠中设置/高。

由于重置始终将GPIO设置为“0”状态,因此有没有办法使用将被执行的装配指令作为引导的第一条指令从深睡眠唤醒时被执行?

Thanks

Raju

Device:
PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

Could you please clarify and provide me more inputs for what you want to accomplish? If I understood correctly, you would like to go into sleep and as soon as the device wakes-up, the pin should be set to high> Or you want to keep the high pin state while the chip is in sleep mode?

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
你好对话框,

你好对话框,

睡眠是深入睡眠。

在睡眠中,PIN状态定义高/低。

在深度睡眠后唤醒,应保留销状态。

如何实现上述要求?

问候

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

在睡眠前的销的状态,保留但不是PIN的配置或功能。当设备唤醒即将调用PeripH_Init()函数时,以便在每个唤醒中重新配置引脚,引脚返回其默认应用程序状态。因此,如果任何GPIO在睡眠前高,它会在睡眠期间保持高,并且将通过PERIPH_INIT()函数唤醒重新配置。

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
你好对话框,

你好对话框,

我具体提到了睡眠模式 - 深睡眠。

For Deep Sleep, the code always performs a HW Reset on wake up from external interrupt.

I have a requirement that should - continue/resume the code execution on wakeup from deep sleep.

我可以知道这种需求促进是否可行在深度睡眠模式中?

Thanks

问候

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

你提到了深度睡眠模式,所以让我响起你的东西,以便理解你的要求。你烧了OTP吗?

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
你好对话框,

你好对话框,

I have my FW in Flash memory. (DA14586).

Thanks

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

通常,当设备处于深度睡眠模式时,OTP应燃烧。但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。同样,别名之前的销钉是保留的,但不是PIN的配置或功能。

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
你好对话框,

你好对话框,

我可以知道如何恢复代码执行whil吗e deep sleep mode is enabled along with Code execution from Flash?

If it is not possible, what would be the viable alternative ?

Thanks

问候

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

你能澄清你的问题吗?您的意思是“恢复代码执行,同时启用深度睡眠模式”?

DA14585 / 6有3种睡眠模式:

  • 没有OTP副本的延长睡眠
  • DA14585 / 6:仅对应于图像尺寸保持的SystemRAM关闭

  • EXTENDED sleep with OTP copy: There is OTP copy (if boot from OTP).
  • DA14585/6: Only 32kB of the SystemRAM remains switched on. The OTP must be burnt to be able to measure the DEEP sleep current.

  • DEEP sleep mode: There is OTP copy (if boot from OTP)
  • DA14585 / 6:仅取决于所选选项,仅唤醒控制器或POR电路仍然接通。
  • 此模式可用于运输或休眠模式。无法维护BLE连接。

但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。

在延长的睡眠模式中,可以在2种方式中唤醒Theda14585 / 6

  • Synchronously, via the BLE timer which can be programmed to wakeup the system,
  • 异步,通过外部中断(输入)。

When the DEEP sleep mode is selected, theDA14585/6 can be woken up in 1way:

  • 异步,通过从唤醒控制器的上电复位(POR)电路的外部中断(输入)

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
谢谢对话框,

谢谢对话框,

我想have an SystemRAM state retention so that when required to wakeup, the system resumes its main loop execution than undergoing a system RESET as in Deep Sleep.

I have application code in Flash Memory. So based on the above options, Extended Sleep mode without OTP Copy is the only option to save power during inactivity.

是否有任何额外的省电设置可以包含在没有OTP复制配置的扩展睡眠模式中?

Thanks

问候

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

You could store you data into the Retention-RAM in order to retain them when going to sleep. Please check theSW示例:DA14585 / 586检测重置源example which demonstrates how you could do that. Regarding your last question, you don’t need any other extra configurations.

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
谢谢你的优秀

谢谢你的优秀example,

Based on the example, the code does boot again against any cause of reset condition. (NMI/Hardfault/SW);

要求是不仅知道重置的原因,还要在重置之前保持GPIO的状态。

问候

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

As it is mentioned in a previous comment, the device retains the state of the pin before going to sleep, but not the configuration or the functionality of the pin. When the device wakes up, the periph_init() function is executed in order to re-configure the pins in each wakeup and the pins return their default application state. When going to sleep, if the GPIO is high, it will stay high during sleep, and will be reconfigured in wake up by the periph_init() function. You will have to be aware in your application the last state of your pins in order to re-apply that value upon wake up.

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
但是,示例代码

但是,示例代码undergoes a reset and GPIO state will also be reset to zero.

Thanks

regards

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

As far as I understand, you would like to keep the GPIO state when going to sleep, don’t you?

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
是的,

是的,

And the sleep mode is Deep Sleep with external wake up on.

因此,在唤醒时,系统将经历复位,从而将GPIO设置为零(复位状态)。

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

据我所知,保留睡眠前的销的状态。因此,如果我理解正确,您想在SW重置后保留PIN的状态?

谢谢,PM_DIALOG.

rajucoolsuraj
离线
最后一次露面:6 months 5 days ago
加入:2018-12-12 16:09
是,对的。我想

是,对的。SW重置后,我想保留PIN的状态。

Thanks

Raju

PM_DIALOG.
离线
最后一次露面:22 hours 44 min ago
职员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

您能否从设备启动的地方注明?来自SPI Flash的系统RAM ORE?如果它从System-RAM启动,重置后,固件将会丢失,以便您必须再次下载,可能的解决方案是将PIN的状态存储到保留RAM的未初始化区域中,并通过配置GPIO时,Periph_int中的此值。

谢谢,PM_DIALOG.