16 lines
519 B
C
16 lines
519 B
C
#include "audiobeamlibmalloc.h"
|
|
|
|
#define AUDIOBEAM_HEAP_SIZE 10000
|
|
|
|
static char audiobeam_simulated_heap[AUDIOBEAM_HEAP_SIZE];
|
|
static unsigned int audiobeam_freeHeapPos;
|
|
|
|
__attribute__((always_inline)) static inline void *
|
|
audiobeam_malloc(unsigned int numberOfBytes) {
|
|
void *currentPos =
|
|
(void *) &audiobeam_simulated_heap[audiobeam_freeHeapPos];
|
|
/* Get a 4-byte address for alignment purposes */
|
|
audiobeam_freeHeapPos += ((numberOfBytes + 4) & (unsigned int) 0xfffffffc);
|
|
return currentPos;
|
|
}
|