umm_malloc.h
1 /* This file is part of the OpenMV project. 2 * Copyright (c) 2013-2017 Ibrahim Abdelkader <iabdalkader@openmv.io> & Kwabena W. Agyeman <kwagyeman@openmv.io> 3 * This work is licensed under the MIT license, see the file LICENSE for details. 4 */ 5 6 #ifndef __UMM_MALLOC_H__ 7 #define __UMM_MALLOC_H__ 8 #include <stdlib.h> 9 10 void umm_alloc_fail(); 11 12 //////////////////////////////////////////////////////////////////////////////////////////////////// 13 //////// "umm_malloc.h" 14 //////////////////////////////////////////////////////////////////////////////////////////////////// 15 16 //The MIT License (MIT) 17 18 //Copyright (c) 2015 Ralph Hempel 19 20 //Permission is hereby granted, free of charge, to any person obtaining a copy 21 //of this software and associated documentation files (the "Software"), to deal 22 //in the Software without restriction, including without limitation the rights 23 //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 24 //copies of the Software, and to permit persons to whom the Software is 25 //furnished to do so, subject to the following conditions: 26 27 //The above copyright notice and this permission notice shall be included in all 28 //copies or substantial portions of the Software. 29 30 //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 31 //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 32 //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 33 //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 34 //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 35 //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 36 //SOFTWARE. 37 38 /* ---------------------------------------------------------------------------- 39 * umm_malloc.h - a memory allocator for embedded systems (microcontrollers) 40 * 41 * See copyright notice in LICENSE.TXT 42 * ---------------------------------------------------------------------------- 43 */ 44 45 46 /* ------------------------------------------------------------------------ */ 47 48 void umm_init_x( size_t size ); // Min of 2.5KB - Max of 640 KB. 49 void *umm_malloc( size_t size ); 50 void *umm_calloc( size_t num, size_t size ); 51 void *umm_realloc( void *ptr, size_t size ); 52 void umm_free( void *ptr ); 53 54 55 /* ------------------------------------------------------------------------ */ 56 57 //////////////////////////////////////////////////////////////////////////////////////////////////// 58 //////////////////////////////////////////////////////////////////////////////////////////////////// 59 //////////////////////////////////////////////////////////////////////////////////////////////////// 60 61 #endif /* __UMM_MALLOC_H__ */