你好对话框,
我有一个硬件配置,需要将端口引脚设置为醒来的唤醒或从深睡眠中设置/高。
由于重置始终将GPIO设置为“0”状态,因此有没有办法使用将被执行的装配指令作为引导的第一条指令从深睡眠唤醒时被执行?
谢谢
拉朱
嗨rajucoolsuraj,
请你澄清一下,并为我提供更多的投入,你想完成什么?如果我理解正确,您想进入睡眠状态,一旦设备唤醒,引脚应设置为高>或您想保持高引脚状态,而芯片处于睡眠模式?
谢谢,PM_DIALOG.
睡眠是深入睡眠。
在睡眠中,PIN状态定义高/低。
在深度睡眠后唤醒,应保留销状态。
如何实现上述要求?
问候
在睡眠前的销的状态,保留但不是PIN的配置或功能。当设备唤醒即将调用PeripH_Init()函数时,以便在每个唤醒中重新配置引脚,引脚返回其默认应用程序状态。因此,如果任何GPIO在睡眠前高,它会在睡眠期间保持高,并且将通过PERIPH_INIT()函数唤醒重新配置。
我具体提到了睡眠模式 - 深睡眠。
对于深度睡眠,代码总是在从外部中断唤醒时执行硬件重置。
我有一个要求,应该-继续/恢复代码执行从深度睡眠醒来。
我可以知道这种需求促进是否可行在深度睡眠模式中?
你提到了深度睡眠模式,所以让我响起你的东西,以便理解你的要求。你烧了OTP吗?
我的固件在闪存里(DA14586)。
通常,当设备处于深度睡眠模式时,OTP应燃烧。但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。同样,别名之前的销钉是保留的,但不是PIN的配置或功能。
我可以知道如何在启用深度睡眠模式的同时从Flash执行代码吗?
如果不可能,可行的替代方案是什么?
你能澄清你的问题吗?您的意思是“恢复代码执行,同时启用深度睡眠模式”?
DA14585 / 6有3种睡眠模式:
但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。
在延长的睡眠模式中,可以在2种方式中唤醒Theda14585 / 6
当选择深度睡眠模式时,DA14585/6可通过1种方式唤醒:
谢谢对话框,
我希望有一个SystemRAM状态保留,这样当需要唤醒时,系统会恢复其主循环执行,而不是在深度睡眠时进行系统重置。
我在闪存里有应用程序代码。因此,基于上述选项,无OTP复制的延长睡眠模式是在不活动期间节省电源的唯一选项。
是否有任何额外的省电设置可以包含在没有OTP复制配置的扩展睡眠模式中?
您可以将数据存储到保留RAM中,以便在睡觉时保留它们。请检查一下房间SW示例:DA14585 / 586检测重置源举例说明如何做到这一点。关于最后一个问题,您不需要任何其他额外的配置。
谢谢你的好榜样,
基于这个例子,代码会针对任何重置条件的原因再次引导(NMI/硬故障/SW);
要求是不仅知道重置的原因,还要在重置之前保持GPIO的状态。
正如在前面的评论中提到的,设备在进入睡眠前保留pin的状态,但不保留pin的配置或功能。当设备唤醒时,执行periph_init()函数,以便在每次唤醒中重新配置管脚,管脚返回其默认应用程序状态。在进入睡眠状态时,如果GPIO为高电平,它将在睡眠期间保持高电平,并将在唤醒时由periph_init()函数重新配置。您必须在应用程序中了解pin的最后状态,以便在唤醒时重新应用该值。
但是,示例代码将经历重置,并且GPIO状态也将重置为零。
当做
据我所知,你想保持GPIO状态时睡觉,不是吗?
是的,
睡眠模式是深度睡眠,外部唤醒。
因此,在唤醒时,系统将经历复位,从而将GPIO设置为零(复位状态)。
据我所知,保留睡眠前的销的状态。因此,如果我理解正确,您想在SW重置后保留PIN的状态?
是,对的。SW重置后,我想保留PIN的状态。
您能否从设备启动的地方注明?来自SPI Flash的系统RAM ORE?如果它从System-RAM启动,重置后,固件将会丢失,以便您必须再次下载,可能的解决方案是将PIN的状态存储到保留RAM的未初始化区域中,并通过配置GPIO时,Periph_int中的此值。
嗨rajucoolsuraj,
请你澄清一下,并为我提供更多的投入,你想完成什么?如果我理解正确,您想进入睡眠状态,一旦设备唤醒,引脚应设置为高>或您想保持高引脚状态,而芯片处于睡眠模式?
谢谢,PM_DIALOG.
你好对话框,
睡眠是深入睡眠。
在睡眠中,PIN状态定义高/低。
在深度睡眠后唤醒,应保留销状态。
如何实现上述要求?
问候
拉朱
嗨rajucoolsuraj,
在睡眠前的销的状态,保留但不是PIN的配置或功能。当设备唤醒即将调用PeripH_Init()函数时,以便在每个唤醒中重新配置引脚,引脚返回其默认应用程序状态。因此,如果任何GPIO在睡眠前高,它会在睡眠期间保持高,并且将通过PERIPH_INIT()函数唤醒重新配置。
谢谢,PM_DIALOG.
你好对话框,
我具体提到了睡眠模式 - 深睡眠。
对于深度睡眠,代码总是在从外部中断唤醒时执行硬件重置。
我有一个要求,应该-继续/恢复代码执行从深度睡眠醒来。
我可以知道这种需求促进是否可行在深度睡眠模式中?
谢谢
问候
拉朱
嗨rajucoolsuraj,
你提到了深度睡眠模式,所以让我响起你的东西,以便理解你的要求。你烧了OTP吗?
谢谢,PM_DIALOG.
你好对话框,
我的固件在闪存里(DA14586)。
谢谢
拉朱
嗨rajucoolsuraj,
通常,当设备处于深度睡眠模式时,OTP应燃烧。但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。同样,别名之前的销钉是保留的,但不是PIN的配置或功能。
谢谢,PM_DIALOG.
你好对话框,
我可以知道如何在启用深度睡眠模式的同时从Flash执行代码吗?
如果不可能,可行的替代方案是什么?
谢谢
问候
拉朱
嗨rajucoolsuraj,
你能澄清你的问题吗?您的意思是“恢复代码执行,同时启用深度睡眠模式”?
DA14585 / 6有3种睡眠模式:
但是,通过定义cfg_development_debug宏DA1458x_config_basic.h,您可以模拟深度睡眠模式和OTP镜像到系统RAM。
在延长的睡眠模式中,可以在2种方式中唤醒Theda14585 / 6
当选择深度睡眠模式时,DA14585/6可通过1种方式唤醒:
谢谢,PM_DIALOG.
谢谢对话框,
我希望有一个SystemRAM状态保留,这样当需要唤醒时,系统会恢复其主循环执行,而不是在深度睡眠时进行系统重置。
我在闪存里有应用程序代码。因此,基于上述选项,无OTP复制的延长睡眠模式是在不活动期间节省电源的唯一选项。
是否有任何额外的省电设置可以包含在没有OTP复制配置的扩展睡眠模式中?
谢谢
问候
拉朱
嗨rajucoolsuraj,
您可以将数据存储到保留RAM中,以便在睡觉时保留它们。请检查一下房间SW示例:DA14585 / 586检测重置源举例说明如何做到这一点。关于最后一个问题,您不需要任何其他额外的配置。
谢谢,PM_DIALOG.
谢谢你的好榜样,
基于这个例子,代码会针对任何重置条件的原因再次引导(NMI/硬故障/SW);
要求是不仅知道重置的原因,还要在重置之前保持GPIO的状态。
问候
拉朱
嗨rajucoolsuraj,
正如在前面的评论中提到的,设备在进入睡眠前保留pin的状态,但不保留pin的配置或功能。当设备唤醒时,执行periph_init()函数,以便在每次唤醒中重新配置管脚,管脚返回其默认应用程序状态。在进入睡眠状态时,如果GPIO为高电平,它将在睡眠期间保持高电平,并将在唤醒时由periph_init()函数重新配置。您必须在应用程序中了解pin的最后状态,以便在唤醒时重新应用该值。
谢谢,PM_DIALOG.
但是,示例代码将经历重置,并且GPIO状态也将重置为零。
谢谢
当做
拉朱
嗨rajucoolsuraj,
据我所知,你想保持GPIO状态时睡觉,不是吗?
谢谢,PM_DIALOG.
是的,
睡眠模式是深度睡眠,外部唤醒。
因此,在唤醒时,系统将经历复位,从而将GPIO设置为零(复位状态)。
嗨rajucoolsuraj,
据我所知,保留睡眠前的销的状态。因此,如果我理解正确,您想在SW重置后保留PIN的状态?
谢谢,PM_DIALOG.
是,对的。SW重置后,我想保留PIN的状态。
谢谢
拉朱
嗨rajucoolsuraj,
您能否从设备启动的地方注明?来自SPI Flash的系统RAM ORE?如果它从System-RAM启动,重置后,固件将会丢失,以便您必须再次下载,可能的解决方案是将PIN的状态存储到保留RAM的未初始化区域中,并通过配置GPIO时,Periph_int中的此值。
谢谢,PM_DIALOG.