aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--applications/freertos/main.cpp28
-rw-r--r--applications/message_handler/main.cpp8
2 files changed, 36 insertions, 0 deletions
diff --git a/applications/freertos/main.cpp b/applications/freertos/main.cpp
index 1e71e7f..d579944 100644
--- a/applications/freertos/main.cpp
+++ b/applications/freertos/main.cpp
@@ -59,6 +59,34 @@ using namespace InferenceProcess;
#endif
/****************************************************************************
+ * Override new operators to call in FreeRTOS allocator
+ ****************************************************************************/
+
+void *operator new(size_t size) {
+ return pvPortMalloc(size);
+}
+
+void *operator new[](size_t size) {
+ return pvPortMalloc(size);
+}
+
+void operator delete(void *ptr) {
+ vPortFree(ptr);
+}
+
+void operator delete(void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
+void operator delete[](void *ptr) {
+ vPortFree(ptr);
+}
+
+void operator delete[](void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
+/****************************************************************************
* InferenceJob
****************************************************************************/
diff --git a/applications/message_handler/main.cpp b/applications/message_handler/main.cpp
index 8db9e0b..73eb398 100644
--- a/applications/message_handler/main.cpp
+++ b/applications/message_handler/main.cpp
@@ -98,10 +98,18 @@ void operator delete(void *ptr) {
vPortFree(ptr);
}
+void operator delete(void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
void operator delete[](void *ptr) {
vPortFree(ptr);
}
+void operator delete[](void *ptr, std::size_t) {
+ vPortFree(ptr);
+}
+
/****************************************************************************
* Mutex & Semaphore
****************************************************************************/