incubator-nuttx/mm/Kconfig

75 lines
2.3 KiB
Plaintext
Raw Normal View History

#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#
config MM_SMALL
bool "Small memory model"
default n
---help---
Each memory allocation has a small allocation overhead. The size
of that overhead is normally determined by the "width" of the
address support by the MCU. MCUs that support 16-bit addressability
have smaller overhead than devices that support 32-bit addressability.
However, there are many MCUs that support 32-bit addressability *but*
have internal SRAM of size less than or equal to 64Kb. In this case,
CONFIG_MM_SMALL can be defined so that those MCUs will also benefit
from the smaller, 16-bit-based allocation overhead.
config MM_REGIONS
int "Number of memory regions"
default 1
---help---
If the architecture includes multiple, non-contiguous regions of
memory to allocate from, this specifies the number of memory regions
that the memory manager must handle and enables the API
mm_addregion(start, end);
config ARCH_HAVE_HEAP2
bool
config HEAP2_BASE
hex "Start address of second heap region"
default 0x00000000
depends on ARCH_HAVE_HEAP2
---help---
The base address of the second heap region.
config HEAP2_SIZE
int "Size of the second heap region"
default 0
depends on ARCH_HAVE_HEAP2
---help---
The size of the second heap region.
config GRAN
bool "Enable Granule Allocator"
default n
---help---
Enable granual allocator support. Allocations will be aligned to the
granule size; allocations will be in units of the granule size.
Larger granules will give better performance and less overhead but
more losses of memory due to alignment and quantization waste.
NOTE: The current implementation also restricts the maximum
allocation size to 32 granaules. That restriction could be
eliminated with some additional coding effort.
config GRAN_SINGLE
bool "Single Granule Allocator"
default n
depends on GRAN
---help---
Select if there is only one instance of the granule allocator (i.e.,
gran_initialize will be called only once. In this case, (1) there
are a few optimizations that can can be done and (2) the GRAN_HANDLE
is not needed.
config DEBUG_GRAN
bool "Granule Allocator Debug"
default n
depends on GRAN && DEBUG
---help---
Just like CONFIG_DEBUG_MM, but only generates ouput from the gran
allocation logic.