Arm处理器在延长睡眠模式。

5 posts / 0 new
Last post
chungtran
Offline
Last seen:4 years 11 months ago
加入:2015-01-21 05:57
Arm处理器在延长睡眠模式。

Hi DA team,

Regard to your DSPS reference design, I am having a question that Does Arm processor stop when DA go to Extended sleep mode? I have already look at main function but I can not find out where you have halted the Arm processor in source code. Another question that Where does BLE timer place? Is it belong to software timer or wakeup timer? In DA datasheet, I did not see anything talk about this timer.

Thanks,

Chung Tran.

Device:
MT_dialog
Offline
Last seen:3 weeks 6 days ago
Staff
加入:2015-06-08 11:34
Hi chungtran,

Hi chungtran,

Regardless of the application when the da goes to extended sleep or deep sleep the proccessor is halted, please have a look at the doc UM-B-006. The ARM is going into the halted state by the use of WFI() command. The BLE timer is a hardware timer and its part of the BLE core.

Thanks MT_dialog

chungtran
Offline
Last seen:4 years 11 months ago
加入:2015-01-21 05:57
Hi MT_dialog,

Hi MT_dialog,

Thanks for your answer ! Could you tell me where did you put other domains as the radio, the peripheral and Clock blocks ,etc go to sleep mode in DSPS source code ? Is it in main loop ?

Regards,

ChungTran.

MT_dialog
Offline
Last seen:3 weeks 6 days ago
Staff
加入:2015-06-08 11:34
Hi chungtran,

Hi chungtran,

Regardless the application, the power down of the domains is happening in the main loop工程r thethe app_asynch_sleep_proc() function.

Thanks MT_dialog

chungtran
Offline
Last seen:4 years 11 months ago
加入:2015-01-21 05:57
Hi MT_Dialog,

Hi MT_Dialog,

Thanks for your answer! In main loop I have seen a code block which I did not understand :

if (jump_table_struct[nb_links_user] > 1)
{
if( (sleep_mode == mode_deep_sleep) && func_check_mem() && test_rxdone() && ke_mem_is_empty(KE_MEM_NON_RETENTION) )
{
func_check_mem_flag = 2;//true;
}
else
sleep_mode = mode_ext_sleep;
}
else
{
if( (sleep_mode == mode_deep_sleep) && ke_mem_is_empty(KE_MEM_NON_RETENTION) )
{
func_check_mem_flag = 1;//true;
}
else
sleep_mode = mode_ext_sleep;
}

Could you explain about " Do descriptors and non-ret heap checks " ?

Regards,

ChungTran.