u32 bsp_cpu_swt_set(u32 set_swt,u32 period) { u32 ret = BSP_OK; if(BSP_SYSVIEW_SWT_ON == set_swt) { if(cpu_info_stru.loop_timer.init_flags == TIMER_INIT_FLAG ) { bsp_om_stop_timer(&cpu_info_stru.loop_timer); bsp_softtimer_modify(&cpu_info_stru.loop_timer,period*1000); bsp_softtimer_add(&cpu_info_stru.loop_timer); /* 初始化计数信息*/ get_task_time(0); ret = BSP_OK; } else { ret = (u32)bsp_om_start_timer(period,cpu_timeout_done , 0, &(cpu_info_stru.loop_timer)); if(ret == BSP_OK) { /* 初始化计数信息*/ get_task_time(0); ret = BSP_OK; } else { ret = (u32)BSP_ERROR; } } } else { if(cpu_info_stru.loop_timer.init_flags == TIMER_INIT_FLAG ) { ret = (u32)bsp_om_stop_timer(&cpu_info_stru.loop_timer); } else { ret = BSP_OK; } /*去 初始化计数信息*/ get_task_time(1); } if(BSP_OK != ret) { return ret; } cpu_info_stru.report_swt = set_swt; cpu_info_stru.report_timer_len = period; return BSP_OK; }
void cpu_task_test(u32 secends) { g_cpu_task_taet = secends*32*1024; get_task_time(0); msleep(secends *1000); get_task_time(1); report_cpu_trace(); }
void cpu_task_test(u32 secends) { g_cpu_task_taet = secends*32*1024; get_task_time(0); taskDelay((int)(secends*100)); get_task_time(1); report_cpu_trace(); }
void cpu_timeout_done(void) { get_task_time(1); if(cpu_info_stru.report_swt == BSP_SYSVIEW_SWT_ON) { if( TRUE == bsp_om_get_hso_conn_flag()) { report_cpu_trace(); } get_task_time(0); bsp_softtimer_add(&cpu_info_stru.loop_timer); } }