# Cppi_HeapParams Struct Reference
[CPPI Low Level Driver Data Structures]

CPPI heap configuration structure (optional). More...

`#include <cppi_drv.h>`

## Data Fields

void * | staticHeapBase
uint32_t | staticHeapSize
uint32_t | heapAlignPow2
int32_t | dynamicHeapBlockSize

## Detailed Description

CPPI heap configuration structure (optional).

## Field Documentation

int32_t Cppi_HeapParams::dynamicHeapBlockSize

Dynamic heap block size in bytes. This is the amount requested from Cppi_osalMalloc, whenever more memory is needed. Up to heapAlignPow2 can be lost at both beginning and end due to alignment, so it is recommended to make this value at least 4*(2^heapAlignPow2) or a minimum of 256 bytes, whichever is larger. A value of 0 will cause a system default (1024) to be used. A value < 0 will disable dynamic allocation

uint32_t Cppi_HeapParams::heapAlignPow2

Heap alignment: power of 2 to align front and back of heap. This applies to both static and dynamic heaps. A value of 0 means use platform default which is 128 bytes (2^7). The minimum for correct functionality without shared memory is 3 (2^3 = 8).

void* Cppi_HeapParams::staticHeapBase

Optional static heap. In order to prevent the use of Cppi_osalMalloc, the size should be at least the size returned by Cppi_getHeapReq. Otherwise, Cppi_osalMalloc will be used when the static heap is used. A value of NULL disables the static heap

uint32_t Cppi_HeapParams::staticHeapSize

Optional static heap size in bytes. Only used when staticHeapBase != NULL

The documentation for this struct was generated from the following file:

- cppi_drv.h

Copyright 2012, Texas Instruments Incorporated