你好,
我们建立了一种使用I2C连接到音频DSP的DA14580的产品。DA14580以升压模式运行。它在外围角色中运行SPS服务的修改版本。
在正常操作期间,我们使用延长睡眠,一切都完美地工作。当电池电压降至低于阈值时,我需要将DA14580放入深睡眠中,使得音频DSP尽可能长地运行。在深度睡眠中重启(设置为30秒)时,设备首先检查电池电压并返回深睡眠或再次启动正常操作。
这也是令人满意的,但只有我漠视检查Arch_main-> BLE_VALIDATE_SLEEP_MODE()中的ke_mem_is_empty(ke_mem_non_retention)。
if((sleep_mode == mode_deep_sleep))// && ke_mem_is_empty(ke_mem_non_retention)){func_check_mem_flag = 1; // true;leels sleep_mode = mode_ext_sleep;
我想知道我能做些什么来解决这个问题,如果有必要。
我的应用程序代码没有存储在保留RAM中的数据。此外,事实证明,该应用程序无法使用MemoryMap工具建议的内存设置正常运行。我必须增加一些值,如下所示:
#define reinit_descript_buf 0 // 0:保持在逆行状态,1:re-init需要(使用延长睡眠时设置为0)#define use_memory_map deep_sleep_setup #define db_heap_sz 1524 // 1024 #define env_heap_sz 328 #define msg_heap_sz 1940 //1312 #define non_ret_heap_sz 1024
提前致谢,
sand
---------
设备:
嗨Sandeep,
非常感谢您的问题。我们将直接支持您的问题。
谢谢,PM_DIALOG.