CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
Loading...
Searching...
No Matches
FreeRTOS.h File Reference

FreeRTOS porting layer. More...

#include "cdefs.h"
#include <assert.h>
#include <stdint.h>
#include <tick_macros.h>
#include <timeout.h>
#include "event_groups.h"
#include "queue.h"
#include "stream_buffer.h"
#include "task.h"

Go to the source code of this file.

Macros

#define pdMS_TO_TICKS(x)
#define INC_FREERTOS_H
 Guard macro.
#define PRIVILEGED_FUNCTION
 Macro used to define a privileged function.
#define pdFREERTOS_LITTLE_ENDIAN   0
 Value used to indicate a little-endian system.
#define pdFREERTOS_BIG_ENDIAN   1
 Value used to indicate a big-endian system.
#define pdFALSE   ((BaseType_t)0)
 FreeRTOS definition of false.
#define pdTRUE   ((BaseType_t)1)
 FreeRTOS definition of true.
#define pdFAIL   pdFALSE
 FreeRTOS definition indicating failure.
#define pdPASS   pdTRUE
 FreeRTOS definition indicating success.
#define configASSERT(x)
#define configTICK_RATE_HZ   TICK_RATE_HZ
#define portMAX_DELAY   UINT32_MAX
#define portTICK_PERIOD_MS   MS_PER_TICK
#define traceENTER_vListInitialise(...)
#define traceRETURN_vListInitialise(...)
#define traceENTER_vListInitialiseItem(...)
#define traceRETURN_vListInitialiseItem(...)
#define traceENTER_vListInsertEnd(...)
#define traceRETURN_vListInsertEnd(...)
#define mtCOVERAGE_TEST_DELAY()
#define mtCOVERAGE_TEST_MARKER()
#define traceENTER_vListInsert(...)
#define traceRETURN_vListInsert(...)
#define traceENTER_uxListRemove(...)
#define traceRETURN_uxListRemove(...)

Typedefs

typedef Ticks TickType_t
 FreeRTOS type for durations expressed in ticks.
typedef int32_t BaseType_t
 FreeRTOS default signed integer type.
typedef uint32_t UBaseType_t
 FreeRTOS default unsigned integer type.
typedef uint16_t TaskHandle_t
 FreeRTOS type representing a task handle, mapped to a thread ID in CHERIoT RTOS.
typedef uint64_t TimeOut_t
 FreeRTOS type for a duration expressed in large numbers of ticks.

Detailed Description

FreeRTOS porting layer.

This file defines the top-level include for FreeRTOS. FreeRTOS supports including either this file, or the individual headers that this includes. The individual API families (event groups, queues, streams) are exposed in headers matching their FreeRTOS counterparts.

Definition in file FreeRTOS.h.

Macro Definition Documentation

◆ configASSERT

#define configASSERT ( x)
Value:
((x) ? ((void)0) \
: (printf("Assertion failure in %s() %s:%d: %s\n", \
__func__, \
__FILE_NAME__, \
__LINE__, \
#x), \
panic(), \
(void)0))

Definition at line 73 of file FreeRTOS.h.

◆ configTICK_RATE_HZ

#define configTICK_RATE_HZ   TICK_RATE_HZ

Definition at line 84 of file FreeRTOS.h.

◆ INC_FREERTOS_H

#define INC_FREERTOS_H

Guard macro.

Checked in other headers, CHERIoT RTOS prefers #pragma once for include guards and avoids header dependency orders.

Definition at line 24 of file FreeRTOS.h.

◆ mtCOVERAGE_TEST_DELAY

#define mtCOVERAGE_TEST_DELAY ( )
Value:
do \
{ \
} while (0)

Definition at line 131 of file FreeRTOS.h.

◆ mtCOVERAGE_TEST_MARKER

#define mtCOVERAGE_TEST_MARKER ( )
Value:
do \
{ \
} while (0)

Definition at line 138 of file FreeRTOS.h.

◆ pdFAIL

#define pdFAIL   pdFALSE

FreeRTOS definition indicating failure.

Definition at line 57 of file FreeRTOS.h.

◆ pdFALSE

#define pdFALSE   ((BaseType_t)0)

FreeRTOS definition of false.

Definition at line 48 of file FreeRTOS.h.

Referenced by xQueueSendToBackFromISR(), xStreamBufferSetTriggerLevel(), and xTaskCheckForTimeOut().

◆ pdFREERTOS_BIG_ENDIAN

#define pdFREERTOS_BIG_ENDIAN   1

Value used to indicate a big-endian system.

pdFREERTOS_LITTLE_ENDIAN and pdFREERTOS_BIG_ENDIAN form an enumeration but are exposed in FreeRTOS as macros with integer values.

Definition at line 43 of file FreeRTOS.h.

◆ pdFREERTOS_LITTLE_ENDIAN

#define pdFREERTOS_LITTLE_ENDIAN   0

Value used to indicate a little-endian system.

pdFREERTOS_LITTLE_ENDIAN and pdFREERTOS_BIG_ENDIAN form an enumeration but are exposed in FreeRTOS as macros with integer values.

Definition at line 37 of file FreeRTOS.h.

◆ pdMS_TO_TICKS

#define pdMS_TO_TICKS ( x)
Value:
MS_TO_TICKS((x))

Definition at line 18 of file FreeRTOS.h.

◆ pdPASS

#define pdPASS   pdTRUE

FreeRTOS definition indicating success.

Definition at line 61 of file FreeRTOS.h.

Referenced by xQueueReceive(), and xQueueSendToBack().

◆ pdTRUE

#define pdTRUE   ((BaseType_t)1)

FreeRTOS definition of true.

Definition at line 52 of file FreeRTOS.h.

Referenced by xSemaphoreGetStaticBuffer(), xTaskCheckForTimeOut(), and xTaskResumeAll().

◆ portMAX_DELAY

#define portMAX_DELAY   UINT32_MAX

Definition at line 85 of file FreeRTOS.h.

◆ portTICK_PERIOD_MS

#define portTICK_PERIOD_MS   MS_PER_TICK

Definition at line 86 of file FreeRTOS.h.

◆ PRIVILEGED_FUNCTION

#define PRIVILEGED_FUNCTION

Macro used to define a privileged function.

This concept does not map to CHERIoT RTOS, where no compartment is privileged, and so is discarded.

Definition at line 30 of file FreeRTOS.h.

◆ traceENTER_uxListRemove

#define traceENTER_uxListRemove ( ...)
Value:
do \
{ \
} while (0)

Definition at line 159 of file FreeRTOS.h.

◆ traceENTER_vListInitialise

#define traceENTER_vListInitialise ( ...)
Value:
do \
{ \
} while (0)

Definition at line 89 of file FreeRTOS.h.

◆ traceENTER_vListInitialiseItem

#define traceENTER_vListInitialiseItem ( ...)
Value:
do \
{ \
} while (0)

Definition at line 103 of file FreeRTOS.h.

◆ traceENTER_vListInsert

#define traceENTER_vListInsert ( ...)
Value:
do \
{ \
} while (0)

Definition at line 145 of file FreeRTOS.h.

◆ traceENTER_vListInsertEnd

#define traceENTER_vListInsertEnd ( ...)
Value:
do \
{ \
} while (0)

Definition at line 117 of file FreeRTOS.h.

◆ traceRETURN_uxListRemove

#define traceRETURN_uxListRemove ( ...)
Value:
do \
{ \
} while (0)

Definition at line 166 of file FreeRTOS.h.

◆ traceRETURN_vListInitialise

#define traceRETURN_vListInitialise ( ...)
Value:
do \
{ \
} while (0)

Definition at line 96 of file FreeRTOS.h.

◆ traceRETURN_vListInitialiseItem

#define traceRETURN_vListInitialiseItem ( ...)
Value:
do \
{ \
} while (0)

Definition at line 110 of file FreeRTOS.h.

◆ traceRETURN_vListInsert

#define traceRETURN_vListInsert ( ...)
Value:
do \
{ \
} while (0)

Definition at line 152 of file FreeRTOS.h.

◆ traceRETURN_vListInsertEnd

#define traceRETURN_vListInsertEnd ( ...)
Value:
do \
{ \
} while (0)

Definition at line 124 of file FreeRTOS.h.

Typedef Documentation

◆ BaseType_t

typedef int32_t BaseType_t

FreeRTOS default signed integer type.

Definition at line 179 of file FreeRTOS.h.

◆ TaskHandle_t

typedef uint16_t TaskHandle_t

FreeRTOS type representing a task handle, mapped to a thread ID in CHERIoT RTOS.

Definition at line 188 of file FreeRTOS.h.

◆ TickType_t

typedef Ticks TickType_t

FreeRTOS type for durations expressed in ticks.

Definition at line 175 of file FreeRTOS.h.

◆ TimeOut_t

typedef uint64_t TimeOut_t

FreeRTOS type for a duration expressed in large numbers of ticks.

Definition at line 192 of file FreeRTOS.h.

◆ UBaseType_t

typedef uint32_t UBaseType_t

FreeRTOS default unsigned integer type.

Definition at line 183 of file FreeRTOS.h.