diff options
-rw-r--r-- | applications/freertos/main.cpp | 28 | ||||
-rw-r--r-- | applications/message_handler/main.cpp | 8 |
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 ****************************************************************************/ |