µOS++ IIIe Reference 7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
Start-up & General Options

Definitions used to configure the program start-up. More...

#define OS_INCLUDE_STARTUP_INIT_MULTIPLE_RAM_SECTIONS
 Initialise multiple RAM sections.
 
#define OS_BOOL_STARTUP_GUARD_CHECKS   (true)
 Enable guard checks for .bss and .data sections.
 
#define OS_INCLUDE_STARTUP_INIT_FP
 Always initialise the hardware FPU.
 
#define OS_USE_SEMIHOSTING_SYSCALLS
 Make the application a fully semihosted application.
 
#define OS_INTEGER_SEMIHOSTING_MAX_OPEN_FILES   (20)
 Define the maximum number of semihosting open files.
 
#define OS_INCLUDE_STANDARD_POSIX_FUNCTIONS
 Include definitions for the standard POSIX system calls.
 
#define OS_INCLUDE_NEWLIB_POSIX_FUNCTIONS
 Include definitions for the newlib system calls.
 
#define OS_DISABLE_CORTEXM_SET_MSP_VIA_VTOR
 Disable setting MSP during startup.
 

Detailed Description

Definitions used to configure the program start-up.

Macro Definition Documentation

◆ OS_BOOL_STARTUP_GUARD_CHECKS

#define OS_BOOL_STARTUP_GUARD_CHECKS   (true)

Enable guard checks for .bss and .data sections.

Sometimes mistakes in the liner script prevent the .bss area to be initialised to zero, and/or the .data area to be fully initialised with content from flash.

To validate that the start-up properly initialised these areas, some guard words are defined at the begin/end of the .bss and .data areas, and are explicitly checked.

Note
This option is available only if DEBUG is also defined.

Definition at line 512 of file os-app-config.h.

◆ OS_DISABLE_CORTEXM_SET_MSP_VIA_VTOR

#define OS_DISABLE_CORTEXM_SET_MSP_VIA_VTOR

Disable setting MSP during startup.

On Cortex-M, during startup, the MSP register is set to the stack pointer available in the first word pointed by VTOR. Some platforms run custom firmware (like Nordic's soft radio) that take control of VTOR and set it to a location which does point to the valid interrupt stack. It is perfectly acceptable to not reset MSP, and leave it to the location where it reached before switching to PSP, just that some stack space is wasted.

Definition at line 580 of file os-app-config.h.

◆ OS_INCLUDE_NEWLIB_POSIX_FUNCTIONS

#define OS_INCLUDE_NEWLIB_POSIX_FUNCTIONS

Include definitions for the newlib system calls.

Todo:
update after POSIX I/O is updated.

Definition at line 566 of file os-app-config.h.

◆ OS_INCLUDE_STANDARD_POSIX_FUNCTIONS

#define OS_INCLUDE_STANDARD_POSIX_FUNCTIONS

Include definitions for the standard POSIX system calls.

Todo:
update after POSIX I/O is updated.

Definition at line 559 of file os-app-config.h.

◆ OS_INCLUDE_STARTUP_INIT_FP

#define OS_INCLUDE_STARTUP_INIT_FP

Always initialise the hardware FPU.

Definition at line 517 of file os-app-config.h.

◆ OS_INCLUDE_STARTUP_INIT_MULTIPLE_RAM_SECTIONS

#define OS_INCLUDE_STARTUP_INIT_MULTIPLE_RAM_SECTIONS

Initialise multiple RAM sections.

Definition at line 496 of file os-app-config.h.

◆ OS_INTEGER_SEMIHOSTING_MAX_OPEN_FILES

#define OS_INTEGER_SEMIHOSTING_MAX_OPEN_FILES   (20)

Define the maximum number of semihosting open files.

The implementation of the semihosting file support requires an array of open files, to keep track of the host files.

To simplify the implementation and avoid dynamic allocations, a static array is used. This option defines the size of this array.

Default
20.

Definition at line 552 of file os-app-config.h.

◆ OS_USE_SEMIHOSTING_SYSCALLS

#define OS_USE_SEMIHOSTING_SYSCALLS

Make the application a fully semihosted application.

When writing test applications it is necessary to use some of the resources available from the host system (STDOUT/STDERR, file system, time, exit code, etc).

This requires the entire behaviour of the system calls to be changed and most calls to be forwarded to the host. The application is transformed into a 'fully semihosted' application.

One major difference from a regular embedded application is that a fully semihosted test application does not run in an endless loop, but terminates, and the test result must be passed back to the host system, via the exit code and optionally via a detailed status file.

Definition at line 537 of file os-app-config.h.