heap: Fix compilation errors when CONFIG_HEAP_TLSF_USE_ROM_IMPL is set

- include headers from the tlsf submodule only when CONFIG_HEAP_TLSF_USE_ROM_IMPL is not set
- remove usage of the tlsf_t type in the multi_heap.c
- add missing declaration of tlsf_poison_fill_pfunc_set() in multi_heap_poisoning.c
- define headers from tlsf submodule as private
- update the linker file in the heap component to the new naming of the tlsf file
- update the copyright docuementation to reference the submodule in github (https://github.com/espressif/tlsf)
- remove deleted files from the check_copyright_ignore.txt
This commit is contained in:
Guillaume Souchere 2022-07-29 11:35:59 +02:00
parent a2b60946ac
commit 86d1425346
4 changed files with 16 additions and 5 deletions

View File

@ -2,7 +2,7 @@
archive: libheap.a
entries:
if HEAP_TLSF_USE_ROM_IMPL = n:
heap_tlsf (noflash)
tlsf (noflash)
multi_heap (noflash)
if HEAP_POISONING_DISABLED = n:
multi_heap_poisoning (noflash)

View File

@ -11,11 +11,14 @@
#include <stddef.h>
#include <stdio.h>
#include <sys/cdefs.h>
#include "tlsf.h"
#include "tlsf_block_functions.h"
#include "multi_heap.h"
#include "multi_heap_internal.h"
#if !CONFIG_HEAP_TLSF_USE_ROM_IMPL
#include "tlsf.h"
#include "tlsf_block_functions.h"
#endif
/* Note: Keep platform-specific parts in this header, this source
file should depend on libc only */
#include "multi_heap_platform.h"
@ -75,7 +78,7 @@ typedef struct multi_heap_info {
size_t free_bytes;
size_t minimum_free_bytes;
size_t pool_size;
tlsf_t heap_data;
void* heap_data;
} heap_t;
#ifdef CONFIG_HEAP_TLSF_USE_ROM_IMPL

View File

@ -21,7 +21,15 @@
/* Defines compile-time configuration macros */
#include "multi_heap_config.h"
#if !CONFIG_HEAP_TLSF_USE_ROM_IMPL
#include "tlsf.h"
#else
/* Declaration of the tlsf_poison_fill_pfunc_set defined in RAM
* used to call IDF function multi_heap_internal_poison_fill_region()
* in this source file
*/
extern void tlsf_poison_fill_pfunc_set(void *pfunc);
#endif
#ifdef MULTI_HEAP_POISONING

View File

@ -57,7 +57,7 @@ These third party libraries can be included into the application (firmware) prod
* `cryptoauthlib`_ Microchip CryptoAuthentication Library - Copyright (c) 2015 - 2018 Microchip Technology Inc, is licensed under common Microchip software License as described in :example_file:`LICENSE file <peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib/cryptoauthlib/LICENSE>`
* :component_file:`TLSF allocator <heap/heap_tlsf.c>` Two Level Segregated Fit memory allocator, Copyright (c) 2006-2016, Matthew Conte, and licensed under the BSD license.
* `TLSF allocator <https://github.com/espressif/tlsf>` Two Level Segregated Fit memory allocator, Copyright (c) 2006-2016, Matthew Conte, and licensed under the BSD 3-clause license.
* `qrcode`_ QR Code generator library Copyright (c) Project Nayuki, is licensed under MIT license.