zephyr/lib/cmsis_rtos_v1/cmsis_kernel.c

47 lines
716 B
C

/*
* Copyright (c) 2018 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <kernel_structs.h>
#include <cmsis_os.h>
#include <ksched.h>
extern const k_tid_t _main_thread;
/**
* @brief Get the RTOS kernel system timer counter
*/
uint32_t osKernelSysTick(void)
{
return k_cycle_get_32();
}
/**
* @brief Initialize the RTOS Kernel for creating objects.
*/
osStatus osKernelInitialize(void)
{
return osOK;
}
/**
* @brief Start the RTOS Kernel.
*/
osStatus osKernelStart(void)
{
if (_is_in_isr()) {
return osErrorISR;
}
return osOK;
}
/**
* @brief Check if the RTOS kernel is already started.
*/
int32_t osKernelRunning(void)
{
return _has_thread_started(_main_thread);
}