hi, in rt_CMSIS.c, os_initialized is defined in it
uint8_t os_initialized; // Kernel Initialized flag
when exectures osKernelInitialize(), this function called svcKernelInitialize(), the os_initialized has equaled to 1, so the RTX is not initialized. What's the problem?
osStatus svcKernelInitialize (void) { int ret; if (!os_initialized) { // Init Thread Stack Memory (must be 8-byte aligned) if ((uint32_t)os_stack_mem & 7) return osErrorNoMemory; ret = rt_init_mem(os_stack_mem, os_stack_sz); if (ret != 0) return osErrorNoMemory; rt_sys_init(); // RTX System Initialization } os_tsk.run->prio = 255; // Highest priority if (!os_initialized) { // Create OS Timers resources (Message Queue & Thread) osMessageQId_osTimerMessageQ = svcMessageCreate (&os_messageQ_def_osTimerMessageQ, NULL); osThreadId_osTimerThread = svcThreadCreate(&os_thread_def_osTimerThread, NULL); } sysThreadError(osOK); os_initialized = 1; os_running = 0; return osOK; }