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?
我想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.
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.
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.
嗨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.
你好对话框,
睡眠是深入睡眠。
在睡眠中,PIN状态定义高/低。
在深度睡眠后唤醒,应保留销状态。
如何实现上述要求?
问候
Raju
嗨rajucoolsuraj,
在睡眠前的销的状态,保留但不是PIN的配置或功能。当设备唤醒即将调用PeripH_Init()函数时,以便在每个唤醒中重新配置引脚,引脚返回其默认应用程序状态。因此,如果任何GPIO在睡眠前高,它会在睡眠期间保持高,并且将通过PERIPH_INIT()函数唤醒重新配置。
谢谢,PM_DIALOG.
你好对话框,
我具体提到了睡眠模式 - 深睡眠。
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
嗨rajucoolsuraj,
你提到了深度睡眠模式,所以让我响起你的东西,以便理解你的要求。你烧了OTP吗?
谢谢,PM_DIALOG.
你好对话框,
I have my FW in Flash memory. (DA14586).
Thanks
Raju
嗨rajucoolsuraj,
通常,当设备处于深度睡眠模式时,OTP应燃烧。但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。同样,别名之前的销钉是保留的,但不是PIN的配置或功能。
谢谢,PM_DIALOG.
你好对话框,
我可以知道如何恢复代码执行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
嗨rajucoolsuraj,
你能澄清你的问题吗?您的意思是“恢复代码执行,同时启用深度睡眠模式”?
DA14585 / 6有3种睡眠模式:
但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。
在延长的睡眠模式中,可以在2种方式中唤醒Theda14585 / 6
When the DEEP sleep mode is selected, theDA14585/6 can be woken up in 1way:
谢谢,PM_DIALOG.
谢谢对话框,
我想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
嗨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.
谢谢你的优秀example,
Based on the example, the code does boot again against any cause of reset condition. (NMI/Hardfault/SW);
要求是不仅知道重置的原因,还要在重置之前保持GPIO的状态。
问候
Raju
嗨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.
但是,示例代码undergoes a reset and GPIO state will also be reset to zero.
Thanks
regards
Raju
嗨rajucoolsuraj,
As far as I understand, you would like to keep the GPIO state when going to sleep, don’t you?
谢谢,PM_DIALOG.
是的,
And the sleep mode is Deep Sleep with external wake up on.
因此,在唤醒时,系统将经历复位,从而将GPIO设置为零(复位状态)。
嗨rajucoolsuraj,
据我所知,保留睡眠前的销的状态。因此,如果我理解正确,您想在SW重置后保留PIN的状态?
谢谢,PM_DIALOG.
是,对的。SW重置后,我想保留PIN的状态。
Thanks
Raju
嗨rajucoolsuraj,
您能否从设备启动的地方注明?来自SPI Flash的系统RAM ORE?如果它从System-RAM启动,重置后,固件将会丢失,以便您必须再次下载,可能的解决方案是将PIN的状态存储到保留RAM的未初始化区域中,并通过配置GPIO时,Periph_int中的此值。
谢谢,PM_DIALOG.