MeterLogger
mem_manager.h
Go to the documentation of this file.
1 #ifndef __MEM_MANAGER_H__
2 #define __MEM_MANAGER_H__
3 
4 #include <stddef.h>
5 #include "c_types.h"
6 
7 /*------------------------��������------------------------*/
8 
9 #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
10 #ifndef IOT_SIP_MODE
11 //#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 0x3fffc000 - (uint32)&_heap_start ) )//fix 16000 to 24000 on 14.2.26
12 #else
13 #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 8000 ) )
14 #endif
15 #define portBYTE_ALIGNMENT 8
16 #define pdFALSE 0
17 #define pdTRUE 1
18 
19 #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
20 #if portBYTE_ALIGNMENT == 8
21  #define portBYTE_ALIGNMENT_MASK ( 0x0007 )
22 #endif
23 
24 #if portBYTE_ALIGNMENT == 4
25  #define portBYTE_ALIGNMENT_MASK ( 0x0003 )
26 #endif
27 
28 #if portBYTE_ALIGNMENT == 2
29  #define portBYTE_ALIGNMENT_MASK ( 0x0001 )
30 #endif
31 
32 #if portBYTE_ALIGNMENT == 1
33  #define portBYTE_ALIGNMENT_MASK ( 0x0000 )
34 #endif
35 
36 #ifndef portBYTE_ALIGNMENT_MASK
37  #error "Invalid portBYTE_ALIGNMENT definition"
38 #endif
39 
40 #define configUSE_MALLOC_FAILED_HOOK 1
41 #define portPOINTER_SIZE_TYPE unsigned int
42 
43 #define heapMINIMUM_BLOCK_SIZE ( ( size_t ) ( heapSTRUCT_SIZE * 2 ) )
44 
45 //#define configADJUSTED_HEAP_SIZE ( configTOTAL_HEAP_SIZE - portBYTE_ALIGNMENT )
46 
47 //static unsigned char ucHeap[ configTOTAL_HEAP_SIZE ];
48 //static unsigned char *ucHeap;
49 
50 typedef struct A_BLOCK_LINK
51 {
52  struct A_BLOCK_LINK *pxNextFreeBlock; //The next free block in the list.
53  size_t xBlockSize; //The size of the free block.
54 } xBlockLink;
55 
56 //static const unsigned short heapSTRUCT_SIZE = ( sizeof( xBlockLink ) + portBYTE_ALIGNMENT - ( sizeof( xBlockLink ) % portBYTE_ALIGNMENT ) );
57 
58 //static const size_t xTotalHeapSize = ( ( size_t ) configADJUSTED_HEAP_SIZE ) & ( ( size_t ) ~portBYTE_ALIGNMENT_MASK );
59 
60 //static xBlockLink xStart, *pxEnd = NULL;
61 
62 //static size_t xFreeBytesRemaining = ( ( size_t ) configADJUSTED_HEAP_SIZE ) & ( ( size_t ) ~portBYTE_ALIGNMENT_MASK );
63 
64 
65 /*------------------------��������-----------------------------------*/
66 
67 //static void prvInsertBlockIntoFreeList( xBlockLink *pxBlockToInsert ) ;//ICACHE_FLASH_ATTR;
68 
69 //static void prvHeapInit( void ) ;//ICACHE_FLASH_ATTR;
70 
71 void vApplicationMallocFailedHook( void ) ;//ICACHE_FLASH_ATTR;
72 
73 void *pvPortMalloc( size_t xWantedSize ) ;//ICACHE_FLASH_ATTR;
74 
75 void vPortFree( void *pv ) ;//ICACHE_FLASH_ATTR;
76 
77 size_t xPortGetFreeHeapSize( void ) ;//ICACHE_FLASH_ATTR;
78 
79 void vPortInitialiseBlocks( void ) ;//ICACHE_FLASH_ATTR;
80 /*-----------------------------------------------------------*/
81 
82 #endif
void vApplicationMallocFailedHook(void)
void vPortFree(void *pv)
struct A_BLOCK_LINK * pxNextFreeBlock
Definition: mem_manager.h:52
void * pvPortMalloc(size_t xWantedSize)
struct A_BLOCK_LINK xBlockLink
size_t xPortGetFreeHeapSize(void)
void vPortInitialiseBlocks(void)
size_t xBlockSize
Definition: mem_manager.h:53