mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-08-12 11:07:37 +00:00
ChibiOS memory helper functions.
This commit is contained in:
@@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include "chibios_cpp.hpp"
|
#include "chibios_cpp.hpp"
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
#include <ch.h>
|
#include <ch.h>
|
||||||
|
|
||||||
void* operator new(size_t size) {
|
void* operator new(size_t size) {
|
||||||
@@ -38,3 +40,21 @@ void operator delete(void* p) noexcept {
|
|||||||
void operator delete[](void* p) noexcept {
|
void operator delete[](void* p) noexcept {
|
||||||
chHeapFree(p);
|
chHeapFree(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern uint8_t __heap_base__[];
|
||||||
|
extern uint8_t __heap_end__[];
|
||||||
|
|
||||||
|
namespace chibios {
|
||||||
|
|
||||||
|
size_t heap_size() {
|
||||||
|
return __heap_end__ - __heap_base__;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t heap_used() {
|
||||||
|
const auto core_free = chCoreStatus();
|
||||||
|
size_t heap_free = 0;
|
||||||
|
chHeapStatus(NULL, &heap_free);
|
||||||
|
return heap_size() - (core_free + heap_free);
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* namespace chibios */
|
||||||
|
@@ -31,4 +31,11 @@ void* operator new[](size_t size);
|
|||||||
void operator delete(void* p);
|
void operator delete(void* p);
|
||||||
void operator delete[](void* p);
|
void operator delete[](void* p);
|
||||||
|
|
||||||
|
namespace chibios {
|
||||||
|
|
||||||
|
size_t heap_size();
|
||||||
|
size_t heap_used();
|
||||||
|
|
||||||
|
} /* namespace chibios */
|
||||||
|
|
||||||
#endif/*__CHIBIOS_CPP_H__*/
|
#endif/*__CHIBIOS_CPP_H__*/
|
||||||
|
Reference in New Issue
Block a user