/* Used to pass information about the heap out of vPortGetHeapStats(). */
typedefstructxHeapStats
{
size_txAvailableHeapSpaceInBytes;/* The total heap size currently available - this is the sum of all the free blocks, not the largest block that can be allocated. */
size_txSizeOfLargestFreeBlockInBytes;/* The maximum size, in bytes, of all the free blocks within the heap at the time vPortGetHeapStats() is called. */
size_txSizeOfSmallestFreeBlockInBytes;/* The minimum size, in bytes, of all the free blocks within the heap at the time vPortGetHeapStats() is called. */
size_txNumberOfFreeBlocks;/* The number of free memory blocks within the heap at the time vPortGetHeapStats() is called. */
size_txMinimumEverFreeBytesRemaining;/* The minimum amount of total free memory (sum of all free blocks) there has been in the heap since the system booted. */
size_txNumberOfSuccessfulAllocations;/* The number of calls to pvPortMalloc() that have returned a valid memory block. */
size_txNumberOfSuccessfulFrees;/* The number of calls to vPortFree() that has successfully freed a block of memory. */
}HeapStats_t;
#ifndef traceMALLOC
#define traceMALLOC( pvAddress, uiSize )
#endif
#ifndef traceFREE
#define traceFREE( pvAddress, uiSize )
#endif
/* #define vFakeAssert(x, file, line) if (!(x)) { \
LogError("Assertion failed in file %s at line %d",file,line); \