// Nguyen Hong Anh - CT050104
// Declare custom malloc function
void* malloc(size_t size);
void setup() {
Serial.begin(115200);
Serial.println("Starting setup...");
char *s;
s = (char*) malloc(30 * sizeof(char)); // Allocate memory
size_t freeHeapSize = xPortGetFreeHeapSize();
size_t minimumEverFreeHeapSize = xPortGetMinimumEverFreeHeapSize();
Serial.print("Initial free heap size: ");
Serial.println(freeHeapSize);
Serial.print("Initial minimum ever free heap size: ");
Serial.println(minimumEverFreeHeapSize);
if (s) {
freeHeapSize = xPortGetFreeHeapSize();
Serial.print("Free heap size after allocation: ");
Serial.println(freeHeapSize); // Print free heap size after allocation
minimumEverFreeHeapSize = xPortGetMinimumEverFreeHeapSize();
Serial.print("Minimum ever free heap size after allocation: ");
Serial.println(minimumEverFreeHeapSize); // Print minimum ever free heap size after allocation
vPortFree(s); // Free allocated memory
} else {
Serial.println("Memory allocation failed");
}
freeHeapSize = xPortGetFreeHeapSize();
Serial.print("Free heap size after freeing memory: ");
Serial.println(freeHeapSize);
minimumEverFreeHeapSize = xPortGetMinimumEverFreeHeapSize();
Serial.print("Minimum ever free heap size after freeing memory: ");
Serial.println(minimumEverFreeHeapSize);
Serial.println("Setup complete");
}
void loop() {
// Execution should never get here
}