firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
sysmem.c File Reference

System Memory calls file. More...

#include <errno.h>
#include <stdint.h>
Include dependency graph for sysmem.c:

Functions

void * _sbrk (ptrdiff_t incr)
 _sbrk() allocates memory to the newlib heap and is used by malloc and others from the C library

Variables

static uint8_t * __sbrk_heap_end = NULL

Detailed Description

System Memory calls file.

Author
Generated by STM32CubeMX
       For more information about which C functions
       need which of these lowlevel functions
       please consult the newlib libc manual
Attention

Copyright (c) 2024 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Function Documentation

◆ _sbrk()

void * _sbrk ( ptrdiff_t incr)

_sbrk() allocates memory to the newlib heap and is used by malloc and others from the C library

* ############################################################################
* #  .data  #  .bss  #       newlib heap       #          MSP stack          #
* #         #        #                         # Reserved by _Min_Stack_Size #
* ############################################################################
* ^-- RAM start      ^-- _end                             _estack, RAM end --^
* 

This implementation starts allocating at the '_end' linker symbol The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack The implementation considers '_estack' linker symbol to be RAM end NOTE: If the MSP stack, at any point during execution, grows larger than the reserved size, please increase the '_Min_Stack_Size'.

Parameters
incrMemory size
Returns
Pointer to allocated memory

Variable Documentation

◆ __sbrk_heap_end

uint8_t* __sbrk_heap_end = NULL
static

Pointer to the current high watermark of the heap usage