void cpu_usage_stats_start(void) { /* create a statistic task to calculate cpu usage */ krhino_task_create(&g_cpu_usage_task, "cpu_stats", 0, RHINO_CONFIG_CPU_USAGE_TASK_PRI, 0, g_cpu_task_stack, RHINO_CONFIG_CPU_USAGE_TASK_STACK, cpu_usage_task_entry, 1); }
kstat_t krhino_init(void) { g_sys_stat = RHINO_STOPPED; #if (RHINO_CONFIG_USER_HOOK > 0) krhino_init_hook(); #endif runqueue_init(&g_ready_queue); tick_list_init(); #if (RHINO_CONFIG_SYSTEM_STATS > 0) kobj_list_init(); #endif #if (RHINO_CONFIG_MM_TLF > 0) k_mm_init(); #endif #if (RHINO_CONFIG_KOBJ_DYN_ALLOC > 0) klist_init(&g_res_list); krhino_sem_create(&g_res_sem, "res_sem", 0); dyn_mem_proc_task_start(); #endif #if (RHINO_CONFIG_CPU_NUM > 1) for (uint8_t i = 0; i < RHINO_CONFIG_CPU_NUM; i++) { krhino_task_cpu_create(&g_idle_task[i], "idle_task", NULL, RHINO_IDLE_PRI, 0, &g_idle_task_stack[i][0], RHINO_CONFIG_IDLE_TASK_STACK_SIZE, idle_task, i, 1u); } #else krhino_task_create(&g_idle_task[0], "idle_task", NULL, RHINO_IDLE_PRI, 0, &g_idle_task_stack[0][0], RHINO_CONFIG_IDLE_TASK_STACK_SIZE, idle_task, 1u); #endif #if (RHINO_CONFIG_WORKQUEUE > 0) workqueue_init(); #endif #if (RHINO_CONFIG_TIMER > 0) ktimer_init(); #endif #if (RHINO_CONFIG_CPU_USAGE_STATS > 0) cpu_usage_stats_start(); #endif rhino_stack_check_init(); return RHINO_SUCCESS; }
int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART4_UART_Init(); /* USER CODE BEGIN 2 */ aos_init(); krhino_task_create(&demo_task_obj, "aos app", 0,DEMO_TASK_PRIORITY, 50, demo_task_buf, DEMO_TASK_STACKSIZE, application_start, 1); aos_start(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ }
int main(void) { krhino_init(); #ifdef CONFIG_AOS_CLI extern int aos_cli_init(void); aos_cli_init(); #endif krhino_task_create(&demo_task_obj, "demo_task", 0,DEMO_TASK_PRIORITY, 50, demo_task_buf, DEMO_TASK_STACKSIZE, demo_task_3, 1); krhino_start(); return 0; }