Hello. I'm working with a project that is a derivative of the DSPS project (the older version 3.150.2 was our starting point). We have the application working on both the Dialog Basic board and our custom target board.
For our debugging and development thus far, we've had sleep disabled (both EXT and DEEP) in da14580_config.h.
现在我们想启用睡眠to save power. However, when I do enable sleep (#define CFG_EXT_SLEEP), I can't see my Dialog peripheral via Light Blue (iPhone), whereas with no sleep, I see my peripheral just fine.
We have used the __attribute__((section("retention_mem_area0"),zero_init)) declaration for all of our variables that we think need to be non-volatile, but we may have missed something, which might be the cause of our problems.
Because it doesn't seem possible to debug in Keil with extended sleep mode enabled, how do I go about debugging my application? Any help you could provide would be great. Thanks.
Hi joe.brackman,
Unfortunatelly there is no way to debug an application when sleep mode is enabled, what you can do is debug via UART, print messages and check if the application goes through the handlers when the device is configured, etc. Also the advertising command and the setting of the database should be set before the application goes to sleep so you must be able to get those procedures with the debugger and check if the program goes through those functions. A possible reason for that kind of behaviour would be a wrong low power clock source. Make sure that in the da14580_config.h the CFG_LP_CLK has the proper setting 0x00 for XTAL32 (default setting of the SDK) and 0xAA for the internal RCX20. In case you dont have an XTAL32 and the definition has 0x00 the system will not operate under sleep mode, so please have a look at that configuration first.
Thanks MT_dialog
That's a helpful reply. Thanks, MT!