mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-12-13 08:51:03 +08:00
Improve pvPortMalloc() and family.
fix(esp8266): If MEMLEAK_DEBUG is defined, create an alternate function called `.._trace` that for each of `pvPortMalloc`, `pvPortZalloc`, `pvPortCalloc` and `vPortFree`. The original function delegates to this new tracing function but uses NULL and 0 for the file and line number. This ensures that the pvPortMalloc exists as a symbol that can be used by the binary blobs without any problems. Example output from earlier usage: ~~~ --------Show Malloc-------- F:ppT L:512 malloc 2064 @ 0x3ffefd08 F:pmT L:256 malloc 1040 @ 0x3fff0518 F:tiT L:512 malloc 2064 @ 0x3fff0928 F:uiT L:640 malloc 2576 @ 0x3fff1138 F:IDLE L:176 malloc 720 @ 0x3fff1b48 F:Tmr Svc L:512 malloc 2064 @ 0x3fff1e18 ~~~ fix(lwip): Remove declarations of `pvPortMalloc()` and family. This fixes some of the issues in espressif/ESP8266_RTOS_SDK#189 but some of the example applications fails. Not ready for merge but comments on my approach will be appreciated.
This commit is contained in:
committed by
Wu Jian Gang
parent
9daf22b07b
commit
24ef94f811
@@ -126,8 +126,18 @@ void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions ) PRIVILEG
|
||||
/*
|
||||
* Map to the memory management routines required for the port.
|
||||
*/
|
||||
//void *pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION;
|
||||
//void vPortFree( void *pv ) PRIVILEGED_FUNCTION;
|
||||
void *pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION;
|
||||
void *pvPortZalloc( size_t xWantedSize ) PRIVILEGED_FUNCTION;
|
||||
void *pvPortCalloc( size_t count, size_t size ) PRIVILEGED_FUNCTION;
|
||||
void vPortFree( void *pv ) PRIVILEGED_FUNCTION;
|
||||
|
||||
#ifdef MEMLEAK_DEBUG
|
||||
void *pvPortMalloc_trace( size_t xWantedSize, const char * file, unsigned line, bool use_iram ) PRIVILEGED_FUNCTION;
|
||||
void *pvPortZalloc_trace( size_t xWantedSize, const char * file, unsigned line ) PRIVILEGED_FUNCTION;
|
||||
void *pvPortCalloc_trace( size_t count, size_t size, const char * file, unsigned line ) PRIVILEGED_FUNCTION;
|
||||
void vPortFree_trace( void *pv, const char * file, unsigned line ) PRIVILEGED_FUNCTION;
|
||||
#endif
|
||||
|
||||
void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
|
||||
size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
||||
size_t xPortGetMinimumEverFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
||||
|
||||
Reference in New Issue
Block a user