aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.cpp
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2023-03-26 14:53:34 +0200
committerJF <JF002@users.noreply.github.com>2023-05-18 19:58:09 +0200
commit611e0ff7684818949f7f18546b540ff55de9b8ce (patch)
tree250ed0efe624fdc7992b27d6ab40ed5092d6bc87 /src/main.cpp
parent1911e2d9285cb5b0a6ecd3bf3de864783f2b0e3e (diff)
Enable malloc error and stack overflow error detection in FreeRTOS. Count them and display them in the SystemInfo app.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 951365a8..889d3934 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -83,6 +83,7 @@ Pinetime::Drivers::Cst816S touchPanel {twiMaster, touchPanelTwiAddress};
#include "displayapp/DisplayAppRecovery.h"
#else
#include "displayapp/DisplayApp.h"
+ #include "main.h"
#endif
Pinetime::Drivers::Bma421 motionSensor {twiMaster, motionSensorTwiAddress};
Pinetime::Drivers::Hrs3300 heartRateSensor {twiMaster, heartRateSensorTwiAddress};
@@ -144,7 +145,17 @@ Pinetime::System::SystemTask systemTask(spi,
fs,
touchHandler,
buttonHandler);
+int mallocFailedCount = 0;
+int stackOverflowCount = 0;
+extern "C" {
+void vApplicationMallocFailedHook() {
+ mallocFailedCount++;
+}
+void vApplicationStackOverflowHook(TaskHandle_t /*xTask*/, char */*pcTaskName*/) {
+ stackOverflowCount++;
+}
+}
/* Variable Declarations for variables in noinit SRAM
Increment NoInit_MagicValue upon adding variables to this area
*/