关闭DA14531MOD的SPI flash

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
innovativepower
离线
最后看到:4个月1个星期前
加入:2020-09-07 17:16
关闭DA14531MOD的SPI flash

你好,

最近我拿到了DA14531MOD低功耗,符合数据表中指定的电流消耗。很长一段时间以来,我尝试的每个示例在深度睡眠和休眠模式下的当前消耗大约是10uA。原来,内部SPI flash在进入睡眠或休眠时没有关闭,据我所知,实际上没有关于这方面的任何文档。现在我正在使用一个肮脏的修复,把spi_flash_power_down()函数放在arch_set_deep_sleep()和arch_goto_sleep()函数的某处。这样,即使在广告之间,hibernation_mode示例代码的功耗也很低,而且仍然可以正常工作。
然而,最终我想让ble_app_sleepmode示例代码低功耗,但通过复制上面描述的修复,我无法关闭flash。改变sdk中的代码也是我不喜欢的,因为你将不能很容易地更新它,你可以破坏其他东西。

有没有一种方法可以在不修改sdk的情况下关闭DA14531MOD上的flash,但仍然有所有的代码存储在flash上?或者已经有一些类似ble_app_sleepmode的例子,但是在广告之间关闭flash ?

谢谢,
马丁

PM_Dialog
离线
最后看到:5天21小时前
工作人员
加入:2018-02-08 11:03
嗨innovativepower,

嗨innovativepower,

SDK的ble_app_sleepmode示例在发布或连接间隔之间使用扩展睡眠模式。当应用程序代码存储到Flash时,代码被复制到System-RAM中,并从那里启动。因此,您可以在user_app_on_init()或app_advertise_complete()回调函数中调用spi_flash_power_down()。不需要修改SDK文件。所有的实现都应该在用户应用程序文件中。

谢谢,PM_Dialog

innovativepower
离线
最后看到:4个月1个星期前
加入:2020-09-07 17:16
你好,

你好,

谢谢你的回答。在hibernation_mode示例中,将spi_flash_power_down()函数放在user_app_on_init()中可以立即工作,但在ble_app_sleepmode示例中则不能。为了解决这个问题,我将flash的初始化从休眠示例复制到ble_app_sleepmode,现在它工作正常了。

谢谢,
马丁

PM_Dialog
离线
最后看到:5天21小时前
工作人员
加入:2018-02-08 11:03
嗨innovativepower,

嗨innovativepower,

很高兴你能把闪光灯断电,谢谢你的指示。如果您有任何后续问题,请提出一个新的论坛帖子。

谢谢,PM_Dialog