#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | MEMORY_PRINT_START { Serial.print(F("Data start:")); Serial.println((int) &__data_start); } |
Print data start on serial console. | |
#define | MEMORY_PRINT_HEAPSTART { Serial.print(F("Heap start:")); Serial.println((int)&__heap_start); } |
Print data end / heap start on serial console. | |
#define | MEMORY_PRINT_HEAPEND { Serial.print(F("Heap end:")); Serial.println(__brkval == 0 ? (int)&__heap_start : (int)__brkval); } |
Print heap end / free ram area on serial console. | |
#define | MEMORY_PRINT_STACKSTART { Serial.print(F("Stack start:")); Serial.println((int) SP); } |
Print free ram end / stack start on serial console. | |
#define | MEMORY_PRINT_END { Serial.print(F("Stack end:")); Serial.println((int) RAMEND); } |
Print end of memory on serial console. | |
#define | MEMORY_PRINT_HEAPSIZE { Serial.print(F("Heap size:")); Serial.println((int) (__brkval == 0 ? (int)&__heap_start : (int)__brkval) - (int)&__heap_start); } |
Print heap size on serial console. | |
#define | MEMORY_PRINT_STACKSIZE { Serial.print(F("Stack size:")); Serial.println((int) RAMEND - (int)SP); } |
Print stack size on serial console. | |
#define | MEMORY_PRINT_FREERAM { Serial.print(F("Free ram:")); Serial.println((int) SP - (int) (__brkval == 0 ? (int)&__heap_start : (int)__brkval) - (int)&__heap_start); } |
Print free ram size on serial console. | |
#define | MEMORY_PRINT_TOTALSIZE { Serial.print(F("SRAM size:")); Serial.println((int) RAMEND - (int) &__data_start); } |
Print total SRAM size on serial console. | |
#define | STACK_DECLARE unsigned int mu_stack_size = (RAMEND - SP); |
Must be used only one time, outside any function. | |
#define | STACK_COMPUTE { mu_stack_size = (RAMEND - SP) > mu_stack_size ? (RAMEND - SP) : mu_stack_size;} |
Must be called to update the current maximum size of the stack, at each function beginning. | |
#define | STACK_PRINT_TEXT(text) { STACK_COMPUTE; Serial.print(text); Serial.println(mu_stack_size); } |
Compute the current maximum and show it now with customized text. | |
#define | STACK_PRINT STACK_PRINT_TEXT(F("Stack Maximum Size (Instrumentation method): ")); |
Compute the current maximum and show it now with default text. | |
#define | FREERAM_PRINT_TEXT(text) Serial.print(text); Serial.println(mu_freeRam()); |
Shows the current free SRAM memory with customized text. | |
#define | FREERAM_PRINT FREERAM_PRINT_TEXT(F("Free Ram Size: ")); |
Shows the current free SRAM memory with default text. | |
#define | STACKPAINT_PRINT_TEXT(text) { Serial.print(text); Serial.println(mu_StackCount()); } |
Compute the current maximum and show it now with customized text. | |
#define | STACKPAINT_PRINT STACKPAINT_PRINT_TEXT(F("Stack Maximum Size (Painting method): ")); |
Compute the current maximum and show it now with default text. | |
Functions | |
void | SRamDisplay (void) |
Displays the 'map' of the current state of the Arduino's SRAM memory on the Serial console. More... | |
int | mu_freeRam (void) |
Show the free Ram size on console. | |
uint16_t | mu_StackCount (void) |
Show the stack size on console. More... | |
Variables | |
uint8_t | _end |
uint8_t | __stack |
uint8_t * | __brkval |
uint8_t * | __data_start |
uint8_t * | __data_end |
uint8_t * | __heap_start |
uint8_t * | __heap_end |
uint8_t * | __bss_start |
uint8_t * | __bss_end |
Main library header file.
Definition in file MemoryUsage.h.
uint16_t mu_StackCount | ( | void | ) |
Show the stack size on console.
Definition at line 72 of file MemoryUsage.cpp.
void SRamDisplay | ( | void | ) |
Displays the 'map' of the current state of the Arduino's SRAM memory on the Serial console.
Definition at line 83 of file MemoryUsage.cpp.