Merge branch 'feature/gcc8_use_bundled_newlib' into 'master'
Use newlib headers and libraries from toolchain when compiling with GCC 8.2 See merge request idf/esp-idf!4450
This commit is contained in:
commit
70eda3d221
36 changed files with 1286 additions and 388 deletions
|
@ -26,9 +26,10 @@ target_linker_script(bootloader.elf
|
|||
|
||||
# as cmake won't attach linker args to a header-only library, attach
|
||||
# linker args directly to the bootloader.elf
|
||||
# esp32.rom.newlib-funcs.ld is included to use memset/memcpy.
|
||||
set(BOOTLOADER_LINKER_SCRIPTS
|
||||
"${IDF_PATH}/components/esp_rom/${IDF_TARGET}/ld/${IDF_TARGET}.rom.ld"
|
||||
"${IDF_PATH}/components/esp_rom/${IDF_TARGET}/ld/${IDF_TARGET}.rom.spiram_incompatible_fns.ld"
|
||||
"${IDF_PATH}/components/esp_rom/${IDF_TARGET}/ld/${IDF_TARGET}.rom.newlib-funcs.ld"
|
||||
"${IDF_PATH}/components/${IDF_TARGET}/ld/${IDF_TARGET}.peripherals.ld")
|
||||
|
||||
target_linker_script(bootloader.elf ${BOOTLOADER_LINKER_SCRIPTS})
|
||||
|
|
|
@ -9,7 +9,7 @@ LINKER_SCRIPTS := \
|
|||
$(IDF_TARGET).bootloader.ld \
|
||||
$(IDF_TARGET).bootloader.rom.ld \
|
||||
$(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.ld \
|
||||
$(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.spiram_incompatible_fns.ld \
|
||||
$(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.newlib-funcs.ld \
|
||||
$(IDF_PATH)/components/$(IDF_TARGET)/ld/$(IDF_TARGET).peripherals.ld
|
||||
|
||||
ifndef CONFIG_SPI_FLASH_ROM_DRIVER_PATCH
|
||||
|
|
|
@ -25,3 +25,9 @@ set(COMPONENT_PRIV_INCLUDEDIRS "include/driver")
|
|||
set(COMPONENT_REQUIRES esp_ringbuf)
|
||||
|
||||
register_component()
|
||||
|
||||
|
||||
if(GCC_NOT_5_2_0)
|
||||
# uses C11 atomic feature
|
||||
set_source_files_properties(spi_master.c PROPERTIES COMPILE_FLAGS -std=gnu11)
|
||||
endif()
|
||||
|
|
|
@ -6,3 +6,7 @@ COMPONENT_ADD_INCLUDEDIRS := include
|
|||
|
||||
COMPONENT_PRIV_INCLUDEDIRS := include/driver
|
||||
|
||||
ifeq ($(GCC_NOT_5_2_0), 1)
|
||||
# uses C11 atomic feature
|
||||
spi_master.o: CFLAGS += -std=gnu11
|
||||
endif
|
||||
|
|
|
@ -13,16 +13,22 @@ else()
|
|||
|
||||
target_linker_script(${COMPONENT_TARGET}
|
||||
"esp32/ld/esp32.rom.ld"
|
||||
"esp32/ld/esp32.rom.libgcc.ld")
|
||||
"esp32/ld/esp32.rom.libgcc.ld"
|
||||
"esp32/ld/esp32.rom.syscalls.ld"
|
||||
"esp32/ld/esp32.rom.newlib-data.ld")
|
||||
|
||||
if(CONFIG_SPIRAM_CACHE_WORKAROUND)
|
||||
target_compile_options(${COMPONENT_TARGET} PUBLIC -mfix-esp32-psram-cache-issue)
|
||||
else()
|
||||
target_linker_script(${COMPONENT_TARGET} "esp32/ld/esp32.rom.spiram_incompatible_fns.ld")
|
||||
target_linker_script(${COMPONENT_TARGET} "esp32/ld/esp32.rom.newlib-funcs.ld")
|
||||
endif()
|
||||
|
||||
if(CONFIG_NEWLIB_NANO_FORMAT)
|
||||
target_linker_script(${COMPONENT_TARGET} "esp32/ld/esp32.rom.nanofmt.ld")
|
||||
target_linker_script(${COMPONENT_TARGET} "esp32/ld/esp32.rom.newlib-nano.ld")
|
||||
endif()
|
||||
|
||||
if(NOT GCC_NOT_5_2_0)
|
||||
target_linker_script(${COMPONENT_TARGET} "esp32/ld/esp32.rom.newlib-locale.ld")
|
||||
endif()
|
||||
|
||||
if(NOT CONFIG_SPI_FLASH_ROM_DRIVER_PATCH)
|
||||
|
|
|
@ -1,16 +1,23 @@
|
|||
#Linker scripts used to link the final application.
|
||||
#Warning: These linker scripts are only used when the normal app is compiled; the bootloader
|
||||
#specifies its own scripts.
|
||||
LINKER_SCRIPTS += esp32.rom.ld esp32.rom.libgcc.ld
|
||||
LINKER_SCRIPTS += esp32.rom.ld \
|
||||
esp32.rom.libgcc.ld \
|
||||
esp32.rom.syscalls.ld \
|
||||
esp32.rom.newlib-data.ld
|
||||
|
||||
#SPI-RAM incompatible functions can be used in when the SPI RAM
|
||||
#workaround is not enabled.
|
||||
ifndef CONFIG_SPIRAM_CACHE_WORKAROUND
|
||||
LINKER_SCRIPTS += esp32.rom.spiram_incompatible_fns.ld
|
||||
LINKER_SCRIPTS += esp32.rom.newlib-funcs.ld
|
||||
endif
|
||||
|
||||
ifdef CONFIG_NEWLIB_NANO_FORMAT
|
||||
LINKER_SCRIPTS += esp32.rom.nanofmt.ld
|
||||
LINKER_SCRIPTS += esp32.rom.newlib-nano.ld
|
||||
endif
|
||||
|
||||
ifneq ($(GCC_NOT_5_2_0), 1)
|
||||
LINKER_SCRIPTS += esp32.rom.newlib-locale.ld
|
||||
endif
|
||||
|
||||
ifndef CONFIG_SPI_FLASH_ROM_DRIVER_PATCH
|
||||
|
|
|
@ -33,9 +33,7 @@ PROVIDE ( Cache_Read_Init_rom = 0x40009950 );
|
|||
PROVIDE ( cache_sram_mmu_set_rom = 0x400097f4 );
|
||||
/* This is static function, but can be used, not generated by script*/
|
||||
PROVIDE ( calc_rtc_memory_crc = 0x40008170 );
|
||||
PROVIDE ( calloc = 0x4000bee4 );
|
||||
PROVIDE ( __clear_cache = 0x40063860 );
|
||||
PROVIDE ( _close_r = 0x4000bd3c );
|
||||
PROVIDE ( co_default_bdaddr = 0x3ffae704 );
|
||||
PROVIDE ( co_null_bdaddr = 0x3ffb80e0 );
|
||||
PROVIDE ( co_sca2ppm = 0x3ff971e8 );
|
||||
|
@ -45,8 +43,6 @@ PROVIDE ( crc32_be = 0x4005d024 );
|
|||
PROVIDE ( crc32_le = 0x4005cfec );
|
||||
PROVIDE ( crc8_be = 0x4005d114 );
|
||||
PROVIDE ( crc8_le = 0x4005d0e0 );
|
||||
PROVIDE ( _ctype_ = 0x3ff96354 );
|
||||
PROVIDE ( __ctype_ptr__ = 0x3ff96350 );
|
||||
PROVIDE ( _data_end_rom = 0x4000d5c8 );
|
||||
PROVIDE ( _data_end_btdm_rom = 0x4000d4f8 );
|
||||
PROVIDE ( _data_start_rom = 0x4000d4f8 );
|
||||
|
@ -55,7 +51,6 @@ PROVIDE ( _data_start_btdm = 0x3ffae6e0);
|
|||
PROVIDE ( _data_end_btdm = 0x3ffaff10);
|
||||
PROVIDE ( _bss_start_btdm = 0x3ffb8000);
|
||||
PROVIDE ( _bss_end_btdm = 0x3ffbff70);
|
||||
PROVIDE ( _daylight = 0x3ffae0a4 );
|
||||
PROVIDE ( dbg_default_handler = 0x3ff97218 );
|
||||
PROVIDE ( dbg_default_state = 0x3ff97220 );
|
||||
PROVIDE ( dbg_state = 0x3ffb8d5d );
|
||||
|
@ -84,7 +79,6 @@ PROVIDE ( g_rom_spiflash_dummy_len_plus = 0x3ffae290 );
|
|||
PROVIDE ( ecc_env = 0x3ffb8d60 );
|
||||
PROVIDE ( ecc_Jacobian_InfinityPoint256 = 0x3ff972e8 );
|
||||
PROVIDE ( em_buf_env = 0x3ffb8d74 );
|
||||
PROVIDE ( environ = 0x3ffae0b4 );
|
||||
PROVIDE ( esp_crc8 = 0x4005d144 );
|
||||
PROVIDE ( _etext = 0x4000d66c );
|
||||
PROVIDE ( ets_readySet_ = 0x3ffe01f0 );
|
||||
|
@ -92,14 +86,9 @@ PROVIDE ( ets_startup_callback = 0x3ffe0404 );
|
|||
PROVIDE ( rwip_coex_cfg = 0x3ff9914c );
|
||||
PROVIDE ( rwip_priority = 0x3ff99159 );
|
||||
PROVIDE ( exc_cause_table = 0x3ff991d0 );
|
||||
PROVIDE ( _exit_r = 0x4000bd28 );
|
||||
PROVIDE ( free = 0x4000beb8 );
|
||||
PROVIDE ( _fstat_r = 0x4000bccc );
|
||||
PROVIDE ( __gcc_bcmp = 0x40064a70 );
|
||||
PROVIDE ( GF_Jacobian_Point_Addition256 = 0x400163a4 );
|
||||
PROVIDE ( GF_Jacobian_Point_Double256 = 0x40016260 );
|
||||
PROVIDE ( GF_Point_Jacobian_To_Affine256 = 0x40016b0c );
|
||||
PROVIDE ( _global_impure_ptr = 0x3ffae0b0 );
|
||||
PROVIDE ( g_phyFuns_instance = 0x3ffae0c4 );
|
||||
PROVIDE ( g_rom_flashchip = 0x3ffae270 );
|
||||
PROVIDE ( gTxMsg = 0x3ffe0050 );
|
||||
|
@ -140,7 +129,6 @@ PROVIDE ( ld_env = 0x3ffb9510 );
|
|||
PROVIDE ( ld_pcm_settings_dft = 0x3ff98a0c );
|
||||
PROVIDE ( ld_sched_params = 0x3ffb96c0 );
|
||||
PROVIDE ( ld_sync_train_channels = 0x3ff98a3c );
|
||||
PROVIDE ( _link_r = 0x4000bc9c );
|
||||
PROVIDE ( llc_default_handler = 0x3ff98b3c );
|
||||
PROVIDE ( llc_default_state_tab_p_get = 0x40046058 );
|
||||
PROVIDE ( llc_env = 0x3ffb96d0 );
|
||||
|
@ -184,12 +172,8 @@ PROVIDE ( lm_n_page_tab = 0x3ff990e8 );
|
|||
PROVIDE ( lmp_desc_tab = 0x3ff96e6c );
|
||||
PROVIDE ( lmp_ext_desc_tab = 0x3ff96d9c );
|
||||
PROVIDE ( lm_state = 0x3ffb9a1c );
|
||||
PROVIDE ( _lseek_r = 0x4000bd8c );
|
||||
PROVIDE ( malloc = 0x4000bea0 );
|
||||
PROVIDE ( maxSecretKey_256 = 0x3ff97448 );
|
||||
PROVIDE ( __mb_cur_max = 0x3ff96530 );
|
||||
PROVIDE ( mmu_init = 0x400095a4 );
|
||||
PROVIDE ( __month_lengths = 0x3ff9609c );
|
||||
PROVIDE ( MultiplyBigHexByUint32_256 = 0x40016214 );
|
||||
PROVIDE ( MultiplyBigHexModP256 = 0x400160b8 );
|
||||
PROVIDE ( MultiplyByU32ModP256 = 0x40015fdc );
|
||||
|
@ -199,7 +183,6 @@ PROVIDE ( mz_crc32 = 0x4005ee88 );
|
|||
PROVIDE ( mz_free = 0x4005eed4 );
|
||||
PROVIDE ( notEqual256 = 0x40015b04 );
|
||||
PROVIDE ( one_bits = 0x3ff971f8 );
|
||||
PROVIDE ( _open_r = 0x4000bd54 );
|
||||
PROVIDE ( phy_get_romfuncs = 0x40004100 );
|
||||
PROVIDE ( _Pri_4_HandlerAddress = 0x3ffe0648 );
|
||||
PROVIDE ( _Pri_5_HandlerAddress = 0x3ffe064c );
|
||||
|
@ -248,7 +231,6 @@ PROVIDE ( lm_n192_mod_add = 0x40011e9c );
|
|||
PROVIDE ( lm_n192_mod_sub = 0x40011eec );
|
||||
PROVIDE ( r_ea_alarm_clear = 0x40015ab4 );
|
||||
PROVIDE ( r_ea_alarm_set = 0x40015a10 );
|
||||
PROVIDE ( _read_r = 0x4000bda8 );
|
||||
PROVIDE ( r_ea_elt_cancel = 0x400150d0 );
|
||||
PROVIDE ( r_ea_elt_create = 0x40015264 );
|
||||
PROVIDE ( r_ea_elt_insert = 0x400152a8 );
|
||||
|
@ -262,7 +244,6 @@ PROVIDE ( r_ea_interval_insert = 0x4001557c );
|
|||
PROVIDE ( r_ea_interval_remove = 0x40015590 );
|
||||
PROVIDE ( ea_conflict_check = 0x40014e9c );
|
||||
PROVIDE ( ea_prog_timer = 0x40014f88 );
|
||||
PROVIDE ( realloc = 0x4000becc );
|
||||
PROVIDE ( r_ea_offset_req = 0x40015748 );
|
||||
PROVIDE ( r_ea_sleep_check = 0x40015928 );
|
||||
PROVIDE ( r_ea_sw_isr = 0x40015724 );
|
||||
|
@ -281,7 +262,6 @@ PROVIDE ( r_em_buf_rx_buff_addr_get = 0x400173e8 );
|
|||
PROVIDE ( r_em_buf_rx_free = 0x400173c4 );
|
||||
PROVIDE ( r_em_buf_tx_buff_addr_get = 0x40017404 );
|
||||
PROVIDE ( r_em_buf_tx_free = 0x4001741c );
|
||||
PROVIDE ( _rename_r = 0x4000bc28 );
|
||||
PROVIDE ( r_F1_256 = 0x400133e4 );
|
||||
PROVIDE ( r_F2_256 = 0x40013568 );
|
||||
PROVIDE ( r_F3_256 = 0x40013664 );
|
||||
|
@ -1290,9 +1270,6 @@ PROVIDE ( rwip_priority = 0x3ff99159 );
|
|||
PROVIDE ( rwip_rf = 0x3ffbdb28 );
|
||||
PROVIDE ( rwip_rf_p_get = 0x400558f4 );
|
||||
PROVIDE ( r_XorKey = 0x400112c0 );
|
||||
PROVIDE ( __sf_fake_stderr = 0x3ff96458 );
|
||||
PROVIDE ( __sf_fake_stdin = 0x3ff96498 );
|
||||
PROVIDE ( __sf_fake_stdout = 0x3ff96478 );
|
||||
PROVIDE ( sha_blk_bits = 0x3ff99290 );
|
||||
PROVIDE ( sha_blk_bits_bytes = 0x3ff99288 );
|
||||
PROVIDE ( sha_blk_hash_bytes = 0x3ff9928c );
|
||||
|
@ -1348,17 +1325,12 @@ PROVIDE ( tdefl_get_prev_return_status = 0x400608d0 );
|
|||
PROVIDE ( tdefl_init = 0x40060810 );
|
||||
PROVIDE ( tdefl_write_image_to_png_file_in_memory = 0x4006091c );
|
||||
PROVIDE ( tdefl_write_image_to_png_file_in_memory_ex = 0x40060910 );
|
||||
PROVIDE ( _timezone = 0x3ffae0a0 );
|
||||
PROVIDE ( tinfl_decompress = 0x4005ef30 );
|
||||
PROVIDE ( tinfl_decompress_mem_to_callback = 0x40060090 );
|
||||
PROVIDE ( tinfl_decompress_mem_to_mem = 0x40060050 );
|
||||
PROVIDE ( _tzname = 0x3ffae030 );
|
||||
PROVIDE ( UartDev = 0x3ffe019c );
|
||||
PROVIDE ( _unlink_r = 0x4000bc84 );
|
||||
PROVIDE ( user_code_start = 0x3ffe0400 );
|
||||
PROVIDE ( veryBigHexP256 = 0x3ff9736c );
|
||||
PROVIDE ( __wctomb = 0x3ff96540 );
|
||||
PROVIDE ( _write_r = 0x4000bd70 );
|
||||
PROVIDE ( xthal_bcopy = 0x4000c098 );
|
||||
PROVIDE ( xthal_copy123 = 0x4000c124 );
|
||||
PROVIDE ( xthal_get_ccompare = 0x4000c078 );
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/* Unlike other ROM functions which are exported using PROVIDE, which declares
|
||||
weak symbols, these libgcc functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libgcc.a.
|
||||
*/
|
||||
|
||||
__absvdi2 = 0x4006387c;
|
||||
__absvsi2 = 0x40063868;
|
||||
__adddf3 = 0x40002590;
|
||||
|
@ -41,6 +47,7 @@ __floatundidf = 0x4000c978;
|
|||
__floatundisf = 0x4000c8b0;
|
||||
__floatunsidf = 0x4000c938;
|
||||
__floatunsisf = 0x4000c864;
|
||||
__gcc_bcmp = 0x40064a70;
|
||||
__gedf2 = 0x40063768;
|
||||
__gesf2 = 0x4006340c;
|
||||
__gtdf2 = 0x400636dc;
|
||||
|
|
|
@ -1,100 +0,0 @@
|
|||
/*
|
||||
Address table for printf/scanf family of functions in ESP32 ROM.
|
||||
These functions are compiled with newlib "nano" format option.
|
||||
As such, they don's support 64-bit integer formats.
|
||||
Floating point formats are supported by setting _printf_float and
|
||||
_scanf_float entries in syscall table. This is done automatically
|
||||
by startup code.
|
||||
|
||||
Generated for ROM with MD5sum:
|
||||
ab8282ae908fe9e7a63fb2a4ac2df013 eagle.pro.rom.out
|
||||
*/
|
||||
|
||||
PROVIDE ( asiprintf = 0x40056d9c );
|
||||
PROVIDE ( _asiprintf_r = 0x40056d4c );
|
||||
PROVIDE ( asniprintf = 0x40056cd8 );
|
||||
PROVIDE ( _asniprintf_r = 0x40056c64 );
|
||||
PROVIDE ( asnprintf = 0x40056cd8 );
|
||||
PROVIDE ( _asnprintf_r = 0x40056c64 );
|
||||
PROVIDE ( asprintf = 0x40056d9c );
|
||||
PROVIDE ( _asprintf_r = 0x40056d4c );
|
||||
PROVIDE ( fiprintf = 0x40056efc );
|
||||
PROVIDE ( _fiprintf_r = 0x40056ed8 );
|
||||
PROVIDE ( fiscanf = 0x40058884 );
|
||||
PROVIDE ( _fiscanf_r = 0x400588b4 );
|
||||
PROVIDE ( fprintf = 0x40056efc );
|
||||
PROVIDE ( _fprintf_r = 0x40056ed8 );
|
||||
PROVIDE ( iprintf = 0x40056978 );
|
||||
PROVIDE ( _iprintf_r = 0x40056944 );
|
||||
PROVIDE ( printf = 0x40056978 );
|
||||
PROVIDE ( _printf_common = 0x40057338 );
|
||||
PROVIDE ( _printf_float = 0x4000befc );
|
||||
PROVIDE ( _printf_i = 0x40057404 );
|
||||
PROVIDE ( _printf_r = 0x40056944 );
|
||||
PROVIDE ( siprintf = 0x40056c08 );
|
||||
PROVIDE ( _siprintf_r = 0x40056bbc );
|
||||
PROVIDE ( sniprintf = 0x40056b4c );
|
||||
PROVIDE ( _sniprintf_r = 0x40056ae4 );
|
||||
PROVIDE ( snprintf = 0x40056b4c );
|
||||
PROVIDE ( _snprintf_r = 0x40056ae4 );
|
||||
PROVIDE ( sprintf = 0x40056c08 );
|
||||
PROVIDE ( _sprintf_r = 0x40056bbc );
|
||||
PROVIDE ( __sprint_r = 0x400577e4 );
|
||||
PROVIDE ( _svfiprintf_r = 0x40057100 );
|
||||
PROVIDE ( __svfiscanf_r = 0x40057b08 );
|
||||
PROVIDE ( _svfprintf_r = 0x40057100 );
|
||||
PROVIDE ( __svfscanf = 0x40057f04 );
|
||||
PROVIDE ( __svfscanf_r = 0x40057b08 );
|
||||
PROVIDE ( vasiprintf = 0x40056eb8 );
|
||||
PROVIDE ( _vasiprintf_r = 0x40056e80 );
|
||||
PROVIDE ( vasniprintf = 0x40056e58 );
|
||||
PROVIDE ( _vasniprintf_r = 0x40056df8 );
|
||||
PROVIDE ( vasnprintf = 0x40056e58 );
|
||||
PROVIDE ( _vasnprintf_r = 0x40056df8 );
|
||||
PROVIDE ( vasprintf = 0x40056eb8 );
|
||||
PROVIDE ( _vasprintf_r = 0x40056e80 );
|
||||
PROVIDE ( vfiprintf = 0x40057ae8 );
|
||||
PROVIDE ( _vfiprintf_r = 0x40057850 );
|
||||
PROVIDE ( vfiscanf = 0x40057eb8 );
|
||||
PROVIDE ( _vfiscanf_r = 0x40057f24 );
|
||||
PROVIDE ( vfprintf = 0x40057ae8 );
|
||||
PROVIDE ( _vfprintf_r = 0x40057850 );
|
||||
PROVIDE ( vfscanf = 0x40057eb8 );
|
||||
PROVIDE ( _vfscanf_r = 0x40057f24 );
|
||||
PROVIDE ( viprintf = 0x400569b4 );
|
||||
PROVIDE ( _viprintf_r = 0x400569e4 );
|
||||
PROVIDE ( viscanf = 0x40058698 );
|
||||
PROVIDE ( _viscanf_r = 0x400586c8 );
|
||||
PROVIDE ( vprintf = 0x400569b4 );
|
||||
PROVIDE ( _vprintf_r = 0x400569e4 );
|
||||
PROVIDE ( vscanf = 0x40058698 );
|
||||
PROVIDE ( _vscanf_r = 0x400586c8 );
|
||||
PROVIDE ( vsiprintf = 0x40056ac4 );
|
||||
PROVIDE ( _vsiprintf_r = 0x40056a90 );
|
||||
PROVIDE ( vsiscanf = 0x40058740 );
|
||||
PROVIDE ( _vsiscanf_r = 0x400586f8 );
|
||||
PROVIDE ( vsniprintf = 0x40056a68 );
|
||||
PROVIDE ( _vsniprintf_r = 0x40056a14 );
|
||||
PROVIDE ( vsnprintf = 0x40056a68 );
|
||||
PROVIDE ( _vsnprintf_r = 0x40056a14 );
|
||||
PROVIDE ( vsprintf = 0x40056ac4 );
|
||||
PROVIDE ( _vsprintf_r = 0x40056a90 );
|
||||
PROVIDE ( vsscanf = 0x40058740 );
|
||||
PROVIDE ( _vsscanf_r = 0x400586f8 );
|
||||
PROVIDE ( fscanf = 0x40058884 );
|
||||
PROVIDE ( _fscanf_r = 0x400588b4 );
|
||||
PROVIDE ( iscanf = 0x40058760 );
|
||||
PROVIDE ( _iscanf_r = 0x4005879c );
|
||||
PROVIDE ( scanf = 0x40058760 );
|
||||
PROVIDE ( _scanf_chars = 0x40058384 );
|
||||
PROVIDE ( _scanf_float = 0x4000bf18 );
|
||||
PROVIDE ( _scanf_i = 0x4005845c );
|
||||
PROVIDE ( _scanf_r = 0x4005879c );
|
||||
PROVIDE ( siscanf = 0x400587d0 );
|
||||
PROVIDE ( _siscanf_r = 0x40058830 );
|
||||
PROVIDE ( sscanf = 0x400587d0 );
|
||||
PROVIDE ( _sscanf_r = 0x40058830 );
|
||||
PROVIDE ( __ssvfiscanf_r = 0x4005802c );
|
||||
PROVIDE ( __ssvfscanf_r = 0x4005802c );
|
||||
|
||||
|
23
components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
Normal file
23
components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* These are the .bss/.data symbols used by newlib functions present in ESP32 ROM.
|
||||
See also esp32.rom.newlib-funcs.ld for the list of general newlib functions,
|
||||
and esp32.rom.newlib-nano.ld for "nano" versions of printf/scanf family of functions.
|
||||
|
||||
Unlike other ROM functions and data which are exported using PROVIDE, which declares
|
||||
weak symbols, newlib related functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libc.a.
|
||||
*/
|
||||
|
||||
_ctype_ = 0x3ff96354;
|
||||
__ctype_ptr__ = 0x3ff96350;
|
||||
_daylight = 0x3ffae0a4;
|
||||
environ = 0x3ffae0b4;
|
||||
_global_impure_ptr = 0x3ffae0b0;
|
||||
__mb_cur_max = 0x3ff96530;
|
||||
__month_lengths = 0x3ff9609c;
|
||||
__sf_fake_stderr = 0x3ff96458;
|
||||
__sf_fake_stdin = 0x3ff96498;
|
||||
__sf_fake_stdout = 0x3ff96478;
|
||||
_timezone = 0x3ffae0a0;
|
||||
_tzname = 0x3ffae030;
|
||||
__wctomb = 0x3ff96540;
|
152
components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
Normal file
152
components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
Normal file
|
@ -0,0 +1,152 @@
|
|||
/* These are the newlib functions present in ESP32 ROM.
|
||||
They should not be used when compiling with PSRAM cache workaround enabled.
|
||||
See also esp32.rom.newlib-data.ld for the list of .data/.bss symbols
|
||||
used by these functions, and esp32.rom.newlib-nano.ld for "nano" versions
|
||||
of printf/scanf family of functions.
|
||||
|
||||
Unlike other ROM functions which are exported using PROVIDE, which declares
|
||||
weak symbols, newlib related functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libc.a.
|
||||
*/
|
||||
|
||||
abs = 0x40056340;
|
||||
__ascii_wctomb = 0x40058ef0;
|
||||
asctime = 0x40059588;
|
||||
asctime_r = 0x40000ec8;
|
||||
atoi = 0x400566c4;
|
||||
_atoi_r = 0x400566d4;
|
||||
atol = 0x400566ec;
|
||||
_atol_r = 0x400566fc;
|
||||
bzero = 0x4000c1f4;
|
||||
_cleanup = 0x40001df8;
|
||||
_cleanup_r = 0x40001d48;
|
||||
creat = 0x40000e8c;
|
||||
ctime = 0x400595b0;
|
||||
ctime_r = 0x400595c4;
|
||||
div = 0x40056348;
|
||||
__dummy_lock = 0x4000c728;
|
||||
__dummy_lock_try = 0x4000c730;
|
||||
__env_lock = 0x40001fd4;
|
||||
__env_unlock = 0x40001fe0;
|
||||
fclose = 0x400020ac;
|
||||
_fclose_r = 0x40001fec;
|
||||
fflush = 0x40059394;
|
||||
_fflush_r = 0x40059320;
|
||||
_findenv_r = 0x40001f44;
|
||||
__fp_lock_all = 0x40001f1c;
|
||||
__fp_unlock_all = 0x40001f30;
|
||||
__fputwc = 0x40058da0;
|
||||
fputwc = 0x40058ea8;
|
||||
_fputwc_r = 0x40058e4c;
|
||||
_fwalk = 0x4000c738;
|
||||
_fwalk_reent = 0x4000c770;
|
||||
__get_current_time_locale = 0x40001834;
|
||||
_getenv_r = 0x40001fbc;
|
||||
__gettzinfo = 0x40001fcc;
|
||||
gmtime = 0x40059848;
|
||||
gmtime_r = 0x40059868;
|
||||
isalnum = 0x40000f04;
|
||||
isalpha = 0x40000f18;
|
||||
isascii = 0x4000c20c;
|
||||
_isatty_r = 0x40000ea0;
|
||||
isblank = 0x40000f2c;
|
||||
iscntrl = 0x40000f50;
|
||||
isdigit = 0x40000f64;
|
||||
isgraph = 0x40000f94;
|
||||
islower = 0x40000f78;
|
||||
isprint = 0x40000fa8;
|
||||
ispunct = 0x40000fc0;
|
||||
isspace = 0x40000fd4;
|
||||
isupper = 0x40000fe8;
|
||||
__itoa = 0x40056678;
|
||||
itoa = 0x400566b4;
|
||||
labs = 0x40056370;
|
||||
ldiv = 0x40056378;
|
||||
localtime = 0x400595dc;
|
||||
localtime_r = 0x400595fc;
|
||||
longjmp = 0x400562cc;
|
||||
memccpy = 0x4000c220;
|
||||
memchr = 0x4000c244;
|
||||
memcmp = 0x4000c260;
|
||||
memcpy = 0x4000c2c8;
|
||||
memmove = 0x4000c3c0;
|
||||
memrchr = 0x4000c400;
|
||||
memset = 0x4000c44c;
|
||||
mktime = 0x4005a5e8;
|
||||
qsort = 0x40056424;
|
||||
rand = 0x40001058;
|
||||
rand_r = 0x400010d4;
|
||||
__sccl = 0x4000c498;
|
||||
__sclose = 0x400011b8;
|
||||
__seofread = 0x40001148;
|
||||
setjmp = 0x40056268;
|
||||
__sflush_r = 0x400591e0;
|
||||
__sfmoreglue = 0x40001dc8;
|
||||
__sfp = 0x40001e90;
|
||||
__sfp_lock_acquire = 0x40001e08;
|
||||
__sfp_lock_release = 0x40001e14;
|
||||
__sfvwrite_r = 0x4005893c;
|
||||
__sinit = 0x40001e38;
|
||||
__sinit_lock_acquire = 0x40001e20;
|
||||
__sinit_lock_release = 0x40001e2c;
|
||||
__smakebuf_r = 0x40059108;
|
||||
srand = 0x40001004;
|
||||
__sread = 0x40001118;
|
||||
__srefill_r = 0x400593d4;
|
||||
__sseek = 0x40001184;
|
||||
strcasecmp = 0x400011cc;
|
||||
strcasestr = 0x40001210;
|
||||
strcat = 0x4000c518;
|
||||
strchr = 0x4000c53c;
|
||||
strcmp = 0x40001274;
|
||||
strcoll = 0x40001398;
|
||||
strcpy = 0x400013ac;
|
||||
strcspn = 0x4000c558;
|
||||
strdup = 0x4000143c;
|
||||
_strdup_r = 0x40001450;
|
||||
strftime = 0x40059ab4;
|
||||
strlcat = 0x40001470;
|
||||
strlcpy = 0x4000c584;
|
||||
strlen = 0x400014c0;
|
||||
strlwr = 0x40001524;
|
||||
strncasecmp = 0x40001550;
|
||||
strncat = 0x4000c5c4;
|
||||
strncmp = 0x4000c5f4;
|
||||
strncpy = 0x400015d4;
|
||||
strndup = 0x400016b0;
|
||||
_strndup_r = 0x400016c4;
|
||||
strnlen = 0x4000c628;
|
||||
strrchr = 0x40001708;
|
||||
strsep = 0x40001734;
|
||||
strspn = 0x4000c648;
|
||||
strstr = 0x4000c674;
|
||||
__strtok_r = 0x4000c6a8;
|
||||
strtok_r = 0x4000c70c;
|
||||
strtol = 0x4005681c;
|
||||
_strtol_r = 0x40056714;
|
||||
strtoul = 0x4005692c;
|
||||
_strtoul_r = 0x40056834;
|
||||
strupr = 0x4000174c;
|
||||
__submore = 0x40058f3c;
|
||||
__swbuf = 0x40058cb4;
|
||||
__swbuf_r = 0x40058bec;
|
||||
__swrite = 0x40001150;
|
||||
__swsetup_r = 0x40058cc8;
|
||||
time = 0x40001844;
|
||||
__time_load_locale = 0x4000183c;
|
||||
toascii = 0x4000c720;
|
||||
tolower = 0x40001868;
|
||||
toupper = 0x40001884;
|
||||
__tzcalc_limits = 0x400018a0;
|
||||
__tz_lock = 0x40001a04;
|
||||
tzset = 0x40001a1c;
|
||||
_tzset_r = 0x40001a28;
|
||||
__tz_unlock = 0x40001a10;
|
||||
ungetc = 0x400590f4;
|
||||
_ungetc_r = 0x40058fa0;
|
||||
__utoa = 0x400561f0;
|
||||
utoa = 0x40056258;
|
||||
wcrtomb = 0x40058920;
|
||||
_wcrtomb_r = 0x400588d8;
|
||||
_wctomb_r = 0x40058f14;
|
19
components/esp_rom/esp32/ld/esp32.rom.newlib-locale.ld
Normal file
19
components/esp_rom/esp32/ld/esp32.rom.newlib-locale.ld
Normal file
|
@ -0,0 +1,19 @@
|
|||
/* These are the locale-related newlib functions present in ESP32 ROM.
|
||||
ESP32 ROM contains newlib version 2.2.0, and these functions should not be
|
||||
used when compiling with newlib version 3, since locale implementation is
|
||||
different there.
|
||||
|
||||
Unlike other ROM functions which are exported using PROVIDE, which declares
|
||||
weak symbols, newlib related functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libc.a.
|
||||
*/
|
||||
|
||||
__locale_charset = 0x40059540;
|
||||
__locale_cjk_lang = 0x40059558;
|
||||
localeconv = 0x4005957c;
|
||||
_localeconv_r = 0x40059560;
|
||||
__locale_mb_cur_max = 0x40059548;
|
||||
__locale_msgcharset = 0x40059550;
|
||||
setlocale = 0x40059568;
|
||||
_setlocale_r = 0x4005950c;
|
115
components/esp_rom/esp32/ld/esp32.rom.newlib-nano.ld
Normal file
115
components/esp_rom/esp32/ld/esp32.rom.newlib-nano.ld
Normal file
|
@ -0,0 +1,115 @@
|
|||
/* These are the printf/scanf related newlib functions present in ESP32 ROM.
|
||||
These functions are compiled with newlib "nano" format option.
|
||||
As such, they don's support 64-bit integer formats.
|
||||
Floating point formats are supported by setting _printf_float and
|
||||
_scanf_float entries in syscall table. This is done automatically
|
||||
by startup code.
|
||||
These functions should not be used when compiling with PSRAM cache workaround enabled.
|
||||
See also esp32.rom.newlib-data.ld for the list of .data/.bss symbols
|
||||
used by newlib functions, and esp32.rom.newlib-funcs.ld for the list
|
||||
of general newlib functions.
|
||||
|
||||
Unlike other ROM functions which are exported using PROVIDE, which declares
|
||||
weak symbols, newlib related functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libc.a.
|
||||
*/
|
||||
|
||||
asiprintf = 0x40056d9c;
|
||||
_asiprintf_r = 0x40056d4c;
|
||||
asniprintf = 0x40056cd8;
|
||||
_asniprintf_r = 0x40056c64;
|
||||
asnprintf = 0x40056cd8;
|
||||
_asnprintf_r = 0x40056c64;
|
||||
asprintf = 0x40056d9c;
|
||||
_asprintf_r = 0x40056d4c;
|
||||
fiprintf = 0x40056efc;
|
||||
_fiprintf_r = 0x40056ed8;
|
||||
fiscanf = 0x40058884;
|
||||
_fiscanf_r = 0x400588b4;
|
||||
fprintf = 0x40056efc;
|
||||
_fprintf_r = 0x40056ed8;
|
||||
fscanf = 0x40058884;
|
||||
_fscanf_r = 0x400588b4;
|
||||
iprintf = 0x40056978;
|
||||
_iprintf_r = 0x40056944;
|
||||
iscanf = 0x40058760;
|
||||
_iscanf_r = 0x4005879c;
|
||||
printf = 0x40056978;
|
||||
_printf_common = 0x40057338;
|
||||
_printf_i = 0x40057404;
|
||||
_printf_r = 0x40056944;
|
||||
scanf = 0x40058760;
|
||||
_scanf_chars = 0x40058384;
|
||||
_scanf_i = 0x4005845c;
|
||||
_scanf_r = 0x4005879c;
|
||||
__sfputs_r = 0x40057790;
|
||||
siprintf = 0x40056c08;
|
||||
_siprintf_r = 0x40056bbc;
|
||||
siscanf = 0x400587d0;
|
||||
_siscanf_r = 0x40058830;
|
||||
sniprintf = 0x40056b4c;
|
||||
_sniprintf_r = 0x40056ae4;
|
||||
snprintf = 0x40056b4c;
|
||||
_snprintf_r = 0x40056ae4;
|
||||
sprintf = 0x40056c08;
|
||||
_sprintf_r = 0x40056bbc;
|
||||
__sprint_r = 0x400577e4;
|
||||
sscanf = 0x400587d0;
|
||||
_sscanf_r = 0x40058830;
|
||||
__ssprint_r = 0x40056ff8;
|
||||
__ssputs_r = 0x40056f2c;
|
||||
__ssrefill_r = 0x40057fec;
|
||||
__ssvfiscanf_r = 0x4005802c;
|
||||
__ssvfscanf_r = 0x4005802c;
|
||||
_sungetc_r = 0x40057f6c;
|
||||
_svfiprintf_r = 0x40057100;
|
||||
__svfiscanf_r = 0x40057b08;
|
||||
_svfprintf_r = 0x40057100;
|
||||
__svfscanf = 0x40057f04;
|
||||
__svfscanf_r = 0x40057b08;
|
||||
vasiprintf = 0x40056eb8;
|
||||
_vasiprintf_r = 0x40056e80;
|
||||
vasniprintf = 0x40056e58;
|
||||
_vasniprintf_r = 0x40056df8;
|
||||
vasnprintf = 0x40056e58;
|
||||
_vasnprintf_r = 0x40056df8;
|
||||
vasprintf = 0x40056eb8;
|
||||
_vasprintf_r = 0x40056e80;
|
||||
vfiprintf = 0x40057ae8;
|
||||
_vfiprintf_r = 0x40057850;
|
||||
vfiscanf = 0x40057eb8;
|
||||
_vfiscanf_r = 0x40057f24;
|
||||
vfprintf = 0x40057ae8;
|
||||
_vfprintf_r = 0x40057850;
|
||||
vfscanf = 0x40057eb8;
|
||||
_vfscanf_r = 0x40057f24;
|
||||
viprintf = 0x400569b4;
|
||||
_viprintf_r = 0x400569e4;
|
||||
viscanf = 0x40058698;
|
||||
_viscanf_r = 0x400586c8;
|
||||
vprintf = 0x400569b4;
|
||||
_vprintf_r = 0x400569e4;
|
||||
vscanf = 0x40058698;
|
||||
_vscanf_r = 0x400586c8;
|
||||
vsiprintf = 0x40056ac4;
|
||||
_vsiprintf_r = 0x40056a90;
|
||||
vsiscanf = 0x40058740;
|
||||
_vsiscanf_r = 0x400586f8;
|
||||
vsniprintf = 0x40056a68;
|
||||
_vsniprintf_r = 0x40056a14;
|
||||
vsnprintf = 0x40056a68;
|
||||
_vsnprintf_r = 0x40056a14;
|
||||
vsprintf = 0x40056ac4;
|
||||
_vsprintf_r = 0x40056a90;
|
||||
vsscanf = 0x40058740;
|
||||
_vsscanf_r = 0x400586f8;
|
||||
|
||||
/* _print_float and _scanf_float functions in ROM are stubs which call
|
||||
real implementations in IDF through the syscall table.
|
||||
As such, don't include these ROM symbols.
|
||||
|
||||
_printf_float = 0x4000befc;
|
||||
_scanf_float = 0x4000bf18;
|
||||
|
||||
*/
|
|
@ -3,7 +3,7 @@
|
|||
and different definitions for functions with the same names are provided.
|
||||
This file is not used when linking ESP-IDF and is intended for reference only
|
||||
*/
|
||||
|
||||
|
||||
PROVIDE ( abort = 0x4000bba4 );
|
||||
PROVIDE ( aes_128_cbc_decrypt = 0x4005cc7c );
|
||||
PROVIDE ( aes_128_cbc_encrypt = 0x4005cc18 );
|
||||
|
@ -19,42 +19,21 @@ PROVIDE ( ets_timer_done = 0x40008428 );
|
|||
PROVIDE ( ets_timer_init = 0x400084e8 );
|
||||
PROVIDE ( ets_timer_handler_isr = 0x40008454 );
|
||||
PROVIDE ( ets_timer_setfn = 0x40008350 );
|
||||
PROVIDE ( _free_r = 0x4000bbcc );
|
||||
PROVIDE ( _getpid_r = 0x4000bcfc );
|
||||
PROVIDE ( __getreent = 0x4000be8c );
|
||||
PROVIDE ( _gettimeofday_r = 0x4000bc58 );
|
||||
PROVIDE ( hmac_md5 = 0x4005d264 );
|
||||
PROVIDE ( hmac_md5_vector = 0x4005d17c );
|
||||
PROVIDE ( hmac_sha1 = 0x40060acc );
|
||||
PROVIDE ( hmac_sha1_vector = 0x400609e4 );
|
||||
PROVIDE ( hmac_sha256 = 0x40060d58 );
|
||||
PROVIDE ( hmac_sha256_vector = 0x40060c84 );
|
||||
PROVIDE ( _kill_r = 0x4000bd10 );
|
||||
PROVIDE ( _lock_acquire = 0x4000be14 );
|
||||
PROVIDE ( _lock_acquire_recursive = 0x4000be28 );
|
||||
PROVIDE ( _lock_close = 0x4000bdec );
|
||||
PROVIDE ( _lock_close_recursive = 0x4000be00 );
|
||||
PROVIDE ( _lock_init = 0x4000bdc4 );
|
||||
PROVIDE ( _lock_init_recursive = 0x4000bdd8 );
|
||||
PROVIDE ( _lock_release = 0x4000be64 );
|
||||
PROVIDE ( _lock_release_recursive = 0x4000be78 );
|
||||
PROVIDE ( _lock_try_acquire = 0x4000be3c );
|
||||
PROVIDE ( _lock_try_acquire_recursive = 0x4000be50 );
|
||||
PROVIDE ( _malloc_r = 0x4000bbb4 );
|
||||
PROVIDE ( MD5Final = 0x4005db1c );
|
||||
PROVIDE ( MD5Init = 0x4005da7c );
|
||||
PROVIDE ( MD5Update = 0x4005da9c );
|
||||
PROVIDE ( md5_vector = 0x4005db80 );
|
||||
PROVIDE ( pbkdf2_sha1 = 0x40060ba4 );
|
||||
PROVIDE ( rc4_skip = 0x40060928 );
|
||||
PROVIDE ( _raise_r = 0x4000bc70 );
|
||||
PROVIDE ( _realloc_r = 0x4000bbe0 );
|
||||
PROVIDE ( _sbrk_r = 0x4000bce4 );
|
||||
PROVIDE ( sha1_prf = 0x40060ae8 );
|
||||
PROVIDE ( sha1_vector = 0x40060b64 );
|
||||
PROVIDE ( sha256_prf = 0x40060d70 );
|
||||
PROVIDE ( sha256_vector = 0x40060e08 );
|
||||
PROVIDE ( _system_r = 0x4000bc10 );
|
||||
PROVIDE ( _times_r = 0x4000bc40 );
|
||||
PROVIDE ( uart_tx_wait_idle = 0x40009278 );
|
||||
|
||||
|
|
|
@ -1,163 +0,0 @@
|
|||
/*
|
||||
If the spiram compiler workaround is active, these functions from ROM cannot be used. If the workaround is not
|
||||
active (e.g. because the system does not use SPI RAM) then these functions are okay to use.
|
||||
*/
|
||||
PROVIDE ( abs = 0x40056340 );
|
||||
PROVIDE ( __ascii_wctomb = 0x40058ef0 );
|
||||
PROVIDE ( asctime = 0x40059588 );
|
||||
PROVIDE ( asctime_r = 0x40000ec8 );
|
||||
PROVIDE ( atoi = 0x400566c4 );
|
||||
PROVIDE ( _atoi_r = 0x400566d4 );
|
||||
PROVIDE ( atol = 0x400566ec );
|
||||
PROVIDE ( _atol_r = 0x400566fc );
|
||||
PROVIDE ( bzero = 0x4000c1f4 );
|
||||
PROVIDE ( _cleanup = 0x40001df8 );
|
||||
PROVIDE ( _cleanup_r = 0x40001d48 );
|
||||
PROVIDE ( close = 0x40001778 );
|
||||
PROVIDE ( creat = 0x40000e8c );
|
||||
PROVIDE ( ctime = 0x400595b0 );
|
||||
PROVIDE ( ctime_r = 0x400595c4 );
|
||||
PROVIDE ( div = 0x40056348 );
|
||||
PROVIDE ( __dummy_lock = 0x4000c728 );
|
||||
PROVIDE ( __dummy_lock_try = 0x4000c730 );
|
||||
PROVIDE ( __env_lock = 0x40001fd4 );
|
||||
PROVIDE ( __env_unlock = 0x40001fe0 );
|
||||
PROVIDE ( fclose = 0x400020ac );
|
||||
PROVIDE ( _fclose_r = 0x40001fec );
|
||||
PROVIDE ( fflush = 0x40059394 );
|
||||
PROVIDE ( _fflush_r = 0x40059320 );
|
||||
PROVIDE ( _findenv_r = 0x40001f44 );
|
||||
PROVIDE ( __fp_lock_all = 0x40001f1c );
|
||||
PROVIDE ( __fp_unlock_all = 0x40001f30 );
|
||||
PROVIDE ( fputwc = 0x40058ea8 );
|
||||
PROVIDE ( __fputwc = 0x40058da0 );
|
||||
PROVIDE ( _fputwc_r = 0x40058e4c );
|
||||
PROVIDE ( _fwalk = 0x4000c738 );
|
||||
PROVIDE ( _fwalk_reent = 0x4000c770 );
|
||||
PROVIDE ( __get_current_time_locale = 0x40001834 );
|
||||
PROVIDE ( _getenv_r = 0x40001fbc );
|
||||
PROVIDE ( __gettzinfo = 0x40001fcc );
|
||||
PROVIDE ( gmtime = 0x40059848 );
|
||||
PROVIDE ( gmtime_r = 0x40059868 );
|
||||
PROVIDE ( isalnum = 0x40000f04 );
|
||||
PROVIDE ( isalpha = 0x40000f18 );
|
||||
PROVIDE ( isascii = 0x4000c20c );
|
||||
PROVIDE ( _isatty_r = 0x40000ea0 );
|
||||
PROVIDE ( isblank = 0x40000f2c );
|
||||
PROVIDE ( iscntrl = 0x40000f50 );
|
||||
PROVIDE ( isdigit = 0x40000f64 );
|
||||
PROVIDE ( isgraph = 0x40000f94 );
|
||||
PROVIDE ( islower = 0x40000f78 );
|
||||
PROVIDE ( isprint = 0x40000fa8 );
|
||||
PROVIDE ( ispunct = 0x40000fc0 );
|
||||
PROVIDE ( isspace = 0x40000fd4 );
|
||||
PROVIDE ( isupper = 0x40000fe8 );
|
||||
PROVIDE ( itoa = 0x400566b4 );
|
||||
PROVIDE ( __itoa = 0x40056678 );
|
||||
PROVIDE ( labs = 0x40056370 );
|
||||
PROVIDE ( ldiv = 0x40056378 );
|
||||
PROVIDE ( __locale_charset = 0x40059540 );
|
||||
PROVIDE ( __locale_cjk_lang = 0x40059558 );
|
||||
PROVIDE ( localeconv = 0x4005957c );
|
||||
PROVIDE ( _localeconv_r = 0x40059560 );
|
||||
PROVIDE ( __locale_mb_cur_max = 0x40059548 );
|
||||
PROVIDE ( __locale_msgcharset = 0x40059550 );
|
||||
PROVIDE ( localtime = 0x400595dc );
|
||||
PROVIDE ( localtime_r = 0x400595fc );
|
||||
PROVIDE ( longjmp = 0x400562cc );
|
||||
PROVIDE ( memccpy = 0x4000c220 );
|
||||
PROVIDE ( memchr = 0x4000c244 );
|
||||
PROVIDE ( memcmp = 0x4000c260 );
|
||||
PROVIDE ( memcpy = 0x4000c2c8 );
|
||||
PROVIDE ( memmove = 0x4000c3c0 );
|
||||
PROVIDE ( memrchr = 0x4000c400 );
|
||||
PROVIDE ( memset = 0x4000c44c );
|
||||
PROVIDE ( mktime = 0x4005a5e8 );
|
||||
PROVIDE ( open = 0x4000178c );
|
||||
PROVIDE ( qsort = 0x40056424 );
|
||||
PROVIDE ( rand = 0x40001058 );
|
||||
PROVIDE ( rand_r = 0x400010d4 );
|
||||
PROVIDE ( read = 0x400017dc );
|
||||
PROVIDE ( sbrk = 0x400017f4 );
|
||||
PROVIDE ( __sccl = 0x4000c498 );
|
||||
PROVIDE ( __sclose = 0x400011b8 );
|
||||
PROVIDE ( __seofread = 0x40001148 );
|
||||
PROVIDE ( setjmp = 0x40056268 );
|
||||
PROVIDE ( setlocale = 0x40059568 );
|
||||
PROVIDE ( _setlocale_r = 0x4005950c );
|
||||
PROVIDE ( __sflush_r = 0x400591e0 );
|
||||
PROVIDE ( __sfmoreglue = 0x40001dc8 );
|
||||
PROVIDE ( __sfp = 0x40001e90 );
|
||||
PROVIDE ( __sfp_lock_acquire = 0x40001e08 );
|
||||
PROVIDE ( __sfp_lock_release = 0x40001e14 );
|
||||
PROVIDE ( __sfputs_r = 0x40057790 );
|
||||
PROVIDE ( __sfvwrite_r = 0x4005893c );
|
||||
PROVIDE ( __sinit = 0x40001e38 );
|
||||
PROVIDE ( __sinit_lock_acquire = 0x40001e20 );
|
||||
PROVIDE ( __sinit_lock_release = 0x40001e2c );
|
||||
PROVIDE ( __smakebuf_r = 0x40059108 );
|
||||
PROVIDE ( srand = 0x40001004 );
|
||||
PROVIDE ( __sread = 0x40001118 );
|
||||
PROVIDE ( __srefill_r = 0x400593d4 );
|
||||
PROVIDE ( __sseek = 0x40001184 );
|
||||
PROVIDE ( __ssprint_r = 0x40056ff8 );
|
||||
PROVIDE ( __ssputs_r = 0x40056f2c );
|
||||
PROVIDE ( __ssrefill_r = 0x40057fec );
|
||||
PROVIDE ( strcasecmp = 0x400011cc );
|
||||
PROVIDE ( strcasestr = 0x40001210 );
|
||||
PROVIDE ( strcat = 0x4000c518 );
|
||||
PROVIDE ( strchr = 0x4000c53c );
|
||||
PROVIDE ( strcmp = 0x40001274 );
|
||||
PROVIDE ( strcoll = 0x40001398 );
|
||||
PROVIDE ( strcpy = 0x400013ac );
|
||||
PROVIDE ( strcspn = 0x4000c558 );
|
||||
PROVIDE ( strdup = 0x4000143c );
|
||||
PROVIDE ( _strdup_r = 0x40001450 );
|
||||
PROVIDE ( strftime = 0x40059ab4 );
|
||||
PROVIDE ( strlcat = 0x40001470 );
|
||||
PROVIDE ( strlcpy = 0x4000c584 );
|
||||
PROVIDE ( strlen = 0x400014c0 );
|
||||
PROVIDE ( strlwr = 0x40001524 );
|
||||
PROVIDE ( strncasecmp = 0x40001550 );
|
||||
PROVIDE ( strncat = 0x4000c5c4 );
|
||||
PROVIDE ( strncmp = 0x4000c5f4 );
|
||||
PROVIDE ( strncpy = 0x400015d4 );
|
||||
PROVIDE ( strndup = 0x400016b0 );
|
||||
PROVIDE ( _strndup_r = 0x400016c4 );
|
||||
PROVIDE ( strnlen = 0x4000c628 );
|
||||
PROVIDE ( strrchr = 0x40001708 );
|
||||
PROVIDE ( strsep = 0x40001734 );
|
||||
PROVIDE ( strspn = 0x4000c648 );
|
||||
PROVIDE ( strstr = 0x4000c674 );
|
||||
PROVIDE ( __strtok_r = 0x4000c6a8 );
|
||||
PROVIDE ( strtok_r = 0x4000c70c );
|
||||
PROVIDE ( strtol = 0x4005681c );
|
||||
PROVIDE ( _strtol_r = 0x40056714 );
|
||||
PROVIDE ( strtoul = 0x4005692c );
|
||||
PROVIDE ( _strtoul_r = 0x40056834 );
|
||||
PROVIDE ( strupr = 0x4000174c );
|
||||
PROVIDE ( __submore = 0x40058f3c );
|
||||
PROVIDE ( _sungetc_r = 0x40057f6c );
|
||||
PROVIDE ( __swbuf = 0x40058cb4 );
|
||||
PROVIDE ( __swbuf_r = 0x40058bec );
|
||||
PROVIDE ( __swrite = 0x40001150 );
|
||||
PROVIDE ( __swsetup_r = 0x40058cc8 );
|
||||
PROVIDE ( time = 0x40001844 );
|
||||
PROVIDE ( __time_load_locale = 0x4000183c );
|
||||
PROVIDE ( times = 0x40001808 );
|
||||
PROVIDE ( toascii = 0x4000c720 );
|
||||
PROVIDE ( tolower = 0x40001868 );
|
||||
PROVIDE ( toupper = 0x40001884 );
|
||||
PROVIDE ( __tzcalc_limits = 0x400018a0 );
|
||||
PROVIDE ( __tz_lock = 0x40001a04 );
|
||||
PROVIDE ( tzset = 0x40001a1c );
|
||||
PROVIDE ( _tzset_r = 0x40001a28 );
|
||||
PROVIDE ( __tz_unlock = 0x40001a10 );
|
||||
PROVIDE ( ungetc = 0x400590f4 );
|
||||
PROVIDE ( _ungetc_r = 0x40058fa0 );
|
||||
PROVIDE ( utoa = 0x40056258 );
|
||||
PROVIDE ( __utoa = 0x400561f0 );
|
||||
PROVIDE ( wcrtomb = 0x40058920 );
|
||||
PROVIDE ( _wcrtomb_r = 0x400588d8 );
|
||||
PROVIDE ( _wctomb_r = 0x40058f14 );
|
||||
PROVIDE ( write = 0x4000181c );
|
79
components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
Normal file
79
components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
Normal file
|
@ -0,0 +1,79 @@
|
|||
/* These ROM functions call respective entries in syscall table.
|
||||
IDF implementations of these function carry different names
|
||||
(usually esp_vfs_*) so we still export these functions,
|
||||
in case some newlib function needs to call them.
|
||||
|
||||
I.e.:
|
||||
|
||||
open (in ROM) -> _open_r (in ROM) -> syscall table entry _open_r -> esp_vfs_open (in IDF)
|
||||
|
||||
*/
|
||||
|
||||
PROVIDE ( _close_r = 0x4000bd3c );
|
||||
PROVIDE ( _exit_r = 0x4000bd28 );
|
||||
PROVIDE ( _fstat_r = 0x4000bccc );
|
||||
PROVIDE ( _link_r = 0x4000bc9c );
|
||||
PROVIDE ( _lseek_r = 0x4000bd8c );
|
||||
PROVIDE ( _open_r = 0x4000bd54 );
|
||||
PROVIDE ( _read_r = 0x4000bda8 );
|
||||
PROVIDE ( _rename_r = 0x4000bc28 );
|
||||
PROVIDE ( _unlink_r = 0x4000bc84 );
|
||||
PROVIDE ( _write_r = 0x4000bd70 );
|
||||
|
||||
|
||||
/* These ROM functions call respective entries in the syscall table.
|
||||
They are called by other ROM functions (mostly from newlib).
|
||||
We don't link to them directly, since in IDF there are actual
|
||||
implementations of these functions, with same names.
|
||||
|
||||
I.e.:
|
||||
|
||||
times (in ROM) -> _times_r (in ROM) -> syscall table entry _times_r -> _times_r (in IDF)
|
||||
|
||||
Hence the following entries are provided only for reference
|
||||
and commented out.
|
||||
*/
|
||||
|
||||
/* <--- the following lines are commented out
|
||||
|
||||
PROVIDE ( calloc = 0x4000bee4 );
|
||||
PROVIDE ( free = 0x4000beb8 );
|
||||
PROVIDE ( _free_r = 0x4000bbcc );
|
||||
PROVIDE ( _getpid_r = 0x4000bcfc );
|
||||
PROVIDE ( __getreent = 0x4000be8c );
|
||||
PROVIDE ( _gettimeofday_r = 0x4000bc58 );
|
||||
PROVIDE ( _kill_r = 0x4000bd10 );
|
||||
PROVIDE ( _lock_acquire = 0x4000be14 );
|
||||
PROVIDE ( _lock_acquire_recursive = 0x4000be28 );
|
||||
PROVIDE ( _lock_close = 0x4000bdec );
|
||||
PROVIDE ( _lock_close_recursive = 0x4000be00 );
|
||||
PROVIDE ( _lock_init = 0x4000bdc4 );
|
||||
PROVIDE ( _lock_init_recursive = 0x4000bdd8 );
|
||||
PROVIDE ( _lock_release = 0x4000be64 );
|
||||
PROVIDE ( _lock_release_recursive = 0x4000be78 );
|
||||
PROVIDE ( _lock_try_acquire = 0x4000be3c );
|
||||
PROVIDE ( _lock_try_acquire_recursive = 0x4000be50 );
|
||||
PROVIDE ( malloc = 0x4000bea0 );
|
||||
PROVIDE ( _malloc_r = 0x4000bbb4 );
|
||||
PROVIDE ( _raise_r = 0x4000bc70 );
|
||||
PROVIDE ( realloc = 0x4000becc );
|
||||
PROVIDE ( _realloc_r = 0x4000bbe0 );
|
||||
PROVIDE ( _sbrk_r = 0x4000bce4 );
|
||||
PROVIDE ( _system_r = 0x4000bc10 );
|
||||
PROVIDE ( _times_r = 0x4000bc40 );
|
||||
|
||||
---> end commented out block
|
||||
*/
|
||||
|
||||
|
||||
/* These are the non-reentrant versions of syscalls present in the ROM.
|
||||
They call the reentrant versions, passing the pointer returned by __getreent
|
||||
as the first argument.
|
||||
*/
|
||||
|
||||
close = 0x40001778;
|
||||
open = 0x4000178c;
|
||||
read = 0x400017dc;
|
||||
sbrk = 0x400017f4;
|
||||
times = 0x40001808;
|
||||
write = 0x4000181c;
|
|
@ -1,23 +1,19 @@
|
|||
set(COMPONENT_SRCS "locks.c"
|
||||
set(COMPONENT_SRCS "heap.c"
|
||||
"locks.c"
|
||||
"poll.c"
|
||||
"pthread.c"
|
||||
"random.c"
|
||||
"reent_init.c"
|
||||
"select.c"
|
||||
"poll.c"
|
||||
"syscall_table.c"
|
||||
"syscalls.c"
|
||||
"termios.c"
|
||||
"utime.c"
|
||||
"time.c")
|
||||
set(COMPONENT_ADD_INCLUDEDIRS platform_include include)
|
||||
"time.c"
|
||||
"utime.c")
|
||||
set(COMPONENT_ADD_INCLUDEDIRS platform_include)
|
||||
|
||||
if(CONFIG_SPIRAM_CACHE_WORKAROUND)
|
||||
set(LIBC c-psram-workaround)
|
||||
set(LIBM m-psram-workaround)
|
||||
|
||||
set(COMPONENT_ADD_LDFRAGMENTS esp32-spiram-rom-functions.lf)
|
||||
else()
|
||||
|
||||
if(GCC_NOT_5_2_0)
|
||||
if(CONFIG_NEWLIB_NANO_FORMAT)
|
||||
set(LIBC c_nano)
|
||||
else()
|
||||
|
@ -25,13 +21,53 @@ else()
|
|||
endif()
|
||||
|
||||
set(LIBM m)
|
||||
endif()
|
||||
|
||||
if(CONFIG_SPIRAM_CACHE_WORKAROUND)
|
||||
set(COMPONENT_ADD_LDFRAGMENTS esp32-spiram-rom-functions-c.lf)
|
||||
endif()
|
||||
|
||||
# Forces the linker to include locks, heap, and syscalls from this component,
|
||||
# instead of the implementations provided by newlib.
|
||||
set(EXTRA_LINK_FLAGS "-u newlib_include_locks_impl")
|
||||
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_heap_impl")
|
||||
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_syscalls_impl")
|
||||
|
||||
else()
|
||||
# Remove this section when GCC 5.2.0 is no longer supported
|
||||
# 'include' and 'lib' directories should also be removed.
|
||||
# An if statement about LIB_PATH below should also be removed.
|
||||
list(APPEND COMPONENT_ADD_INCLUDEDIRS include)
|
||||
set(LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
|
||||
|
||||
if(CONFIG_SPIRAM_CACHE_WORKAROUND)
|
||||
set(LIBC c-psram-workaround)
|
||||
set(LIBM m-psram-workaround)
|
||||
|
||||
set(COMPONENT_ADD_LDFRAGMENTS esp32-spiram-rom-functions-psram-workaround.lf)
|
||||
else()
|
||||
|
||||
if(CONFIG_NEWLIB_NANO_FORMAT)
|
||||
set(LIBC c_nano)
|
||||
else()
|
||||
set(LIBC c)
|
||||
endif()
|
||||
|
||||
set(LIBM m)
|
||||
endif()
|
||||
endif()
|
||||
set(COMPONENT_REQUIRES vfs) # for sys/ioctl.h
|
||||
|
||||
list(APPEND COMPONENT_ADD_LDFRAGMENTS newlib.lf)
|
||||
|
||||
register_component()
|
||||
|
||||
target_link_libraries(${COMPONENT_TARGET} "-L ${CMAKE_CURRENT_SOURCE_DIR}/lib")
|
||||
if (LIB_PATH)
|
||||
target_link_libraries(${COMPONENT_TARGET} "-L ${LIB_PATH}")
|
||||
endif()
|
||||
target_link_libraries(${COMPONENT_TARGET} ${LIBC} ${LIBM})
|
||||
|
||||
set_source_files_properties(syscalls.c PROPERTIES COMPILE_FLAGS -fno-builtin)
|
||||
set_source_files_properties(heap.c PROPERTIES COMPILE_FLAGS -fno-builtin)
|
||||
|
||||
if(EXTRA_LINK_FLAGS)
|
||||
target_link_libraries(${COMPONENT_TARGET} "${EXTRA_LINK_FLAGS}")
|
||||
endif()
|
||||
|
|
|
@ -1,8 +1,33 @@
|
|||
|
||||
ifeq ($(GCC_NOT_5_2_0), 1)
|
||||
|
||||
ifdef CONFIG_NEWLIB_NANO_FORMAT
|
||||
LIBC := c_nano
|
||||
else # CONFIG_NEWLIB_NANO_FORMAT
|
||||
LIBC := c
|
||||
endif # CONFIG_NEWLIB_NANO_FORMAT
|
||||
|
||||
# Order of linking matters: libnewlib.a should go before libc.a
|
||||
COMPONENT_ADD_LDFLAGS := -lnewlib -l$(LIBC) -lm
|
||||
COMPONENT_ADD_INCLUDEDIRS := platform_include
|
||||
|
||||
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND
|
||||
COMPONENT_ADD_LDFRAGMENTS := esp32-spiram-rom-functions-c.lf
|
||||
endif
|
||||
|
||||
# Forces the linker to include locks, heap, and syscalls from this component,
|
||||
# instead of the implementations provided by newlib.
|
||||
COMPONENT_ADD_LDFLAGS += -u newlib_include_locks_impl
|
||||
COMPONENT_ADD_LDFLAGS += -u newlib_include_heap_impl
|
||||
COMPONENT_ADD_LDFLAGS += -u newlib_include_syscalls_impl
|
||||
|
||||
else # GCC_NOT_5_2_0
|
||||
# Remove this section when GCC 5.2.0 is no longer supported
|
||||
|
||||
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND
|
||||
LIBC_PATH := $(COMPONENT_PATH)/lib/libc-psram-workaround.a
|
||||
LIBM_PATH := $(COMPONENT_PATH)/lib/libm-psram-workaround.a
|
||||
COMPONENT_ADD_LDFRAGMENTS := esp32-spiram-rom-functions.lf
|
||||
COMPONENT_ADD_LDFRAGMENTS := esp32-spiram-rom-functions-psram-workaround.lf
|
||||
else
|
||||
|
||||
ifdef CONFIG_NEWLIB_NANO_FORMAT
|
||||
|
@ -20,5 +45,8 @@ COMPONENT_ADD_LDFLAGS := $(LIBC_PATH) $(LIBM_PATH) -lnewlib
|
|||
COMPONENT_ADD_LINKER_DEPS := $(LIBC_PATH) $(LIBM_PATH)
|
||||
|
||||
COMPONENT_ADD_INCLUDEDIRS := platform_include include
|
||||
endif # GCC_NOT_5_2_0
|
||||
|
||||
syscalls.o: CFLAGS += -fno-builtin
|
||||
COMPONENT_ADD_LDFRAGMENTS += newlib.lf
|
||||
|
||||
heap.o: CFLAGS += -fno-builtin
|
||||
|
|
147
components/newlib/esp32-spiram-rom-functions-c.lf
Normal file
147
components/newlib/esp32-spiram-rom-functions-c.lf
Normal file
|
@ -0,0 +1,147 @@
|
|||
# If the Newlib functions in ROM aren't used (eg because the external SPI RAM workaround is active), these functions will
|
||||
# be linked into the application directly instead. Normally, they would end up in flash, which is undesirable because esp-idf
|
||||
# and/or applications may assume that because these functions normally are in ROM, they are accessible even when flash is
|
||||
# inaccessible. To work around this, this ld fragment places these functions in RAM instead. If the ROM functions are used,
|
||||
# these defines do nothing, so they can still be included in that situation.
|
||||
#
|
||||
#
|
||||
# Note: the only difference between esp32-spiram-rom-functions-c.lf
|
||||
# and esp32-spiram-rom-functions-psram-workaround.lf is the archive name.
|
||||
|
||||
[mapping:libc]
|
||||
archive:
|
||||
if NEWLIB_NANO_FORMAT = y:
|
||||
libc_nano.a
|
||||
else:
|
||||
libc.a
|
||||
entries:
|
||||
if SPIRAM_CACHE_WORKAROUND = y:
|
||||
lib_a-utoa (noflash)
|
||||
lib_a-longjmp (noflash)
|
||||
lib_a-setjmp (noflash)
|
||||
lib_a-abs (noflash)
|
||||
lib_a-div (noflash)
|
||||
lib_a-labs (noflash)
|
||||
lib_a-ldiv (noflash)
|
||||
lib_a-quorem (noflash)
|
||||
lib_a-utoa (noflash)
|
||||
lib_a-itoa (noflash)
|
||||
lib_a-atoi (noflash)
|
||||
lib_a-atol (noflash)
|
||||
lib_a-strtol (noflash)
|
||||
lib_a-strtoul (noflash)
|
||||
lib_a-wcrtomb (noflash)
|
||||
lib_a-fvwrite (noflash)
|
||||
lib_a-wbuf (noflash)
|
||||
lib_a-wsetup (noflash)
|
||||
lib_a-fputwc (noflash)
|
||||
lib_a-wctomb_r (noflash)
|
||||
lib_a-ungetc (noflash)
|
||||
lib_a-makebuf (noflash)
|
||||
lib_a-fflush (noflash)
|
||||
lib_a-refill (noflash)
|
||||
lib_a-s_fpclassify (noflash)
|
||||
lib_a-asctime (noflash)
|
||||
lib_a-ctime (noflash)
|
||||
lib_a-ctime_r (noflash)
|
||||
lib_a-lcltime (noflash)
|
||||
lib_a-lcltime_r (noflash)
|
||||
lib_a-gmtime (noflash)
|
||||
lib_a-gmtime_r (noflash)
|
||||
lib_a-strftime (noflash)
|
||||
lib_a-mktime (noflash)
|
||||
lib_a-syswrite (noflash)
|
||||
lib_a-tzset_r (noflash)
|
||||
lib_a-tzset (noflash)
|
||||
lib_a-toupper (noflash)
|
||||
lib_a-tolower (noflash)
|
||||
lib_a-toascii (noflash)
|
||||
lib_a-systimes (noflash)
|
||||
lib_a-time (noflash)
|
||||
lib_a-gettzinfo (noflash)
|
||||
lib_a-strupr (noflash)
|
||||
lib_a-asctime_r (noflash)
|
||||
lib_a-bzero (noflash)
|
||||
lib_a-close (noflash)
|
||||
lib_a-creat (noflash)
|
||||
lib_a-environ (noflash)
|
||||
lib_a-fclose (noflash)
|
||||
lib_a-isalnum (noflash)
|
||||
lib_a-isalpha (noflash)
|
||||
lib_a-isascii (noflash)
|
||||
lib_a-isblank (noflash)
|
||||
lib_a-iscntrl (noflash)
|
||||
lib_a-isdigit (noflash)
|
||||
lib_a-isgraph (noflash)
|
||||
lib_a-islower (noflash)
|
||||
lib_a-isprint (noflash)
|
||||
lib_a-ispunct (noflash)
|
||||
lib_a-isspace (noflash)
|
||||
lib_a-isupper (noflash)
|
||||
lib_a-memccpy (noflash)
|
||||
lib_a-memchr (noflash)
|
||||
lib_a-memcmp (noflash)
|
||||
lib_a-memcpy (noflash)
|
||||
lib_a-memmove (noflash)
|
||||
lib_a-memrchr (noflash)
|
||||
lib_a-memset (noflash)
|
||||
lib_a-open (noflash)
|
||||
lib_a-rand (noflash)
|
||||
lib_a-rand_r (noflash)
|
||||
lib_a-read (noflash)
|
||||
lib_a-rshift (noflash)
|
||||
lib_a-sbrk (noflash)
|
||||
lib_a-srand (noflash)
|
||||
lib_a-strcasecmp (noflash)
|
||||
lib_a-strcasestr (noflash)
|
||||
lib_a-strcat (noflash)
|
||||
lib_a-strchr (noflash)
|
||||
lib_a-strcmp (noflash)
|
||||
lib_a-strcoll (noflash)
|
||||
lib_a-strcpy (noflash)
|
||||
lib_a-strcspn (noflash)
|
||||
lib_a-strdup (noflash)
|
||||
lib_a-strlcat (noflash)
|
||||
lib_a-strlcpy (noflash)
|
||||
lib_a-strlen (noflash)
|
||||
lib_a-strlwr (noflash)
|
||||
lib_a-strncasecmp (noflash)
|
||||
lib_a-strncat (noflash)
|
||||
lib_a-strncmp (noflash)
|
||||
lib_a-strncpy (noflash)
|
||||
lib_a-strndup (noflash)
|
||||
lib_a-strnlen (noflash)
|
||||
lib_a-strrchr (noflash)
|
||||
lib_a-strsep (noflash)
|
||||
lib_a-strspn (noflash)
|
||||
lib_a-strstr (noflash)
|
||||
lib_a-strtok_r (noflash)
|
||||
lib_a-strupr (noflash)
|
||||
lib_a-stdio (noflash)
|
||||
lib_a-syssbrk (noflash)
|
||||
lib_a-sysclose (noflash)
|
||||
lib_a-sysopen (noflash)
|
||||
creat (noflash)
|
||||
lib_a-sysread (noflash)
|
||||
lib_a-syswrite (noflash)
|
||||
lib_a-impure (noflash)
|
||||
lib_a-tzvars (noflash)
|
||||
lib_a-sf_nan (noflash)
|
||||
lib_a-tzcalc_limits (noflash)
|
||||
lib_a-month_lengths (noflash)
|
||||
lib_a-timelocal (noflash)
|
||||
lib_a-findfp (noflash)
|
||||
lock (noflash)
|
||||
lib_a-getenv_r (noflash)
|
||||
isatty (noflash)
|
||||
lib_a-fwalk (noflash)
|
||||
lib_a-getenv_r (noflash)
|
||||
lib_a-tzlock (noflash)
|
||||
lib_a-ctype_ (noflash)
|
||||
lib_a-sccl (noflash)
|
||||
lib_a-strptime (noflash)
|
||||
lib_a-envlock (noflash)
|
||||
lib_a-raise (noflash)
|
||||
lib_a-strdup_r (noflash)
|
||||
lib_a-system (noflash)
|
||||
lib_a-strndup_r (noflash)
|
|
@ -7,6 +7,9 @@
|
|||
#
|
||||
# Note: We currently never link libg-psram-workaround.a, so no rules
|
||||
# are generated for this library
|
||||
#
|
||||
# Note: the only difference between esp32-spiram-rom-functions-c.lf
|
||||
# and esp32-spiram-rom-functions-psram-workaround.lf is the archive name.
|
||||
|
||||
[mapping:libc_psram_workaround]
|
||||
archive: libc-psram-workaround.a
|
126
components/newlib/heap.c
Normal file
126
components/newlib/heap.c
Normal file
|
@ -0,0 +1,126 @@
|
|||
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/reent.h>
|
||||
#include <malloc.h>
|
||||
#include "esp_heap_caps.h"
|
||||
|
||||
|
||||
/*
|
||||
These contain the business logic for the malloc() and realloc() implementation. Because of heap tracing
|
||||
wrapping reasons, we do not want these to be a public api, however, so they're not defined publicly.
|
||||
*/
|
||||
extern void *heap_caps_malloc_default( size_t size );
|
||||
extern void *heap_caps_realloc_default( void *ptr, size_t size );
|
||||
|
||||
|
||||
void* malloc(size_t size)
|
||||
{
|
||||
return heap_caps_malloc_default(size);
|
||||
}
|
||||
|
||||
void* calloc(size_t n, size_t size)
|
||||
{
|
||||
return _calloc_r(_REENT, n, size);
|
||||
}
|
||||
|
||||
void* realloc(void* ptr, size_t size)
|
||||
{
|
||||
return heap_caps_realloc_default(ptr, size);
|
||||
}
|
||||
|
||||
void free(void *ptr)
|
||||
{
|
||||
heap_caps_free(ptr);
|
||||
}
|
||||
|
||||
void* _malloc_r(struct _reent *r, size_t size)
|
||||
{
|
||||
return heap_caps_malloc_default(size);
|
||||
}
|
||||
|
||||
void _free_r(struct _reent *r, void* ptr)
|
||||
{
|
||||
heap_caps_free(ptr);
|
||||
}
|
||||
|
||||
void* _realloc_r(struct _reent *r, void* ptr, size_t size)
|
||||
{
|
||||
return heap_caps_realloc_default( ptr, size );
|
||||
}
|
||||
|
||||
void* _calloc_r(struct _reent *r, size_t nmemb, size_t size)
|
||||
{
|
||||
void *result;
|
||||
size_t size_bytes;
|
||||
if (__builtin_mul_overflow(nmemb, size, &size_bytes)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
result = heap_caps_malloc_default(size_bytes);
|
||||
if (result != NULL) {
|
||||
bzero(result, size_bytes);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/* No-op function, used to force linking this file,
|
||||
instead of the heap implementation from newlib.
|
||||
*/
|
||||
void newlib_include_heap_impl()
|
||||
{
|
||||
}
|
||||
|
||||
/* The following functions are implemented by newlib's heap allocator,
|
||||
but aren't available in the heap component.
|
||||
Define them as non-functional stubs here, so that the application
|
||||
can not cause the newlib heap implementation to be linked in
|
||||
*/
|
||||
void* memalign(size_t alignment, size_t n)
|
||||
{
|
||||
extern void memalign_function_was_linked_but_unsupported_in_esp_idf(void);
|
||||
memalign_function_was_linked_but_unsupported_in_esp_idf();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int malloc_trim(size_t pad)
|
||||
{
|
||||
return 0; // indicates failure
|
||||
}
|
||||
|
||||
size_t malloc_usable_size(void* p)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void malloc_stats()
|
||||
{
|
||||
}
|
||||
|
||||
int mallopt(int parameter_number, int parameter_value)
|
||||
{
|
||||
return 0; // indicates failure
|
||||
}
|
||||
|
||||
struct mallinfo mallinfo()
|
||||
{
|
||||
struct mallinfo dummy = {0};
|
||||
return dummy;
|
||||
}
|
||||
|
||||
void* valloc(size_t n) __attribute__((alias("malloc")));
|
||||
void* pvalloc(size_t n) __attribute__((alias("malloc")));
|
||||
void cfree(void* p) __attribute__((alias("free")));
|
|
@ -216,3 +216,10 @@ void IRAM_ATTR _lock_release(_lock_t *lock) {
|
|||
void IRAM_ATTR _lock_release_recursive(_lock_t *lock) {
|
||||
lock_release_generic(lock, queueQUEUE_TYPE_RECURSIVE_MUTEX);
|
||||
}
|
||||
|
||||
/* No-op function, used to force linking this file,
|
||||
instead of the dummy locks implementation from newlib.
|
||||
*/
|
||||
void newlib_include_locks_impl()
|
||||
{
|
||||
}
|
||||
|
|
6
components/newlib/newlib.lf
Normal file
6
components/newlib/newlib.lf
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Places the heap related functions from heap.c into IRAM
|
||||
|
||||
[mapping:newlib]
|
||||
archive: libnewlib.a
|
||||
entries:
|
||||
heap (noflash)
|
|
@ -16,8 +16,12 @@
|
|||
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/features.h>
|
||||
|
||||
// Remove this when GCC 5.2.0 is no longer supported
|
||||
#ifndef _POSIX_TIMEOUTS
|
||||
#define _POSIX_TIMEOUTS // For pthread_mutex_timedlock
|
||||
#endif
|
||||
|
||||
#include_next <pthread.h>
|
||||
|
||||
|
|
|
@ -15,7 +15,11 @@
|
|||
#ifndef __ESP_SYS_SELECT_H__
|
||||
#define __ESP_SYS_SELECT_H__
|
||||
|
||||
/* Newlib 2.2.0 does not provide sys/select.h, and fd_set is defined in sys/types.h */
|
||||
#include <sys/types.h>
|
||||
#ifndef fd_set
|
||||
#include_next <sys/select.h>
|
||||
#else // fd_set
|
||||
#include <sys/time.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -28,4 +32,6 @@ int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct
|
|||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // fd_set
|
||||
|
||||
#endif //__ESP_SYS_SELECT_H__
|
||||
|
|
|
@ -8,3 +8,8 @@ int pthread_condattr_setclock(pthread_condattr_t *attr, clockid_t clock_id)
|
|||
ESP_LOGW(TAG, "%s: not yet supported!", __FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_setcancelstate(int state, int *oldstate)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -41,5 +41,4 @@ void IRAM_ATTR esp_reent_init(struct _reent* r)
|
|||
r->__sglue._next = NULL;
|
||||
r->__sglue._niobs = 0;
|
||||
r->__sglue._iobs = NULL;
|
||||
r->_current_locale = "C";
|
||||
}
|
||||
|
|
|
@ -14,54 +14,13 @@
|
|||
|
||||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <sys/reent.h>
|
||||
#include <stdlib.h>
|
||||
#include "esp_attr.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "esp_heap_caps.h"
|
||||
|
||||
|
||||
/*
|
||||
These contain the business logic for the malloc() and realloc() implementation. Because of heap tracing
|
||||
wrapping reasons, we do not want these to be a public api, however, so they're not defined publicly.
|
||||
*/
|
||||
extern void *heap_caps_malloc_default( size_t size );
|
||||
extern void *heap_caps_realloc_default( void *ptr, size_t size );
|
||||
|
||||
|
||||
void* IRAM_ATTR _malloc_r(struct _reent *r, size_t size)
|
||||
{
|
||||
return heap_caps_malloc_default( size );
|
||||
}
|
||||
|
||||
void IRAM_ATTR _free_r(struct _reent *r, void* ptr)
|
||||
{
|
||||
heap_caps_free( ptr );
|
||||
}
|
||||
|
||||
void* IRAM_ATTR _realloc_r(struct _reent *r, void* ptr, size_t size)
|
||||
{
|
||||
return heap_caps_realloc_default( ptr, size );
|
||||
}
|
||||
|
||||
void* IRAM_ATTR _calloc_r(struct _reent *r, size_t nmemb, size_t size)
|
||||
{
|
||||
void *result;
|
||||
size_t size_bytes;
|
||||
if (__builtin_mul_overflow(nmemb, size, &size_bytes)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
result = malloc(size_bytes);
|
||||
if (result != NULL) {
|
||||
bzero(result, size_bytes);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
int _system_r(struct _reent *r, const char *str)
|
||||
{
|
||||
__errno_r(r) = ENOSYS;
|
||||
|
@ -95,3 +54,9 @@ void _exit(int __status)
|
|||
abort();
|
||||
}
|
||||
|
||||
/* No-op function, used to force linking this file,
|
||||
instead of the syscalls implementation from libgloss.
|
||||
*/
|
||||
void newlib_include_syscalls_impl()
|
||||
{
|
||||
}
|
||||
|
|
|
@ -65,6 +65,7 @@ TEST_CASE("test time functions", "[newlib]")
|
|||
{
|
||||
time_t now = 1464248488;
|
||||
setenv("TZ", "UTC-8", 1);
|
||||
tzset();
|
||||
struct tm *tm_utc = gmtime(&now);
|
||||
TEST_ASSERT_EQUAL( 28, tm_utc->tm_sec);
|
||||
TEST_ASSERT_EQUAL( 41, tm_utc->tm_min);
|
||||
|
|
|
@ -460,7 +460,8 @@ void pthread_exit(void *value_ptr)
|
|||
vTaskSuspend(NULL);
|
||||
}
|
||||
|
||||
ESP_LOGV(TAG, "%s EXIT", __FUNCTION__);
|
||||
// Should never be reached
|
||||
abort();
|
||||
}
|
||||
|
||||
int pthread_cancel(pthread_t thread)
|
||||
|
|
|
@ -83,10 +83,7 @@ typedef __uint64_t uint64_t;
|
|||
* Host to big endian, host to little endian, big endian to host, and little
|
||||
* endian to host byte order functions as detailed in byteorder(9).
|
||||
*/
|
||||
#if 1 //BYTE_ORDER == _LITTLE_ENDIAN
|
||||
#define __bswap16 __bswap_16
|
||||
#define __bswap32 __bswap_32
|
||||
#define __bswap64 __bswap_64
|
||||
#if BYTE_ORDER == _LITTLE_ENDIAN
|
||||
#define htobe16(x) bswap16((x))
|
||||
#define htobe32(x) bswap32((x))
|
||||
#define htobe64(x) bswap64((x))
|
||||
|
|
|
@ -397,6 +397,7 @@ endif #CONFIG_WARN_WRITE_STRINGS
|
|||
|
||||
# Flags which control code generation and dependency generation, both for C and C++
|
||||
COMMON_FLAGS = \
|
||||
-Wno-frame-address \
|
||||
-ffunction-sections -fdata-sections \
|
||||
-fstrict-volatile-bitfields \
|
||||
-mlongcalls \
|
||||
|
|
|
@ -92,6 +92,8 @@ function(idf_set_global_compile_options)
|
|||
|
||||
list(APPEND compile_definitions "ESP_PLATFORM" "HAVE_CONFIG_H")
|
||||
|
||||
spaces2list(CMAKE_C_FLAGS)
|
||||
spaces2list(CMAKE_CXX_FLAGS)
|
||||
list(APPEND compile_options "${CMAKE_C_FLAGS}")
|
||||
list(APPEND c_compile_options "${CMAKE_C_FLAGS}")
|
||||
list(APPEND cxx_compile_options "${CMAKE_CXX_FLAGS}")
|
||||
|
|
|
@ -5,5 +5,5 @@ set(CMAKE_CXX_COMPILER xtensa-esp32-elf-g++)
|
|||
set(CMAKE_ASM_COMPILER xtensa-esp32-elf-gcc)
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-nostdlib" CACHE STRING "Linker Base Flags")
|
||||
set(CMAKE_C_FLAGS "-mlongcalls" CACHE STRING "C Compiler Base Flags")
|
||||
set(CMAKE_CXX_FLAGS "-mlongcalls" CACHE STRING "C++ Compiler Base Flags")
|
||||
set(CMAKE_C_FLAGS "-mlongcalls -Wno-frame-address" CACHE STRING "C Compiler Base Flags")
|
||||
set(CMAKE_CXX_FLAGS "-mlongcalls -Wno-frame-address" CACHE STRING "C++ Compiler Base Flags")
|
||||
|
|
450
tools/esp_app_trace/test/sysview/expected_output_new_CT
Normal file
450
tools/esp_app_trace/test/sysview/expected_output_new_CT
Normal file
|
@ -0,0 +1,450 @@
|
|||
Parse trace from 'cpu0.svdat'...
|
||||
Stop parsing trace. (Timeout 0.000000 sec while reading 1 bytes!)
|
||||
Parse trace from 'cpu1.svdat'...
|
||||
Stop parsing trace. (Timeout 0.000000 sec while reading 1 bytes!)
|
||||
Process events from '['cpu0.svdat', 'cpu1.svdat']'...
|
||||
EVENT[0]: 0.000000000 - core[0].svTraceStart(10), plen 0: []
|
||||
EVENT[1]: 0.000000000 - core[1].svTraceStart(10), plen 0: []
|
||||
EVENT[2]: 0.000010950 - core[0].svInit(24), plen 14: [sys_freq: 40000000, cpu_freq: 160000000, ram_base: 1061158912, id_shift: 0]
|
||||
EVENT[3]: 0.000010950 - core[1].svInit(24), plen 14: [sys_freq: 40000000, cpu_freq: 160000000, ram_base: 1061158912, id_shift: 0]
|
||||
EVENT[4]: 0.000024800 - core[0].svSysDesc(14), plen 0: [desc: N=FreeRTOS Application,D=ESP32,C=Xtensa,O=FreeRTOS]
|
||||
EVENT[5]: 0.000024800 - core[1].svSysDesc(14), plen 0: [desc: N=FreeRTOS Application,D=ESP32,C=Xtensa,O=FreeRTOS]
|
||||
EVENT[6]: 0.000051650 - core[0].svSysDesc(14), plen 0: [desc: I#5=SysTick]
|
||||
EVENT[7]: 0.000051650 - core[1].svSysDesc(14), plen 0: [desc: I#5=SysTick]
|
||||
EVENT[8]: 0.000104150 - core[0].svSysDesc(14), plen 0: [desc: I#6=WIFI_MAC]
|
||||
EVENT[9]: 0.000104150 - core[1].svSysDesc(14), plen 0: [desc: I#6=WIFI_MAC]
|
||||
EVENT[10]: 0.000121100 - core[0].svSysDesc(14), plen 0: [desc: I#7=WIFI_NMI]
|
||||
EVENT[11]: 0.000121100 - core[1].svSysDesc(14), plen 0: [desc: I#7=WIFI_NMI]
|
||||
EVENT[12]: 0.000138125 - core[0].svSysDesc(14), plen 0: [desc: I#8=WIFI_BB]
|
||||
EVENT[13]: 0.000138125 - core[1].svSysDesc(14), plen 0: [desc: I#8=WIFI_BB]
|
||||
EVENT[14]: 0.000154825 - core[0].svSysDesc(14), plen 0: [desc: I#9=BT_MAC]
|
||||
EVENT[15]: 0.000154825 - core[1].svSysDesc(14), plen 0: [desc: I#9=BT_MAC]
|
||||
EVENT[16]: 0.000193350 - core[0].svSysDesc(14), plen 0: [desc: I#10=BT_BB]
|
||||
EVENT[17]: 0.000193350 - core[1].svSysDesc(14), plen 0: [desc: I#10=BT_BB]
|
||||
EVENT[18]: 0.000212875 - core[0].svSysDesc(14), plen 0: [desc: I#11=BT_BB_NMI]
|
||||
EVENT[19]: 0.000212875 - core[1].svSysDesc(14), plen 0: [desc: I#11=BT_BB_NMI]
|
||||
EVENT[20]: 0.000231625 - core[0].svSysDesc(14), plen 0: [desc: I#12=RWBT]
|
||||
EVENT[21]: 0.000231625 - core[1].svSysDesc(14), plen 0: [desc: I#12=RWBT]
|
||||
EVENT[22]: 0.000250250 - core[0].svSysDesc(14), plen 0: [desc: I#13=RWBLE]
|
||||
EVENT[23]: 0.000250250 - core[1].svSysDesc(14), plen 0: [desc: I#13=RWBLE]
|
||||
EVENT[24]: 0.000269450 - core[0].svSysDesc(14), plen 0: [desc: I#14=RWBT_NMI]
|
||||
EVENT[25]: 0.000269450 - core[1].svSysDesc(14), plen 0: [desc: I#14=RWBT_NMI]
|
||||
EVENT[26]: 0.000288925 - core[0].svSysDesc(14), plen 0: [desc: I#15=RWBLE_NMI]
|
||||
EVENT[27]: 0.000288925 - core[1].svSysDesc(14), plen 0: [desc: I#15=RWBLE_NMI]
|
||||
EVENT[28]: 0.000310575 - core[0].svSysDesc(14), plen 0: [desc: I#16=SLC0]
|
||||
EVENT[29]: 0.000310575 - core[1].svSysDesc(14), plen 0: [desc: I#16=SLC0]
|
||||
EVENT[30]: 0.000329150 - core[0].svSysDesc(14), plen 0: [desc: I#17=SLC1]
|
||||
EVENT[31]: 0.000329150 - core[1].svSysDesc(14), plen 0: [desc: I#17=SLC1]
|
||||
EVENT[32]: 0.000347675 - core[0].svSysDesc(14), plen 0: [desc: I#18=UHCI0]
|
||||
EVENT[33]: 0.000347675 - core[1].svSysDesc(14), plen 0: [desc: I#18=UHCI0]
|
||||
EVENT[34]: 0.000366225 - core[0].svSysDesc(14), plen 0: [desc: I#19=UHCI1]
|
||||
EVENT[35]: 0.000366225 - core[1].svSysDesc(14), plen 0: [desc: I#19=UHCI1]
|
||||
EVENT[36]: 0.000386350 - core[0].svSysDesc(14), plen 0: [desc: I#20=TG0_T0_LEVEL]
|
||||
EVENT[37]: 0.000386350 - core[1].svSysDesc(14), plen 0: [desc: I#20=TG0_T0_LEVEL]
|
||||
EVENT[38]: 0.000406575 - core[0].svSysDesc(14), plen 0: [desc: I#21=TG0_T1_LEVEL]
|
||||
EVENT[39]: 0.000406575 - core[1].svSysDesc(14), plen 0: [desc: I#21=TG0_T1_LEVEL]
|
||||
EVENT[40]: 0.000427300 - core[0].svSysDesc(14), plen 0: [desc: I#22=TG0_WDT_LEVEL]
|
||||
EVENT[41]: 0.000427300 - core[1].svSysDesc(14), plen 0: [desc: I#22=TG0_WDT_LEVEL]
|
||||
EVENT[42]: 0.000448000 - core[0].svSysDesc(14), plen 0: [desc: I#23=TG0_LACT_LEVEL]
|
||||
EVENT[43]: 0.000448000 - core[1].svSysDesc(14), plen 0: [desc: I#23=TG0_LACT_LEVEL]
|
||||
EVENT[44]: 0.000468250 - core[0].svSysDesc(14), plen 0: [desc: I#24=TG1_T0_LEVEL]
|
||||
EVENT[45]: 0.000468250 - core[1].svSysDesc(14), plen 0: [desc: I#24=TG1_T0_LEVEL]
|
||||
EVENT[46]: 0.000488500 - core[0].svSysDesc(14), plen 0: [desc: I#25=TG1_T1_LEVEL]
|
||||
EVENT[47]: 0.000488500 - core[1].svSysDesc(14), plen 0: [desc: I#25=TG1_T1_LEVEL]
|
||||
EVENT[48]: 0.000508975 - core[0].svSysDesc(14), plen 0: [desc: I#26=TG1_WDT_LEVEL]
|
||||
EVENT[49]: 0.000508975 - core[1].svSysDesc(14), plen 0: [desc: I#26=TG1_WDT_LEVEL]
|
||||
EVENT[50]: 0.000529850 - core[0].svSysDesc(14), plen 0: [desc: I#27=TG1_LACT_LEVEL]
|
||||
EVENT[51]: 0.000529850 - core[1].svSysDesc(14), plen 0: [desc: I#27=TG1_LACT_LEVEL]
|
||||
EVENT[52]: 0.000548375 - core[0].svSysDesc(14), plen 0: [desc: I#28=GPIO]
|
||||
EVENT[53]: 0.000548375 - core[1].svSysDesc(14), plen 0: [desc: I#28=GPIO]
|
||||
EVENT[54]: 0.000570825 - core[0].svSysDesc(14), plen 0: [desc: I#29=GPIO_NMI]
|
||||
EVENT[55]: 0.000570825 - core[1].svSysDesc(14), plen 0: [desc: I#29=GPIO_NMI]
|
||||
EVENT[56]: 0.000590425 - core[0].svSysDesc(14), plen 0: [desc: I#30=FROM_CPU0]
|
||||
EVENT[57]: 0.000590425 - core[1].svSysDesc(14), plen 0: [desc: I#30=FROM_CPU0]
|
||||
EVENT[58]: 0.000610000 - core[0].svSysDesc(14), plen 0: [desc: I#31=FROM_CPU1]
|
||||
EVENT[59]: 0.000610000 - core[1].svSysDesc(14), plen 0: [desc: I#31=FROM_CPU1]
|
||||
EVENT[60]: 0.000629625 - core[0].svSysDesc(14), plen 0: [desc: I#32=FROM_CPU2]
|
||||
EVENT[61]: 0.000629625 - core[1].svSysDesc(14), plen 0: [desc: I#32=FROM_CPU2]
|
||||
EVENT[62]: 0.000649425 - core[0].svSysDesc(14), plen 0: [desc: I#33=FROM_CPU3]
|
||||
EVENT[63]: 0.000649425 - core[1].svSysDesc(14), plen 0: [desc: I#33=FROM_CPU3]
|
||||
EVENT[64]: 0.000667975 - core[0].svSysDesc(14), plen 0: [desc: I#34=SPI0]
|
||||
EVENT[65]: 0.000667975 - core[1].svSysDesc(14), plen 0: [desc: I#34=SPI0]
|
||||
EVENT[66]: 0.000686500 - core[0].svSysDesc(14), plen 0: [desc: I#35=SPI1]
|
||||
EVENT[67]: 0.000686500 - core[1].svSysDesc(14), plen 0: [desc: I#35=SPI1]
|
||||
EVENT[68]: 0.000704825 - core[0].svSysDesc(14), plen 0: [desc: I#36=SPI2]
|
||||
EVENT[69]: 0.000704825 - core[1].svSysDesc(14), plen 0: [desc: I#36=SPI2]
|
||||
EVENT[70]: 0.000723100 - core[0].svSysDesc(14), plen 0: [desc: I#37=SPI3]
|
||||
EVENT[71]: 0.000723100 - core[1].svSysDesc(14), plen 0: [desc: I#37=SPI3]
|
||||
EVENT[72]: 0.000741550 - core[0].svSysDesc(14), plen 0: [desc: I#38=I2S0]
|
||||
EVENT[73]: 0.000741550 - core[1].svSysDesc(14), plen 0: [desc: I#38=I2S0]
|
||||
EVENT[74]: 0.000760000 - core[0].svSysDesc(14), plen 0: [desc: I#39=I2S1]
|
||||
EVENT[75]: 0.000760000 - core[1].svSysDesc(14), plen 0: [desc: I#39=I2S1]
|
||||
EVENT[76]: 0.000778475 - core[0].svSysDesc(14), plen 0: [desc: I#40=UART0]
|
||||
EVENT[77]: 0.000778475 - core[1].svSysDesc(14), plen 0: [desc: I#40=UART0]
|
||||
EVENT[78]: 0.000797050 - core[0].svSysDesc(14), plen 0: [desc: I#41=UART1]
|
||||
EVENT[79]: 0.000797050 - core[1].svSysDesc(14), plen 0: [desc: I#41=UART1]
|
||||
EVENT[80]: 0.000815625 - core[0].svSysDesc(14), plen 0: [desc: I#42=UART2]
|
||||
EVENT[81]: 0.000815625 - core[1].svSysDesc(14), plen 0: [desc: I#42=UART2]
|
||||
EVENT[82]: 0.000835000 - core[0].svSysDesc(14), plen 0: [desc: I#43=SDIO_HOST]
|
||||
EVENT[83]: 0.000835000 - core[1].svSysDesc(14), plen 0: [desc: I#43=SDIO_HOST]
|
||||
EVENT[84]: 0.000854075 - core[0].svSysDesc(14), plen 0: [desc: I#44=ETH_MAC]
|
||||
EVENT[85]: 0.000854075 - core[1].svSysDesc(14), plen 0: [desc: I#44=ETH_MAC]
|
||||
EVENT[86]: 0.000875600 - core[0].svSysDesc(14), plen 0: [desc: I#45=PWM0]
|
||||
EVENT[87]: 0.000875600 - core[1].svSysDesc(14), plen 0: [desc: I#45=PWM0]
|
||||
EVENT[88]: 0.000893850 - core[0].svSysDesc(14), plen 0: [desc: I#46=PWM1]
|
||||
EVENT[89]: 0.000893850 - core[1].svSysDesc(14), plen 0: [desc: I#46=PWM1]
|
||||
EVENT[90]: 0.000912375 - core[0].svSysDesc(14), plen 0: [desc: I#47=PWM2]
|
||||
EVENT[91]: 0.000912375 - core[1].svSysDesc(14), plen 0: [desc: I#47=PWM2]
|
||||
EVENT[92]: 0.000930950 - core[0].svSysDesc(14), plen 0: [desc: I#48=PWM3]
|
||||
EVENT[93]: 0.000930950 - core[1].svSysDesc(14), plen 0: [desc: I#48=PWM3]
|
||||
EVENT[94]: 0.000949375 - core[0].svSysDesc(14), plen 0: [desc: I#49=LEDC]
|
||||
EVENT[95]: 0.000949375 - core[1].svSysDesc(14), plen 0: [desc: I#49=LEDC]
|
||||
EVENT[96]: 0.000968075 - core[0].svSysDesc(14), plen 0: [desc: I#50=EFUSE]
|
||||
EVENT[97]: 0.000968075 - core[1].svSysDesc(14), plen 0: [desc: I#50=EFUSE]
|
||||
EVENT[98]: 0.000986275 - core[0].svSysDesc(14), plen 0: [desc: I#51=CAN]
|
||||
EVENT[99]: 0.000986275 - core[1].svSysDesc(14), plen 0: [desc: I#51=CAN]
|
||||
EVENT[100]: 0.001005625 - core[0].svSysDesc(14), plen 0: [desc: I#52=RTC_CORE]
|
||||
EVENT[101]: 0.001005625 - core[1].svSysDesc(14), plen 0: [desc: I#52=RTC_CORE]
|
||||
EVENT[102]: 0.001023700 - core[0].svSysDesc(14), plen 0: [desc: I#53=RMT]
|
||||
EVENT[103]: 0.001023700 - core[1].svSysDesc(14), plen 0: [desc: I#53=RMT]
|
||||
EVENT[104]: 0.001042050 - core[0].svSysDesc(14), plen 0: [desc: I#54=PCNT]
|
||||
EVENT[105]: 0.001042050 - core[1].svSysDesc(14), plen 0: [desc: I#54=PCNT]
|
||||
EVENT[106]: 0.001061500 - core[0].svSysDesc(14), plen 0: [desc: I#55=I2C_EXT0]
|
||||
EVENT[107]: 0.001061500 - core[1].svSysDesc(14), plen 0: [desc: I#55=I2C_EXT0]
|
||||
EVENT[108]: 0.001081100 - core[0].svSysDesc(14), plen 0: [desc: I#56=I2C_EXT1]
|
||||
EVENT[109]: 0.001081100 - core[1].svSysDesc(14), plen 0: [desc: I#56=I2C_EXT1]
|
||||
EVENT[110]: 0.001099425 - core[0].svSysDesc(14), plen 0: [desc: I#57=RSA]
|
||||
EVENT[111]: 0.001099425 - core[1].svSysDesc(14), plen 0: [desc: I#57=RSA]
|
||||
EVENT[112]: 0.001118625 - core[0].svSysDesc(14), plen 0: [desc: I#58=SPI1_DMA]
|
||||
EVENT[113]: 0.001118625 - core[1].svSysDesc(14), plen 0: [desc: I#58=SPI1_DMA]
|
||||
EVENT[114]: 0.001137775 - core[0].svSysDesc(14), plen 0: [desc: I#59=SPI2_DMA]
|
||||
EVENT[115]: 0.001137775 - core[1].svSysDesc(14), plen 0: [desc: I#59=SPI2_DMA]
|
||||
EVENT[116]: 0.001156950 - core[0].svSysDesc(14), plen 0: [desc: I#60=SPI3_DMA]
|
||||
EVENT[117]: 0.001156950 - core[1].svSysDesc(14), plen 0: [desc: I#60=SPI3_DMA]
|
||||
EVENT[118]: 0.001175175 - core[0].svSysDesc(14), plen 0: [desc: I#61=WDT]
|
||||
EVENT[119]: 0.001175175 - core[1].svSysDesc(14), plen 0: [desc: I#61=WDT]
|
||||
EVENT[120]: 0.001197300 - core[0].svSysDesc(14), plen 0: [desc: I#62=TIMER1]
|
||||
EVENT[121]: 0.001197300 - core[1].svSysDesc(14), plen 0: [desc: I#62=TIMER1]
|
||||
EVENT[122]: 0.001216250 - core[0].svSysDesc(14), plen 0: [desc: I#63=TIMER2]
|
||||
EVENT[123]: 0.001216250 - core[1].svSysDesc(14), plen 0: [desc: I#63=TIMER2]
|
||||
EVENT[124]: 0.001236175 - core[0].svSysDesc(14), plen 0: [desc: I#64=TG0_T0_EDGE]
|
||||
EVENT[125]: 0.001236175 - core[1].svSysDesc(14), plen 0: [desc: I#64=TG0_T0_EDGE]
|
||||
EVENT[126]: 0.001256275 - core[0].svSysDesc(14), plen 0: [desc: I#65=TG0_T1_EDGE]
|
||||
EVENT[127]: 0.001256275 - core[1].svSysDesc(14), plen 0: [desc: I#65=TG0_T1_EDGE]
|
||||
EVENT[128]: 0.001276675 - core[0].svSysDesc(14), plen 0: [desc: I#66=TG0_WDT_EDGE]
|
||||
EVENT[129]: 0.001276675 - core[1].svSysDesc(14), plen 0: [desc: I#66=TG0_WDT_EDGE]
|
||||
EVENT[130]: 0.001297375 - core[0].svSysDesc(14), plen 0: [desc: I#67=TG0_LACT_EDGE]
|
||||
EVENT[131]: 0.001297375 - core[1].svSysDesc(14), plen 0: [desc: I#67=TG0_LACT_EDGE]
|
||||
EVENT[132]: 0.001317425 - core[0].svSysDesc(14), plen 0: [desc: I#68=TG1_T0_EDGE]
|
||||
EVENT[133]: 0.001317425 - core[1].svSysDesc(14), plen 0: [desc: I#68=TG1_T0_EDGE]
|
||||
EVENT[134]: 0.001337650 - core[0].svSysDesc(14), plen 0: [desc: I#69=TG1_T1_EDGE]
|
||||
EVENT[135]: 0.001337650 - core[1].svSysDesc(14), plen 0: [desc: I#69=TG1_T1_EDGE]
|
||||
EVENT[136]: 0.001357950 - core[0].svSysDesc(14), plen 0: [desc: I#70=TG1_WDT_EDGE]
|
||||
EVENT[137]: 0.001357950 - core[1].svSysDesc(14), plen 0: [desc: I#70=TG1_WDT_EDGE]
|
||||
EVENT[138]: 0.001378625 - core[0].svSysDesc(14), plen 0: [desc: I#71=TG1_LACT_EDGE]
|
||||
EVENT[139]: 0.001378625 - core[1].svSysDesc(14), plen 0: [desc: I#71=TG1_LACT_EDGE]
|
||||
EVENT[140]: 0.001397500 - core[0].svSysDesc(14), plen 0: [desc: I#72=MMU_IA]
|
||||
EVENT[141]: 0.001397500 - core[1].svSysDesc(14), plen 0: [desc: I#72=MMU_IA]
|
||||
EVENT[142]: 0.001416425 - core[0].svSysDesc(14), plen 0: [desc: I#73=MPU_IA]
|
||||
EVENT[143]: 0.001416425 - core[1].svSysDesc(14), plen 0: [desc: I#73=MPU_IA]
|
||||
EVENT[144]: 0.001435550 - core[0].svSysDesc(14), plen 0: [desc: I#74=CACHE_IA]
|
||||
EVENT[145]: 0.001435550 - core[1].svSysDesc(14), plen 0: [desc: I#74=CACHE_IA]
|
||||
EVENT[146]: 0.001441950 - core[0].svSysTimeUs(13), plen 0: [time: 10000]
|
||||
EVENT[147]: 0.001441950 - core[1].svSysTimeUs(13), plen 0: [time: 10000]
|
||||
EVENT[148]: 0.001647400 - core[0].svTaskInfo(9), plen 0: [tid: 12253880, prio: 22, name: esp_timer]
|
||||
EVENT[149]: 0.001647400 - core[1].svTaskInfo(9), plen 0: [tid: 12253880, prio: 22, name: esp_timer]
|
||||
EVENT[150]: 0.001652000 - core[0].svStackInfo(21), plen 0: [tid: 12253880, base: 1073408692, sz: 3436, unused: 0]
|
||||
EVENT[151]: 0.001652000 - core[1].svStackInfo(21), plen 0: [tid: 12253880, base: 1073408692, sz: 3436, unused: 0]
|
||||
EVENT[152]: 0.001738550 - core[0].svTaskInfo(9), plen 0: [tid: 12254636, prio: 24, name: ipc0]
|
||||
EVENT[153]: 0.001738550 - core[1].svTaskInfo(9), plen 0: [tid: 12254636, prio: 24, name: ipc0]
|
||||
EVENT[154]: 0.001742750 - core[0].svStackInfo(21), plen 0: [tid: 12254636, base: 1073430180, sz: 1388, unused: 0]
|
||||
EVENT[155]: 0.001742750 - core[1].svStackInfo(21), plen 0: [tid: 12254636, base: 1073430180, sz: 1388, unused: 0]
|
||||
EVENT[156]: 0.001828975 - core[0].svTaskInfo(9), plen 0: [tid: 12275372, prio: 24, name: ipc1]
|
||||
EVENT[157]: 0.001828975 - core[1].svTaskInfo(9), plen 0: [tid: 12275372, prio: 24, name: ipc1]
|
||||
EVENT[158]: 0.001833225 - core[0].svStackInfo(21), plen 0: [tid: 12275372, base: 1073432232, sz: 1384, unused: 0]
|
||||
EVENT[159]: 0.001833225 - core[1].svStackInfo(21), plen 0: [tid: 12275372, base: 1073432232, sz: 1384, unused: 0]
|
||||
EVENT[160]: 0.001871225 - core[0].svTaskInfo(9), plen 0: [tid: 12291908, prio: 5, name: blink_task]
|
||||
EVENT[161]: 0.001871225 - core[1].svTaskInfo(9), plen 0: [tid: 12291908, prio: 5, name: blink_task]
|
||||
EVENT[162]: 0.001875650 - core[0].svStackInfo(21), plen 0: [tid: 12291908, base: 1073448452, sz: 524, unused: 0]
|
||||
EVENT[163]: 0.001875650 - core[1].svStackInfo(21), plen 0: [tid: 12291908, base: 1073448452, sz: 524, unused: 0]
|
||||
EVENT[164]: 0.002070800 - core[0].svTaskInfo(9), plen 0: [tid: 12282660, prio: 1, name: main]
|
||||
EVENT[165]: 0.002070800 - core[1].svTaskInfo(9), plen 0: [tid: 12282660, prio: 1, name: main]
|
||||
EVENT[166]: 0.002075200 - core[0].svStackInfo(21), plen 0: [tid: 12282660, base: 1073437472, sz: 3296, unused: 0]
|
||||
EVENT[167]: 0.002075200 - core[1].svStackInfo(21), plen 0: [tid: 12282660, base: 1073437472, sz: 3296, unused: 0]
|
||||
EVENT[168]: 0.002153375 - core[0].svTaskInfo(9), plen 0: [tid: 12284560, prio: 0, name: IDLE0]
|
||||
EVENT[169]: 0.002153375 - core[1].svTaskInfo(9), plen 0: [tid: 12284560, prio: 0, name: IDLE0]
|
||||
EVENT[170]: 0.002157850 - core[0].svStackInfo(21), plen 0: [tid: 12284560, base: 1073441932, sz: 1236, unused: 0]
|
||||
EVENT[171]: 0.002157850 - core[1].svStackInfo(21), plen 0: [tid: 12284560, base: 1073441932, sz: 1236, unused: 0]
|
||||
EVENT[172]: 0.002228950 - core[0].svTaskInfo(9), plen 0: [tid: 12286460, prio: 0, name: IDLE1]
|
||||
EVENT[173]: 0.002228950 - core[1].svTaskInfo(9), plen 0: [tid: 12286460, prio: 0, name: IDLE1]
|
||||
EVENT[174]: 0.002233250 - core[0].svStackInfo(21), plen 0: [tid: 12286460, base: 1073443832, sz: 1112, unused: 0]
|
||||
EVENT[175]: 0.002233250 - core[1].svStackInfo(21), plen 0: [tid: 12286460, base: 1073443832, sz: 1112, unused: 0]
|
||||
EVENT[176]: 0.002319675 - core[0].svTaskInfo(9), plen 0: [tid: 12289116, prio: 1, name: Tmr Svc]
|
||||
EVENT[177]: 0.002319675 - core[1].svTaskInfo(9), plen 0: [tid: 12289116, prio: 1, name: Tmr Svc]
|
||||
EVENT[178]: 0.002324100 - core[0].svStackInfo(21), plen 0: [tid: 12289116, base: 1073445976, sz: 1384, unused: 0]
|
||||
EVENT[179]: 0.002324100 - core[1].svStackInfo(21), plen 0: [tid: 12289116, base: 1073445976, sz: 1384, unused: 0]
|
||||
EVENT[180]: 0.002431200 - core[0].svTaskInfo(9), plen 0: [tid: 12294320, prio: 5, name: blink_task2]
|
||||
EVENT[181]: 0.002431200 - core[1].svTaskInfo(9), plen 0: [tid: 12294320, prio: 5, name: blink_task2]
|
||||
EVENT[182]: 0.002438750 - core[0].svStackInfo(21), plen 0: [tid: 12294320, base: 1073451180, sz: 1748, unused: 0]
|
||||
EVENT[183]: 0.002438750 - core[1].svStackInfo(21), plen 0: [tid: 12294320, base: 1073451180, sz: 1748, unused: 0]
|
||||
EVENT[184]: 0.002446150 - core[0].svNumModules(27), plen 1: [mod_cnt: 0]
|
||||
EVENT[185]: 0.002446150 - core[1].svNumModules(27), plen 1: [mod_cnt: 0]
|
||||
EVENT[186]: 0.002484225 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[187]: 0.002496125 - core[0].svTaskStopReady(7), plen 0: [tid: 12291908, cause: 4]
|
||||
EVENT[188]: 0.002508025 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[189]: 0.002516350 - core[0].svIsrEnter(2), plen 0: [irq_num: 30]
|
||||
EVENT[190]: 0.002524325 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[191]: 0.002532350 - core[0].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[192]: 0.002541200 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[193]: 0.002548475 - core[0].svTaskStartExec(4), plen 0: [tid: 12282660]
|
||||
EVENT[194]: 0.002556375 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[195]: 0.002564450 - core[0].vTaskDelete(33), plen 4: [xTaskToDelete: 12282660]
|
||||
EVENT[196]: 0.002577700 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[197]: 0.002585225 - core[0].svIsrEnter(2), plen 0: [irq_num: 30]
|
||||
EVENT[198]: 0.002592950 - core[0].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[199]: 0.002605950 - core[0].svIdle(17), plen 0: []
|
||||
EVENT[200]: 0.008819550 - core[0].svIsrEnter(2), plen 0: [irq_num: 5]
|
||||
EVENT[201]: 0.008828075 - core[0].svTaskStartReady(6), plen 0: [tid: 12291908]
|
||||
EVENT[202]: 0.008828075 - core[1].svTaskStartReady(6), plen 0: [tid: 12291908]
|
||||
EVENT[203]: 0.008837475 - core[0].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[204]: 0.008850450 - core[0].svTaskStartExec(4), plen 0: [tid: 12291908]
|
||||
EVENT[205]: 0.008872650 - core[0].svModuleDesc(22), plen 0: [mod_id: 0, evt_off: 512, desc: ESP32 SystemView Heap Tracing Module]
|
||||
EVENT[206]: 0.008872650 - core[1].svModuleDesc(22), plen 0: [mod_id: 0, evt_off: 512, desc: ESP32 SystemView Heap Tracing Module]
|
||||
EVENT[207]: 0.008886175 - core[0].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[208]: 0.008886175 - core[1].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[209]: 0.008897425 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[210]: 0.008906150 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[211]: 0.008919900 - core[0].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073450504, size: 64, callers: [1074601571, 1074296884]]
|
||||
[0.008919900] HEAP: Allocated 64 bytes @ 0x3ffb8e08 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:65
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[212]: 0.008928250 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[213]: 0.008957950 - core[0].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073450572, size: 80, callers: [1074298654, 1074299267]]
|
||||
[0.008957950] HEAP: Allocated 80 bytes @ 0x3ffb8e4c from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:391
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:498
|
||||
|
||||
EVENT[214]: 0.008967250 - core[0].xQueueGenericCreate(47), plen 3: [uxQueueLength: 1, uxItemSize: 0, ucQueueType: 4]
|
||||
EVENT[215]: 0.008977300 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[216]: 0.008984625 - core[1].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073450656, size: 65, callers: [1074601382, 1074296884]]
|
||||
[0.008984625] HEAP: Allocated 65 bytes @ 0x3ffb8ea0 from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:30
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[217]: 0.008995725 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[218]: 0.009010075 - core[1].svIsrEnter(2), plen 0: [irq_num: 5]
|
||||
EVENT[219]: 0.009018025 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[220]: 0.009031900 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[221]: 0.009089600 - core[0].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073434644, size: 80, callers: [1074298654, 1074299267]]
|
||||
[0.009089600] HEAP: Allocated 80 bytes @ 0x3ffb5014 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:391
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:498
|
||||
|
||||
EVENT[222]: 0.009098175 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[223]: 0.009106300 - core[0].xQueueGenericCreate(47), plen 3: [uxQueueLength: 1, uxItemSize: 0, ucQueueType: 4]
|
||||
EVENT[224]: 0.009113825 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[225]: 0.009121600 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[226]: 0.009129000 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[227]: 0.009137900 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[228]: 0.009145425 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[229]: 0.009169600 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[230]: 0.009185225 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[231]: 0.009195125 - core[0].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[232]: 0.009195125 - core[1].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[233]: 0.009207000 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[234]: 0.009215575 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[235]: 0.009223275 - core[0].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073434728, size: 96, callers: [1074601587, 1074296884]]
|
||||
[0.009223275] HEAP: Allocated 96 bytes @ 0x3ffb5068 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:68
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[236]: 0.009231050 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[237]: 0.009241875 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[238]: 0.009257225 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[239]: 0.009269200 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[240]: 0.009278275 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[241]: 0.009286275 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[242]: 0.009303450 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[243]: 0.009310950 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[244]: 0.009329625 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[245]: 0.009339525 - core[0].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[246]: 0.009339525 - core[1].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[247]: 0.009351425 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[248]: 0.009359450 - core[0].esp_sysview_heap_trace_free(513), plen 15: [addr: 1073450504, callers: [1074601600, 1074296884]]
|
||||
[0.009359450] HEAP: Freed bytes @ 0x3ffb8e08 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:70
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[249]: 0.009367800 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[250]: 0.009378950 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[251]: 0.009387450 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[252]: 0.009402575 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[253]: 0.009414900 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[254]: 0.009423125 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[255]: 0.009430250 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[256]: 0.009445425 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[257]: 0.009453075 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[258]: 0.009469225 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[259]: 0.009479025 - core[0].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[260]: 0.009479025 - core[1].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[261]: 0.009490950 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[262]: 0.009499475 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[263]: 0.009507600 - core[0].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073450504, size: 10, callers: [1074601615, 1074296884]]
|
||||
[0.009507600] HEAP: Allocated 10 bytes @ 0x3ffb8e08 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:72
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[264]: 0.009515300 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[265]: 0.009526100 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[266]: 0.009541550 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[267]: 0.009553850 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[268]: 0.009561100 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[269]: 0.009568400 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[270]: 0.009585075 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[271]: 0.009593375 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[272]: 0.009609150 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[273]: 0.009621875 - core[0].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[274]: 0.009621875 - core[1].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[275]: 0.009633775 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[276]: 0.009642300 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[277]: 0.009649475 - core[0].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073450520, size: 23, callers: [1074601628, 1074296884]]
|
||||
[0.009649475] HEAP: Allocated 23 bytes @ 0x3ffb8e18 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:73
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[278]: 0.009657875 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[279]: 0.009666025 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[280]: 0.009681500 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[281]: 0.009693375 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[282]: 0.009702800 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[283]: 0.009710550 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[284]: 0.009726725 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[285]: 0.010504825 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[286]: 0.010520650 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[287]: 0.010530550 - core[0].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[288]: 0.010530550 - core[1].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[289]: 0.010542400 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[290]: 0.010550025 - core[0].esp_sysview_heap_trace_free(513), plen 15: [addr: 1073450520, callers: [1074601643, 1074296884]]
|
||||
[0.010550025] HEAP: Freed bytes @ 0x3ffb8e18 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:76
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[291]: 0.010557450 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[292]: 0.010569700 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[293]: 0.010577700 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[294]: 0.010592825 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[295]: 0.010605950 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[296]: 0.010613575 - core[0].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[297]: 0.010620900 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[298]: 0.010637050 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[299]: 0.012240950 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[300]: 0.012256775 - core[0].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[301]: 0.012266650 - core[0].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[302]: 0.012266650 - core[1].svTaskStartReady(6), plen 0: [tid: 12294320]
|
||||
EVENT[303]: 0.012281350 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[304]: 0.012289475 - core[0].svTaskStopReady(7), plen 0: [tid: 12291908, cause: 27]
|
||||
EVENT[305]: 0.012297450 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[306]: 0.012306350 - core[0].svIsrEnter(2), plen 0: [irq_num: 30]
|
||||
EVENT[307]: 0.012312875 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[308]: 0.012320700 - core[0].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[309]: 0.012328950 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[310]: 0.012338100 - core[0].svIdle(17), plen 0: []
|
||||
EVENT[311]: 0.012640475 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[312]: 0.014931850 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[313]: 0.014963325 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[314]: 0.014984150 - core[1].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073434828, size: 97, callers: [1074601399, 1074296884]]
|
||||
[0.014984150] HEAP: Allocated 97 bytes @ 0x3ffb50cc from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:33
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[315]: 0.014997400 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[316]: 0.015031050 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[317]: 0.017622800 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[318]: 0.017638675 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[319]: 0.017656375 - core[1].esp_sysview_heap_trace_free(513), plen 15: [addr: 1073450656, callers: [1074601412, 1074296884]]
|
||||
[0.017656375] HEAP: Freed bytes @ 0x3ffb8ea0 from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:35
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[320]: 0.017674025 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[321]: 0.017701700 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[322]: 0.018819550 - core[0].svIsrEnter(2), plen 0: [irq_num: 5]
|
||||
EVENT[323]: 0.018829625 - core[0].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[324]: 0.018844750 - core[0].svIdle(17), plen 0: []
|
||||
EVENT[325]: 0.019010075 - core[1].svIsrEnter(2), plen 0: [irq_num: 5]
|
||||
EVENT[326]: 0.019017950 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[327]: 0.019033200 - core[1].svTaskStartExec(4), plen 0: [tid: 12294320]
|
||||
EVENT[328]: 0.019358925 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[329]: 0.019374600 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[330]: 0.019395425 - core[1].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073450520, size: 11, callers: [1074601427, 1074296884]]
|
||||
[0.019395425] HEAP: Allocated 11 bytes @ 0x3ffb8e18 from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:37
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[331]: 0.019412600 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[332]: 0.019446250 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[333]: 0.022049900 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[334]: 0.022065775 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[335]: 0.022086625 - core[1].esp_sysview_heap_trace_alloc(512), plen 16: [addr: 1073450536, size: 24, callers: [1074601440, 1074296884]]
|
||||
[0.022086625] HEAP: Allocated 24 bytes @ 0x3ffb8e28 from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:38
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[336]: 0.022103925 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[337]: 0.022137550 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[338]: 0.024740850 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[339]: 0.024756725 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[340]: 0.024770475 - core[1].esp_sysview_heap_trace_free(513), plen 15: [addr: 1073450536, callers: [1074601455, 1074296884]]
|
||||
[0.024770475] HEAP: Freed bytes @ 0x3ffb8e28 from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:41
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
EVENT[341]: 0.024791750 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12291660, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[342]: 0.024819500 - core[1].xQueueGenericReceive(49), plen 15: [xQueue: 12275732, pvBuffer: 3233808384, xTicksToWait: 4294967295, xJustPeek: 0]
|
||||
EVENT[343]: 0.026476950 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12275732, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[344]: 0.026495700 - core[1].xQueueGenericSend(53), plen 7: [xQueue: 12291660, pvItemToQueue: 0, xTicksToWait: 0, xCopyPosition: 0]
|
||||
EVENT[345]: 0.026506975 - core[0].svTaskStartReady(6), plen 0: [tid: 12291908]
|
||||
EVENT[346]: 0.026506975 - core[1].svTaskStartReady(6), plen 0: [tid: 12291908]
|
||||
EVENT[347]: 0.026518525 - core[1].svTaskStopReady(7), plen 0: [tid: 12294320, cause: 27]
|
||||
EVENT[348]: 0.026526625 - core[0].svIsrEnter(2), plen 0: [irq_num: 30]
|
||||
EVENT[349]: 0.026535575 - core[0].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[350]: 0.026544075 - core[1].svIsrEnter(2), plen 0: [irq_num: 31]
|
||||
EVENT[351]: 0.026551650 - core[0].svTaskStartExec(4), plen 0: [tid: 12291908]
|
||||
EVENT[352]: 0.026559500 - core[1].svExitIsrToScheduler(18), plen 0: []
|
||||
EVENT[353]: 0.148816725 - core[1].svIdle(17), plen 0: []
|
||||
EVENT[354]: 0.148825750 - core[0].vTaskDelay(34), plen 1: [xTicksToDelay: 1]
|
||||
EVENT[355]: 0.148833200 - core[0].svTaskStopReady(7), plen 0: [tid: 12291908, cause: 4]
|
||||
EVENT[356]: 0.148839250 - core[0].svTraceStop(11), plen 0: []
|
||||
EVENT[357]: 0.148839250 - core[1].svTraceStop(11), plen 0: []
|
||||
Processing completed.
|
||||
Processed 358 events
|
||||
=============== LOG TRACE REPORT ===============
|
||||
Processed 0 log messages.
|
||||
=============== HEAP TRACE REPORT ===============
|
||||
Processed 14 heap events.
|
||||
[0.008957950] HEAP: Allocated 80 bytes @ 0x3ffb8e4c from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:391
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:498
|
||||
|
||||
[0.009089600] HEAP: Allocated 80 bytes @ 0x3ffb5014 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:391
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/queue.c:498
|
||||
|
||||
[0.009223275] HEAP: Allocated 96 bytes @ 0x3ffb5068 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:68
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
[0.009507600] HEAP: Allocated 10 bytes @ 0x3ffb8e08 from task "blink_task" on core 0 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:72
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
[0.014984150] HEAP: Allocated 97 bytes @ 0x3ffb50cc from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:33
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
[0.019395425] HEAP: Allocated 11 bytes @ 0x3ffb8e18 from task "blink_task2" on core 1 by:
|
||||
/home/alexey/projects/esp/esp-idf/examples/get-started/blink/main/blink.c:37
|
||||
/home/alexey/projects/esp/esp-idf/components/freertos/port.c:145
|
||||
|
||||
Found 374 leaked bytes in 6 blocks.
|
|
@ -1,8 +1,15 @@
|
|||
#! /bin/bash
|
||||
|
||||
if [ "$(xtensa-esp32-elf-gcc -dumpversion)" = "5.2.0" ]; then
|
||||
EXPECTED_OUTPUT="expected_output"
|
||||
else
|
||||
# GCC_NOT_5_2_0 just a hint to remove later
|
||||
EXPECTED_OUTPUT="expected_output_new_CT"
|
||||
fi
|
||||
|
||||
{ coverage debug sys \
|
||||
&& coverage erase &> output \
|
||||
&& coverage run -a $IDF_PATH/tools/esp_app_trace/sysviewtrace_proc.py -d -p cpu0.svdat cpu1.svdat test.elf &>> output \
|
||||
&& diff output expected_output \
|
||||
&& diff output ${EXPECTED_OUTPUT} \
|
||||
&& coverage report \
|
||||
; } || { echo 'The test for sysviewtrace_proc has failed. Please examine the artifacts.' ; exit 1; }
|
||||
|
|
Loading…
Reference in a new issue