关于LVGL低功耗,唤醒后崩溃了
-
void app_enter_sleep_handler(void)
{
if(g_group!=NULL)
{
lv_group_remove_all_objs(g_group);
}
if(prj_parent_cont!=NULL)
{
lv_obj_clean(prj_parent_cont);} lv_obj_add_flag(prj_parent_cont,LV_OBJ_FLAG_HIDDEN);// ui_clear_all();
// at_send_rsp((char *)"<mAp>");
// laser_state = 0;
pmu_ioldosw_ctrl(false);
os_timer_stop(&lv_schedule_timer);
stop_encoder_timer();
timer_stop(Timer0);
NVIC_DisableIRQ(TIMER0_IRQn);
wakeup_gpio_cfg();//config wakeup io handler
//sys_sleep_gpio();
}
void app_exit_sleep_handler(void)
{
system_sleep_disable();
printf("1");
clear_sleep_record_time();
pmu_port_wakeup_func_clear(GPIO_PORT_D,(1<<GPIO_BIT_0));
// pmu_port_wakeup_func_clear(GPIO_PORT_D,(1<<GPIO_BIT_3));
printf("2");
pmu_ioldosw_ctrl(true);
__SYSTEM_GPIO_CLK_ENABLE();
system_regs->mdm_qspi_cfg.qspi_ref_128m_en = 1; // configure qspi reference clock to 128MHz
system_regs->mdm_qspi_cfg.qspi_ref_clk_sel = 1; // qspi is used for internal flash, set its reference clock to 96MHz
system_set_internal_flash_clock_div(0);
// configure PSRAM pin and init PSRAM
system_set_port_mux(GPIO_PORT_C, GPIO_BIT_0, PORTC0_FUNC_QSPI0_IO3);
system_set_port_mux(GPIO_PORT_C, GPIO_BIT_1, PORTC1_FUNC_QSPI0_SCLK0);
system_set_port_mux(GPIO_PORT_C, GPIO_BIT_2, PORTC2_FUNC_QSPI0_CSN0);
system_set_port_mux(GPIO_PORT_C, GPIO_BIT_3, PORTC3_FUNC_QSPI0_IO1);
system_set_port_mux(GPIO_PORT_C, GPIO_BIT_4, PORTC4_FUNC_QSPI0_IO2);
system_set_port_mux(GPIO_PORT_C, GPIO_BIT_5, PORTC5_FUNC_QSPI0_IO0);
psram_init();printf("3"); sensor_iic_init();// at_load_info_from_flash();
get_gain();
// User task initialization, for buttons.
// user_task_init();
uart0_init(115200);
uart1_init(9600);
led_init();
curr_img_id=0;
funflag = QINGJIAO_F;
ledflag = 3;// gui_main();
display_init();
printf("4");printf("5"); printf("5a1 coords.x1=%d\n", prj_parent_cont->coords.x1); prj_prev_cont = lv_obj_create(prj_parent_cont); printf("6"); knob_home_page_entry(prj_prev_cont); printf("7"); lv_obj_clear_flag(prj_parent_cont,LV_OBJ_FLAG_HIDDEN); printf("app_exit_sleep_handler %d\r\n",os_get_free_heap_size()); input_encoder_init(); __SYSTEM_TIMER_CLK_ENABLE(); timer_init(Timer0, system_get_clock_config()*500*LV_TICK_COUNT, TIMER_DIV_NONE); timer_start(Timer0); NVIC_SetPriority(TIMER0_IRQn, 5); NVIC_EnableIRQ(TIMER0_IRQn); os_timer_start(&lv_schedule_timer, 10, true);}
唤醒时再prj_prev_cont = lv_obj_create(prj_parent_cont);这里奔溃了。

这是什么原因,该怎么解决?