## NAME

Nanokernel Scaling

Using conditional compilation, the Unison Nanokernel can have features added and removed, changing its size and capabilities.

## SYNOPSIS

## Description

The Unison Nanokernel can be scaled to reduce its' memory footprint and can be tailored to meet specific requirements. The means to do this tailoring is entirely by using conditional compilation and rebuilding the library that comes with your release. The various options are discussed below.

Compile Time Options

Pool Options

HEAP_BOUNDS
  Add heap bounds checking for first fit memory pool.
DEBUGON
  Turn on basic error message reporting using xprintf for the first fit memory pool.
VERBOSE
  Turn on verbose error message reporting using xprintf for the first fit memory pool.

POSIX Features

_POSIX_MESSAGE_PASSING
  Include POSIX message passing features
_POSIX_THREAD_PRIORITY_SCHEDULING
  Support priority thread scheduling.
_POSIX_TIMERS
  Include POSIX timers in the system.
_POSIX_TIMEOUTS
  Include POSIX timeouts in the system.
_POSIX_THREAD_PRIO_INHERIT
  Inherit the parent's thread priority.
_POSIX_THREAD_ATTR_STACKADDR
  Include the stackaddr attribute as an option.
_POSIX_THREAD_ATTR_STACKSIZE
  Include the stacksize attribute as an option.

Advanced Options

MULTIPROC
  Select multicore operation, use only with factory collaboration.
DLOG_SUPPORT
  Include datalogging support.
PACK
  Used for Word oriented machines to pack characters in a word.
_TARTAN
  Used for Word oriented machines to adapt for the compiler.

MCU, MPU, and Softcore Options

M16C
  Renesas M16C and R8C support.
__RX
  Renesas RX support.
NC100
  Renesas RXNC100 support
_SH2A
  Renesas SH2A support.
_SH2AFPU
  Renesas SH2A with FPU support.
__R32C100__
  Renesas R32C100 support.
__MICROBLAZE__
  Xilinx Microblaze softcore support.
__ARMCORTEXM0__
  ARM Cortex M0 support.
__ARMCORTEXM1__
  Reserved.
__ARMCORTEXM3__
  ARM Cortex M3 support.
__ARMCORTEXM4__
  ARM Cortex M4 support.
__ARMCORTEXM4F__
  ARM Cortex M4 with FPU support.
__ARMCORTEXM7__
  ARM Cortex M7.
__ARMCORTEXA5__
  Reserved.
__CORTEX_A8__
  ARM Cortex A8 support.
__CORTEX_A9__
  ARM Cortex A9 support.
__ARMCORTEXR4__
  Reserved.
__PIC24F__
  Microchip PIC24 support.
__dsPIC30F__
  Microchip dsPIC30 support.
__dsPIC33F__
  Microchip dsPIC33 support.
__PIC32MX__
  Microchip PIC32 support.

## SEE ALSO

#### Home page (Kernel)

## < Copyright Rowebots Research Inc. and Multiprocessor Toolsmiths Inc. 1987-2018 >