lib/cmsis_rtos_v1: Fix some Kconfig inconsistencies
Fixed some Kconfig inconsistencies around THREAD_CUSTOM_DATA, POLL and NUM_PREEMPT_PRIORITIES. Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
This commit is contained in:
parent
42b6a2dd09
commit
7fdfe03ad0
3 changed files with 15 additions and 20 deletions
|
@ -6,28 +6,14 @@
|
||||||
config CMSIS_RTOS_V1
|
config CMSIS_RTOS_V1
|
||||||
bool "CMSIS RTOS v1 API"
|
bool "CMSIS RTOS v1 API"
|
||||||
default n
|
default n
|
||||||
|
depends on THREAD_CUSTOM_DATA
|
||||||
|
depends on POLL
|
||||||
help
|
help
|
||||||
This enables CMSIS RTOS v1 API support. This is an OS-integration
|
This enables CMSIS RTOS v1 API support. This is an OS-integration
|
||||||
layer which allows applications using CMSIS RTOS APIs to build on
|
layer which allows applications using CMSIS RTOS APIs to build on
|
||||||
Zephyr.
|
Zephyr.
|
||||||
|
|
||||||
if CMSIS_RTOS_V1
|
if CMSIS_RTOS_V1
|
||||||
config THREAD_CUSTOM_DATA
|
|
||||||
bool "Thread custom data"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
This option allows each thread to store 32 bits of custom data,
|
|
||||||
which can be accessed using the k_thread_custom_data_xxx() APIs.
|
|
||||||
|
|
||||||
config POLL
|
|
||||||
bool "Async I/O Framework"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Asynchronous notification framework. Enable the k_poll() and
|
|
||||||
k_poll_signal() APIs. The former can wait on multiple events
|
|
||||||
concurrently, which can be either directly triggered or triggered by
|
|
||||||
the availability of some kernel objects (semaphores and fifos).
|
|
||||||
|
|
||||||
config CMSIS_MAX_THREAD_COUNT
|
config CMSIS_MAX_THREAD_COUNT
|
||||||
int "Maximum thread count in CMSIS RTOS application"
|
int "Maximum thread count in CMSIS RTOS application"
|
||||||
default 10
|
default 10
|
||||||
|
@ -63,8 +49,4 @@ config CMSIS_SEMAPHORE_MAX_COUNT
|
||||||
range 0 255
|
range 0 255
|
||||||
help
|
help
|
||||||
Mention maximum number of semaphores in CMSIS compliant application.
|
Mention maximum number of semaphores in CMSIS compliant application.
|
||||||
|
|
||||||
config NUM_PREEMPT_PRIORITIES
|
|
||||||
int
|
|
||||||
default 7
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
#include <atomic.h>
|
#include <atomic.h>
|
||||||
#include <cmsis_os.h>
|
#include <cmsis_os.h>
|
||||||
|
|
||||||
|
#define TOTAL_CMSIS_THREAD_PRIORITIES (osPriorityRealtime - osPriorityIdle + 1)
|
||||||
|
|
||||||
static inline int _is_thread_cmsis_inactive(struct k_thread *thread)
|
static inline int _is_thread_cmsis_inactive(struct k_thread *thread)
|
||||||
{
|
{
|
||||||
u8_t state = thread->base.thread_state;
|
u8_t state = thread->base.thread_state;
|
||||||
|
@ -49,6 +51,11 @@ osThreadId osThreadCreate(const osThreadDef_t *thread_def, void *arg)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BUILD_ASSERT_MSG(
|
||||||
|
CONFIG_NUM_PREEMPT_PRIORITIES >= TOTAL_CMSIS_THREAD_PRIORITIES,
|
||||||
|
"Configure NUM_PREEMPT_PRIORITIES to at least"
|
||||||
|
" TOTAL_CMSIS_THREAD_PRIORITIES");
|
||||||
|
|
||||||
__ASSERT(thread_def->stacksize <= CONFIG_CMSIS_THREAD_MAX_STACK_SIZE,
|
__ASSERT(thread_def->stacksize <= CONFIG_CMSIS_THREAD_MAX_STACK_SIZE,
|
||||||
"invalid stack size\n");
|
"invalid stack size\n");
|
||||||
|
|
||||||
|
@ -56,6 +63,10 @@ osThreadId osThreadCreate(const osThreadDef_t *thread_def, void *arg)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__ASSERT((thread_def->tpriority >= osPriorityIdle) &&
|
||||||
|
(thread_def->tpriority <= osPriorityRealtime),
|
||||||
|
"invalid priority\n");
|
||||||
|
|
||||||
stacksz = thread_def->stacksize;
|
stacksz = thread_def->stacksize;
|
||||||
if (stacksz == 0) {
|
if (stacksz == 0) {
|
||||||
stacksz = CONFIG_CMSIS_THREAD_MAX_STACK_SIZE;
|
stacksz = CONFIG_CMSIS_THREAD_MAX_STACK_SIZE;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
CONFIG_ZTEST=y
|
CONFIG_ZTEST=y
|
||||||
|
CONFIG_THREAD_CUSTOM_DATA=y
|
||||||
|
CONFIG_POLL=y
|
||||||
CONFIG_CMSIS_RTOS_V1=y
|
CONFIG_CMSIS_RTOS_V1=y
|
||||||
CONFIG_IRQ_OFFLOAD=y
|
CONFIG_IRQ_OFFLOAD=y
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue