Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
freertos_user.h File Reference

Narrow pointer-free services for MPU-isolated user tasks. More...

#include <stdint.h>

Go to the source code of this file.

Macros

#define NX_FREERTOS_USER_CODE   __attribute__((section(".nexus_user_text")))
 Explicitly reviewed unprivileged executable code section.
#define NX_FREERTOS_USER_DATA   __attribute__((section(".nexus_user_data")))
 Explicit user RAM, separate from kernel and provider state.
#define NX_FREERTOS_PRIVILEGED_DATA    __attribute__((section("privileged_data"), aligned(8)))
 Trusted static task metadata placed in protected kernel RAM.

Functions

void nx_freertos_user_delay (uint32_t ticks)
 Delay the calling user task through the real MPU SVC.
uint32_t nx_freertos_user_ticks (void)
 Read the kernel's wrapping 32-bit tick counter through SVC.

Detailed Description

Narrow pointer-free services for MPU-isolated user tasks.

Author
Nexus Team

Definition in file freertos_user.h.

Macro Definition Documentation

◆ NX_FREERTOS_PRIVILEGED_DATA

#define NX_FREERTOS_PRIVILEGED_DATA    __attribute__((section("privileged_data"), aligned(8)))

Trusted static task metadata placed in protected kernel RAM.

Definition at line 20 of file freertos_user.h.

◆ NX_FREERTOS_USER_CODE

#define NX_FREERTOS_USER_CODE   __attribute__((section(".nexus_user_text")))

Explicitly reviewed unprivileged executable code section.

Definition at line 16 of file freertos_user.h.

◆ NX_FREERTOS_USER_DATA

#define NX_FREERTOS_USER_DATA   __attribute__((section(".nexus_user_data")))

Explicit user RAM, separate from kernel and provider state.

Definition at line 18 of file freertos_user.h.

Function Documentation

◆ nx_freertos_user_delay()

void nx_freertos_user_delay ( uint32_t ticks)

Delay the calling user task through the real MPU SVC.

Parameters
[in]ticksRelative kernel ticks; zero requests rescheduling.
Note
Thread only with a running scheduler. No handle or pointer crosses the boundary. This is not a microsecond deadline.

◆ nx_freertos_user_ticks()

uint32_t nx_freertos_user_ticks ( void )

Read the kernel's wrapping 32-bit tick counter through SVC.

Returns
Current kernel tick count in the selected OS clock domain.
Note
Thread-only MPU profile service, distinct from Core time. No object, memory, I/O or privilege-changing API exists.