Hi Dialog,
I would like implement deep sleep on DA14585 and follow the document "Training_04_Sleep mode configurations and power measurement_0".
1.添加弧h_set_deep_sleep(1); to static void app_button_press_cb(void) function on user_proxr.c
2. modify static const sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_OTP_COPY_ON; on user_config.h
3. undefine #undef CFG_DEVELOPMENT_DEBUG on da1458x_config_basic.h
4. define #define CFG_CODE_LOCATION_OTP on da1458x_config_advanced.h
5. define #define CFG_EXT_INT_WAKEUP_DEEP_SLEEP on user_proxr.h
Built the firmware and burn to OTP.
The module can't enter sleep mode.
Could you get me some suggestion to implement this?
Thank you.
Device:
嗨,珍,
Do youprogram the DMA length in OTP header? Please export the OTP header and upload it for me.
BR
CYibin
Hi CYibin,
OTP header change Application Programmed Flag #1 and Application Programmed Flag #2 from No to Yes
OTP size is 64K change OTP DMA length to 3E80
The header file is attched.
Thank you,
Jean
嗨,珍,
Some fields in the OTP Header marked with caution mark and they are fields that user should not change their value or else there is great risk of destroying the chip. Program will warn user if he is going to change the value of such fields. So, I would strongly suggest you to not modify this field. Since you programmed the OTP, could you please check if your device boots correctly and starts advertising as expected? Which SDK and which development board are you using? You mentioned that your device does not enter the deep sleep, how are you testing that? You should press the button on P1_1 if you would like to enter the deep sleep. The arch_set_deep_sleep() is executed when the app_button_press_cb() is triggered.
Thanks, PM_Dialog