RTOS abstraction layer (CMX-RTX) More...
#include <stdio.h>
#include <stdlib.h>
#include "os_port.h"
#include "os_port_cmx_rtx.h"
#include "debug.h"
Go to the source code of this file.
Macros | |
#define | TRACE_LEVEL TRACE_LEVEL_OFF |
Functions | |
uint8_t | osAllocateSemaphoreId (void) |
Allocate a new semaphore identifier. More... | |
void | osFreeSemaphoreId (uint8_t id) |
Release semaphore identifier. More... | |
void | osInitKernel (void) |
Kernel initialization. More... | |
void | osStartKernel (void) |
Start kernel. More... | |
OsTaskId | osCreateTask (const char_t *name, OsTaskCode taskCode, void *arg, const OsTaskParameters *params) |
Create a task. More... | |
void | osDeleteTask (OsTaskId taskId) |
Delete a task. More... | |
void | osDelayTask (systime_t delay) |
Delay routine. More... | |
void | osSwitchTask (void) |
Yield control to the next task. More... | |
void | osSuspendAllTasks (void) |
Suspend scheduler activity. More... | |
void | osResumeAllTasks (void) |
Resume scheduler activity. More... | |
bool_t | osCreateEvent (OsEvent *event) |
Create an event object. More... | |
void | osDeleteEvent (OsEvent *event) |
Delete an event object. More... | |
void | osSetEvent (OsEvent *event) |
Set the specified event object to the signaled state. More... | |
void | osResetEvent (OsEvent *event) |
Set the specified event object to the nonsignaled state. More... | |
bool_t | osWaitForEvent (OsEvent *event, systime_t timeout) |
Wait until the specified event is in the signaled state. More... | |
bool_t | osSetEventFromIsr (OsEvent *event) |
Set an event object to the signaled state from an interrupt service routine. More... | |
bool_t | osCreateSemaphore (OsSemaphore *semaphore, uint_t count) |
Create a semaphore object. More... | |
void | osDeleteSemaphore (OsSemaphore *semaphore) |
Delete a semaphore object. More... | |
bool_t | osWaitForSemaphore (OsSemaphore *semaphore, systime_t timeout) |
Wait for the specified semaphore to be available. More... | |
void | osReleaseSemaphore (OsSemaphore *semaphore) |
Release the specified semaphore object. More... | |
bool_t | osCreateMutex (OsMutex *mutex) |
Create a mutex object. More... | |
void | osDeleteMutex (OsMutex *mutex) |
Delete a mutex object. More... | |
void | osAcquireMutex (OsMutex *mutex) |
Acquire ownership of the specified mutex object. More... | |
void | osReleaseMutex (OsMutex *mutex) |
Release ownership of the specified mutex object. More... | |
systime_t | osGetSystemTime (void) |
Retrieve system time. More... | |
__weak_func void * | osAllocMem (size_t size) |
Allocate a memory block. More... | |
__weak_func void | osFreeMem (void *p) |
Release a previously allocated memory block. More... | |
Variables | |
const OsTaskParameters | OS_TASK_DEFAULT_PARAMS |
Detailed Description
RTOS abstraction layer (CMX-RTX)
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.4.4
Definition in file os_port_cmx_rtx.c.
Macro Definition Documentation
◆ TRACE_LEVEL
#define TRACE_LEVEL TRACE_LEVEL_OFF |
Definition at line 30 of file os_port_cmx_rtx.c.
Function Documentation
◆ osAcquireMutex()
void osAcquireMutex | ( | OsMutex * | mutex | ) |
Acquire ownership of the specified mutex object.
- Parameters
-
[in] mutex Pointer to the mutex object
Definition at line 570 of file os_port_cmx_rtx.c.
◆ osAllocateSemaphoreId()
uint8_t osAllocateSemaphoreId | ( | void | ) |
Allocate a new semaphore identifier.
- Returns
- Semaphore identifier
Definition at line 57 of file os_port_cmx_rtx.c.
◆ osAllocMem()
__weak_func void* osAllocMem | ( | size_t | size | ) |
Allocate a memory block.
- Parameters
-
[in] size Bytes to allocate
- Returns
- A pointer to the allocated memory block or NULL if there is insufficient memory available
Definition at line 613 of file os_port_cmx_rtx.c.
◆ osCreateEvent()
Create an event object.
- Parameters
-
[in] event Pointer to the event object
- Returns
- The function returns TRUE if the event object was successfully created. Otherwise, FALSE is returned
Definition at line 269 of file os_port_cmx_rtx.c.
◆ osCreateMutex()
Create a mutex object.
- Parameters
-
[in] mutex Pointer to the mutex object
- Returns
- The function returns TRUE if the mutex was successfully created. Otherwise, FALSE is returned
Definition at line 515 of file os_port_cmx_rtx.c.
◆ osCreateSemaphore()
bool_t osCreateSemaphore | ( | OsSemaphore * | semaphore, |
uint_t | count | ||
) |
Create a semaphore object.
- Parameters
-
[in] semaphore Pointer to the semaphore object [in] count The maximum count for the semaphore object. This value must be greater than zero
- Returns
- The function returns TRUE if the semaphore was successfully created. Otherwise, FALSE is returned
Definition at line 412 of file os_port_cmx_rtx.c.
◆ osCreateTask()
OsTaskId osCreateTask | ( | const char_t * | name, |
OsTaskCode | taskCode, | ||
void * | arg, | ||
const OsTaskParameters * | params | ||
) |
Create a task.
- Parameters
-
[in] name NULL-terminated string identifying the task [in] taskCode Pointer to the task entry function [in] arg Argument passed to the task function [in] params Task parameters
- Returns
- Task identifier referencing the newly created task
Definition at line 144 of file os_port_cmx_rtx.c.
◆ osDelayTask()
void osDelayTask | ( | systime_t | delay | ) |
Delay routine.
- Parameters
-
[in] delay Amount of time for which the calling task should block
Definition at line 222 of file os_port_cmx_rtx.c.
◆ osDeleteEvent()
void osDeleteEvent | ( | OsEvent * | event | ) |
Delete an event object.
- Parameters
-
[in] event Pointer to the event object
Definition at line 305 of file os_port_cmx_rtx.c.
◆ osDeleteMutex()
void osDeleteMutex | ( | OsMutex * | mutex | ) |
Delete a mutex object.
- Parameters
-
[in] mutex Pointer to the mutex object
Definition at line 558 of file os_port_cmx_rtx.c.
◆ osDeleteSemaphore()
void osDeleteSemaphore | ( | OsSemaphore * | semaphore | ) |
Delete a semaphore object.
- Parameters
-
[in] semaphore Pointer to the semaphore object
Definition at line 448 of file os_port_cmx_rtx.c.
◆ osDeleteTask()
void osDeleteTask | ( | OsTaskId | taskId | ) |
Delete a task.
- Parameters
-
[in] taskId Task identifier referencing the task to be deleted
Definition at line 203 of file os_port_cmx_rtx.c.
◆ osFreeMem()
__weak_func void osFreeMem | ( | void * | p | ) |
Release a previously allocated memory block.
- Parameters
-
[in] p Previously allocated memory block to be freed
Definition at line 638 of file os_port_cmx_rtx.c.
◆ osFreeSemaphoreId()
void osFreeSemaphoreId | ( | uint8_t | id | ) |
Release semaphore identifier.
- Parameters
-
[in] id Semaphore identifier to be released
Definition at line 94 of file os_port_cmx_rtx.c.
◆ osGetSystemTime()
systime_t osGetSystemTime | ( | void | ) |
Retrieve system time.
- Returns
- Number of milliseconds elapsed since the system was last started
Definition at line 594 of file os_port_cmx_rtx.c.
◆ osInitKernel()
void osInitKernel | ( | void | ) |
Kernel initialization.
Definition at line 115 of file os_port_cmx_rtx.c.
◆ osReleaseMutex()
void osReleaseMutex | ( | OsMutex * | mutex | ) |
Release ownership of the specified mutex object.
- Parameters
-
[in] mutex Pointer to the mutex object
Definition at line 582 of file os_port_cmx_rtx.c.
◆ osReleaseSemaphore()
void osReleaseSemaphore | ( | OsSemaphore * | semaphore | ) |
Release the specified semaphore object.
- Parameters
-
[in] semaphore Pointer to the semaphore object
Definition at line 501 of file os_port_cmx_rtx.c.
◆ osResetEvent()
void osResetEvent | ( | OsEvent * | event | ) |
Set the specified event object to the nonsignaled state.
- Parameters
-
[in] event Pointer to the event object
Definition at line 329 of file os_port_cmx_rtx.c.
◆ osResumeAllTasks()
void osResumeAllTasks | ( | void | ) |
Resume scheduler activity.
Definition at line 255 of file os_port_cmx_rtx.c.
◆ osSetEvent()
void osSetEvent | ( | OsEvent * | event | ) |
Set the specified event object to the signaled state.
- Parameters
-
[in] event Pointer to the event object
Definition at line 317 of file os_port_cmx_rtx.c.
◆ osSetEventFromIsr()
Set an event object to the signaled state from an interrupt service routine.
- Parameters
-
[in] event Pointer to the event object
- Returns
- TRUE if setting the event to signaled state caused a task to unblock and the unblocked task has a priority higher than the currently running task
Definition at line 393 of file os_port_cmx_rtx.c.
◆ osStartKernel()
void osStartKernel | ( | void | ) |
Start kernel.
Definition at line 128 of file os_port_cmx_rtx.c.
◆ osSuspendAllTasks()
void osSuspendAllTasks | ( | void | ) |
Suspend scheduler activity.
Definition at line 244 of file os_port_cmx_rtx.c.
◆ osSwitchTask()
void osSwitchTask | ( | void | ) |
Yield control to the next task.
Definition at line 233 of file os_port_cmx_rtx.c.
◆ osWaitForEvent()
Wait until the specified event is in the signaled state.
- Parameters
-
[in] event Pointer to the event object [in] timeout Timeout interval
- Returns
- The function returns TRUE if the state of the specified object is signaled. FALSE is returned if the timeout interval elapsed
Definition at line 352 of file os_port_cmx_rtx.c.
◆ osWaitForSemaphore()
bool_t osWaitForSemaphore | ( | OsSemaphore * | semaphore, |
systime_t | timeout | ||
) |
Wait for the specified semaphore to be available.
- Parameters
-
[in] semaphore Pointer to the semaphore object [in] timeout Timeout interval
- Returns
- The function returns TRUE if the semaphore is available. FALSE is returned if the timeout interval elapsed
Definition at line 463 of file os_port_cmx_rtx.c.
Variable Documentation
◆ OS_TASK_DEFAULT_PARAMS
const OsTaskParameters OS_TASK_DEFAULT_PARAMS |
Definition at line 43 of file os_port_cmx_rtx.c.