Merge branch 'feature/bringup_esp32c2eco1' into 'master'

esp32c2:ECO1 ROM update

Closes IDF-4933

See merge request espressif/esp-idf!17723
This commit is contained in:
morris
2022-05-06 18:06:26 +08:00
40 changed files with 3288 additions and 2977 deletions

View File

@@ -90,6 +90,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
default "y" if IDF_TARGET="esp32c2"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
select ESPTOOLPY_NO_STUB # TODO: ESPTOOL-440
config IDF_TARGET_LINUX
bool

View File

@@ -126,16 +126,7 @@ void rtc_vddsdio_set_config(rtc_vddsdio_config_t config)
static void set_ocode_by_efuse(int calib_version)
{
#if !CONFIG_IDF_TARGET_ESP32C2 //TODO: Need check for esp32c2
assert(calib_version == 1);
// use efuse ocode.
uint32_t ocode;
esp_err_t err = esp_efuse_read_field_blob(ESP_EFUSE_OCODE, &ocode, 8);
assert(err == ESP_OK);
(void) err;
REGI2C_WRITE_MASK(I2C_ULP, I2C_ULP_EXT_CODE, ocode);
REGI2C_WRITE_MASK(I2C_ULP, I2C_ULP_IR_FORCE_CODE, 1);
#endif
// ESP32C2-TODO: IDF-4940
abort();
}

View File

@@ -43,11 +43,14 @@
#elif CONFIG_IDF_TARGET_ESP32H2
#include "esp32h2/rtc.h"
#include "esp32h2/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32C2
#include "esp32c2/rtc.h"
#include "esp32c2/rom/rtc.h"
#endif
extern void rtc_clk_select_rtc_slow_clk(void);
#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2, ESP32S3, ESP32C3)
#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2, ESP32S3, ESP32C3, ESP32C2)
#define CALIBRATE_ONE(cali_clk) calibrate_one(cali_clk, #cali_clk)

View File

@@ -195,6 +195,10 @@ else() # Regular app build
# only link them if the toolchain is also using 32-bit time_t and nano formatting was requested.
rom_linker_script("newlib-nano")
endif()
if(CONFIG_HEAP_ROM_IMPL)
rom_linker_script("heap")
endif()
endif()
if(CONFIG_IDF_TARGET_ARCH_XTENSA)

View File

@@ -30,9 +30,9 @@ PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char );
PROVIDE ( esp_rom_uart_rx_string = UartRxString );
PROVIDE ( esp_rom_uart_putc = ets_write_char_uart );
PROVIDE ( esp_rom_mbedtls_md5_starts_ret = 0x40002a34 );
PROVIDE ( esp_rom_mbedtls_md5_update_ret = 0x40002a38 );
PROVIDE ( esp_rom_mbedtls_md5_finish_ret = 0x40002a3c );
PROVIDE ( esp_rom_mbedtls_md5_starts_ret = mbedtls_md5_starts_ret );
PROVIDE ( esp_rom_mbedtls_md5_update_ret = mbedtls_md5_update_ret );
PROVIDE ( esp_rom_mbedtls_md5_finish_ret = mbedtls_md5_finish_ret );
PROVIDE ( esp_rom_printf = ets_printf );
PROVIDE ( esp_rom_delay_us = ets_delay_us );

View File

@@ -0,0 +1,24 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* Multi heap function
*/
PROVIDE (multi_heap_malloc = multi_heap_malloc_impl);
PROVIDE (multi_heap_free = multi_heap_free_impl);
PROVIDE (multi_heap_realloc = multi_heap_realloc_impl);
PROVIDE (multi_heap_get_allocated_size = multi_heap_get_allocated_size_impl);
PROVIDE (multi_heap_register = multi_heap_register_impl);
PROVIDE (multi_heap_get_info = multi_heap_get_info_impl);
PROVIDE (multi_heap_free_size = multi_heap_free_size_impl);
PROVIDE (multi_heap_minimum_free_size = multi_heap_minimum_free_size_impl);
PROVIDE (multi_heap_get_block_address = multi_heap_get_block_address_impl);
PROVIDE (multi_heap_aligned_alloc = multi_heap_aligned_alloc_impl);
PROVIDE (multi_heap_aligned_free = multi_heap_aligned_free_impl);
PROVIDE (multi_heap_check = multi_heap_check);
PROVIDE (multi_heap_set_lock = multi_heap_set_lock);
PROVIDE (multi_heap_internal_lock = multi_heap_internal_lock);
PROVIDE (multi_heap_internal_unlock = multi_heap_internal_unlock);

File diff suppressed because it is too large Load Diff

View File

@@ -7,9 +7,9 @@
/* ROM function interface esp32c2.rom.libgcc.ld for esp32c2
*
*
* Generated from ./interface-esp32c2.yml md5sum 6c4d0f3a9f2d0c93477024a1a8f13746
* Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 1.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -19,95 +19,95 @@
***************************************/
/* Functions */
__absvdi2 = 0x400008a4;
__absvsi2 = 0x400008a8;
__adddf3 = 0x400008ac;
__addsf3 = 0x400008b0;
__addvdi3 = 0x400008b4;
__addvsi3 = 0x400008b8;
__ashldi3 = 0x400008bc;
__ashrdi3 = 0x400008c0;
__bswapdi2 = 0x400008c4;
__bswapsi2 = 0x400008c8;
__clear_cache = 0x400008cc;
__clrsbdi2 = 0x400008d0;
__clrsbsi2 = 0x400008d4;
__clzdi2 = 0x400008d8;
__clzsi2 = 0x400008dc;
__cmpdi2 = 0x400008e0;
__ctzdi2 = 0x400008e4;
__ctzsi2 = 0x400008e8;
__divdc3 = 0x400008ec;
__divdf3 = 0x400008f0;
__divdi3 = 0x400008f4;
__divsc3 = 0x400008f8;
__divsf3 = 0x400008fc;
__divsi3 = 0x40000900;
__eqdf2 = 0x40000904;
__eqsf2 = 0x40000908;
__extendsfdf2 = 0x4000090c;
__ffsdi2 = 0x40000910;
__ffssi2 = 0x40000914;
__fixdfdi = 0x40000918;
__fixdfsi = 0x4000091c;
__fixsfdi = 0x40000920;
__fixsfsi = 0x40000924;
__fixunsdfsi = 0x40000928;
__fixunssfdi = 0x4000092c;
__fixunssfsi = 0x40000930;
__floatdidf = 0x40000934;
__floatdisf = 0x40000938;
__floatsidf = 0x4000093c;
__floatsisf = 0x40000940;
__floatundidf = 0x40000944;
__floatundisf = 0x40000948;
__floatunsidf = 0x4000094c;
__floatunsisf = 0x40000950;
__gcc_bcmp = 0x40000954;
__gedf2 = 0x40000958;
__gesf2 = 0x4000095c;
__gtdf2 = 0x40000960;
__gtsf2 = 0x40000964;
__ledf2 = 0x40000968;
__lesf2 = 0x4000096c;
__lshrdi3 = 0x40000970;
__ltdf2 = 0x40000974;
__ltsf2 = 0x40000978;
__moddi3 = 0x4000097c;
__modsi3 = 0x40000980;
__muldc3 = 0x40000984;
__muldf3 = 0x40000988;
__muldi3 = 0x4000098c;
__mulsc3 = 0x40000990;
__mulsf3 = 0x40000994;
__mulsi3 = 0x40000998;
__mulvdi3 = 0x4000099c;
__mulvsi3 = 0x400009a0;
__nedf2 = 0x400009a4;
__negdf2 = 0x400009a8;
__negdi2 = 0x400009ac;
__negsf2 = 0x400009b0;
__negvdi2 = 0x400009b4;
__negvsi2 = 0x400009b8;
__nesf2 = 0x400009bc;
__paritysi2 = 0x400009c0;
__popcountdi2 = 0x400009c4;
__popcountsi2 = 0x400009c8;
__powidf2 = 0x400009cc;
__powisf2 = 0x400009d0;
__subdf3 = 0x400009d4;
__subsf3 = 0x400009d8;
__subvdi3 = 0x400009dc;
__subvsi3 = 0x400009e0;
__truncdfsf2 = 0x400009e4;
__ucmpdi2 = 0x400009e8;
__udivdi3 = 0x400009ec;
__udivmoddi4 = 0x400009f0;
__udivsi3 = 0x400009f4;
__udiv_w_sdiv = 0x400009f8;
__umoddi3 = 0x400009fc;
__umodsi3 = 0x40000a00;
__unorddf2 = 0x40000a04;
__unordsf2 = 0x40000a08;
__extenddftf2 = 0x40000a0c;
__trunctfdf2 = 0x40000a10;
__absvdi2 = 0x400008a8;
__absvsi2 = 0x400008ac;
__adddf3 = 0x400008b0;
__addsf3 = 0x400008b4;
__addvdi3 = 0x400008b8;
__addvsi3 = 0x400008bc;
__ashldi3 = 0x400008c0;
__ashrdi3 = 0x400008c4;
__bswapdi2 = 0x400008c8;
__bswapsi2 = 0x400008cc;
__clear_cache = 0x400008d0;
__clrsbdi2 = 0x400008d4;
__clrsbsi2 = 0x400008d8;
__clzdi2 = 0x400008dc;
__clzsi2 = 0x400008e0;
__cmpdi2 = 0x400008e4;
__ctzdi2 = 0x400008e8;
__ctzsi2 = 0x400008ec;
__divdc3 = 0x400008f0;
__divdf3 = 0x400008f4;
__divdi3 = 0x400008f8;
__divsc3 = 0x400008fc;
__divsf3 = 0x40000900;
__divsi3 = 0x40000904;
__eqdf2 = 0x40000908;
__eqsf2 = 0x4000090c;
__extendsfdf2 = 0x40000910;
__ffsdi2 = 0x40000914;
__ffssi2 = 0x40000918;
__fixdfdi = 0x4000091c;
__fixdfsi = 0x40000920;
__fixsfdi = 0x40000924;
__fixsfsi = 0x40000928;
__fixunsdfsi = 0x4000092c;
__fixunssfdi = 0x40000930;
__fixunssfsi = 0x40000934;
__floatdidf = 0x40000938;
__floatdisf = 0x4000093c;
__floatsidf = 0x40000940;
__floatsisf = 0x40000944;
__floatundidf = 0x40000948;
__floatundisf = 0x4000094c;
__floatunsidf = 0x40000950;
__floatunsisf = 0x40000954;
__gcc_bcmp = 0x40000958;
__gedf2 = 0x4000095c;
__gesf2 = 0x40000960;
__gtdf2 = 0x40000964;
__gtsf2 = 0x40000968;
__ledf2 = 0x4000096c;
__lesf2 = 0x40000970;
__lshrdi3 = 0x40000974;
__ltdf2 = 0x40000978;
__ltsf2 = 0x4000097c;
__moddi3 = 0x40000980;
__modsi3 = 0x40000984;
__muldc3 = 0x40000988;
__muldf3 = 0x4000098c;
__muldi3 = 0x40000990;
__mulsc3 = 0x40000994;
__mulsf3 = 0x40000998;
__mulsi3 = 0x4000099c;
__mulvdi3 = 0x400009a0;
__mulvsi3 = 0x400009a4;
__nedf2 = 0x400009a8;
__negdf2 = 0x400009ac;
__negdi2 = 0x400009b0;
__negsf2 = 0x400009b4;
__negvdi2 = 0x400009b8;
__negvsi2 = 0x400009bc;
__nesf2 = 0x400009c0;
__paritysi2 = 0x400009c4;
__popcountdi2 = 0x400009c8;
__popcountsi2 = 0x400009cc;
__powidf2 = 0x400009d0;
__powisf2 = 0x400009d4;
__subdf3 = 0x400009d8;
__subsf3 = 0x400009dc;
__subvdi3 = 0x400009e0;
__subvsi3 = 0x400009e4;
__truncdfsf2 = 0x400009e8;
__ucmpdi2 = 0x400009ec;
__udivdi3 = 0x400009f0;
__udivmoddi4 = 0x400009f4;
__udivsi3 = 0x400009f8;
__udiv_w_sdiv = 0x400009fc;
__umoddi3 = 0x40000a00;
__umodsi3 = 0x40000a04;
__unorddf2 = 0x40000a08;
__unordsf2 = 0x40000a0c;
__extenddftf2 = 0x40000a10;
__trunctfdf2 = 0x40000a14;

View File

@@ -7,9 +7,9 @@
/* ROM function interface esp32c2.rom.mbedtls.ld for esp32c2
*
*
* Generated from ./interface-esp32c2.yml md5sum 6c4d0f3a9f2d0c93477024a1a8f13746
* Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 1.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -19,395 +19,395 @@
***************************************/
/* Functions */
r_mbedtls_aes_init = 0x400024b4;
r_ssl_write_client_hello = 0x400024b8;
r_ssl_parse_server_hello = 0x400024bc;
r_ssl_parse_server_key_exchange = 0x400024c0;
r_ssl_parse_certificate_request = 0x400024c4;
r_ssl_parse_server_hello_done = 0x400024c8;
r_ssl_write_client_key_exchange = 0x400024cc;
r_ssl_write_certificate_verify = 0x400024d0;
r_ssl_parse_new_session_ticket = 0x400024d4;
r_mbedtls_aes_free = 0x400024d8;
r_mbedtls_aes_setkey_enc = 0x400024dc;
r_mbedtls_aes_setkey_dec = 0x400024e0;
r_mbedtls_aes_crypt_ecb = 0x400024e4;
r_mbedtls_aes_crypt_cbc = 0x400024e8;
r_mbedtls_internal_aes_encrypt = 0x400024ec;
r_mbedtls_internal_aes_decrypt = 0x400024f0;
r_mbedtls_asn1_get_len = 0x400024f4;
r_mbedtls_asn1_get_tag = 0x400024f8;
r_mbedtls_asn1_get_bool = 0x400024fc;
r_mbedtls_asn1_get_int = 0x40002500;
r_mbedtls_asn1_get_bitstring = 0x40002504;
r_mbedtls_asn1_get_bitstring_null = 0x40002508;
r_mbedtls_asn1_get_sequence_of = 0x4000250c;
r_mbedtls_asn1_get_mpi = 0x40002510;
r_mbedtls_asn1_get_alg = 0x40002514;
r_mbedtls_asn1_get_alg_null = 0x40002518;
r_mbedtls_asn1_write_len = 0x4000251c;
r_mbedtls_asn1_write_tag = 0x40002520;
r_mbedtls_asn1_write_mpi = 0x40002524;
r_mbedtls_base64_decode = 0x40002528;
r_mbedtls_mpi_init = 0x4000252c;
r_mbedtls_mpi_free = 0x40002530;
r_mbedtls_mpi_grow = 0x40002534;
r_mbedtls_mpi_shrink = 0x40002538;
r_mbedtls_mpi_copy = 0x4000253c;
r_mbedtls_mpi_safe_cond_assign = 0x40002540;
r_mbedtls_mpi_safe_cond_swap = 0x40002544;
r_mbedtls_mpi_lset = 0x40002548;
r_mbedtls_mpi_get_bit = 0x4000254c;
r_mbedtls_mpi_set_bit = 0x40002550;
r_mbedtls_mpi_lsb = 0x40002554;
r_mbedtls_mpi_bitlen = 0x40002558;
r_mbedtls_mpi_size = 0x4000255c;
r_mbedtls_mpi_read_binary = 0x40002560;
r_mbedtls_mpi_write_binary = 0x40002564;
r_mbedtls_mpi_shift_l = 0x40002568;
r_mbedtls_mpi_shift_r = 0x4000256c;
r_mbedtls_mpi_cmp_abs = 0x40002570;
r_mbedtls_mpi_cmp_mpi = 0x40002574;
r_mbedtls_mpi_lt_mpi_ct = 0x40002578;
r_mbedtls_mpi_cmp_int = 0x4000257c;
r_mbedtls_mpi_add_abs = 0x40002580;
r_mbedtls_mpi_sub_abs = 0x40002584;
r_mbedtls_mpi_add_mpi = 0x40002588;
r_mbedtls_mpi_sub_mpi = 0x4000258c;
r_mbedtls_mpi_add_int = 0x40002590;
r_mbedtls_mpi_sub_int = 0x40002594;
r_mbedtls_mpi_mul_mpi = 0x40002598;
r_mbedtls_mpi_mul_int = 0x4000259c;
r_mbedtls_mpi_div_mpi = 0x400025a0;
r_mbedtls_mpi_div_int = 0x400025a4;
r_mbedtls_mpi_mod_mpi = 0x400025a8;
r_mbedtls_mpi_mod_int = 0x400025ac;
r_mbedtls_mpi_exp_mod = 0x400025b0;
r_mbedtls_mpi_fill_random = 0x400025b4;
r_mbedtls_mpi_gcd = 0x400025b8;
r_mbedtls_mpi_inv_mod = 0x400025bc;
r_mbedtls_mpi_is_prime_ext = 0x400025c0;
r_mbedtls_ccm_star_encrypt_and_tag = 0x400025c4;
r_mbedtls_ccm_star_auth_decrypt = 0x400025c8;
r_mbedtls_cipher_init = 0x400025cc;
r_mbedtls_cipher_set_padding_mode = 0x400025d0;
r_mbedtls_cipher_reset = 0x400025d4;
r_mbedtls_cipher_finish = 0x400025d8;
r_mbedtls_cipher_crypt = 0x400025dc;
r_mbedtls_cipher_cmac_starts = 0x400025e0;
r_mbedtls_cipher_cmac_update = 0x400025e4;
r_mbedtls_cipher_cmac_finish = 0x400025e8;
r_mbedtls_ctr_drbg_init = 0x400025ec;
r_mbedtls_ctr_drbg_seed = 0x400025f0;
r_mbedtls_ctr_drbg_free = 0x400025f4;
r_mbedtls_ctr_drbg_reseed = 0x400025f8;
r_mbedtls_ctr_drbg_random_with_add = 0x400025fc;
r_mbedtls_ctr_drbg_random = 0x40002600;
r_mbedtls_dhm_init = 0x40002604;
r_mbedtls_dhm_read_params = 0x40002608;
r_mbedtls_dhm_make_public = 0x4000260c;
r_mbedtls_dhm_calc_secret = 0x40002610;
r_mbedtls_dhm_free = 0x40002614;
r_mbedtls_ecdh_init = 0x40002618;
r_mbedtls_ecdh_setup = 0x4000261c;
r_mbedtls_ecdh_free = 0x40002620;
r_mbedtls_ecdh_read_params = 0x40002624;
r_mbedtls_ecdh_get_params = 0x40002628;
r_mbedtls_ecdh_make_public = 0x4000262c;
r_mbedtls_ecdh_calc_secret = 0x40002630;
r_mbedtls_ecdh_enable_restart = 0x40002634;
r_mbedtls_ecdsa_write_signature = 0x40002638;
r_mbedtls_ecdsa_write_signature_restartable = 0x4000263c;
r_mbedtls_ecdsa_read_signature = 0x40002640;
r_mbedtls_ecdsa_read_signature_restartable = 0x40002644;
r_mbedtls_ecdsa_from_keypair = 0x40002648;
r_mbedtls_ecdsa_init = 0x4000264c;
r_mbedtls_ecdsa_free = 0x40002650;
r_mbedtls_ecdsa_restart_init = 0x40002654;
r_mbedtls_ecdsa_restart_free = 0x40002658;
r_mbedtls_ecjpake_init = 0x4000265c;
r_mbedtls_ecjpake_check = 0x40002660;
r_mbedtls_ecjpake_write_round_one = 0x40002664;
r_mbedtls_ecjpake_read_round_one = 0x40002668;
r_mbedtls_ecjpake_write_round_two = 0x4000266c;
r_mbedtls_ecjpake_read_round_two = 0x40002670;
r_mbedtls_ecjpake_derive_secret = 0x40002674;
r_mbedtls_ecjpake_free = 0x40002678;
r_mbedtls_ecp_check_budget = 0x4000267c;
r_mbedtls_ecp_restart_is_enabled = 0x40002680;
r_mbedtls_ecp_curve_list = 0x40002684;
r_mbedtls_ecp_grp_id_list = 0x40002688;
r_mbedtls_ecp_curve_info_from_grp_id = 0x4000268c;
r_mbedtls_ecp_curve_info_from_tls_id = 0x40002690;
r_mbedtls_ecp_point_init = 0x40002694;
r_mbedtls_ecp_group_init = 0x40002698;
r_mbedtls_ecp_keypair_init = 0x4000269c;
r_mbedtls_ecp_point_free = 0x400026a0;
r_mbedtls_ecp_group_free = 0x400026a4;
r_mbedtls_ecp_keypair_free = 0x400026a8;
r_mbedtls_ecp_restart_init = 0x400026ac;
r_mbedtls_ecp_restart_free = 0x400026b0;
r_mbedtls_ecp_copy = 0x400026b4;
r_mbedtls_ecp_group_copy = 0x400026b8;
r_mbedtls_ecp_set_zero = 0x400026bc;
r_mbedtls_ecp_is_zero = 0x400026c0;
r_mbedtls_ecp_point_cmp = 0x400026c4;
r_mbedtls_ecp_point_write_binary = 0x400026c8;
r_mbedtls_ecp_point_read_binary = 0x400026cc;
r_mbedtls_ecp_tls_read_point = 0x400026d0;
r_mbedtls_ecp_tls_write_point = 0x400026d4;
r_mbedtls_ecp_group_load = 0x400026d8;
r_mbedtls_ecp_tls_read_group = 0x400026dc;
r_mbedtls_ecp_tls_read_group_id = 0x400026e0;
r_mbedtls_ecp_tls_write_group = 0x400026e4;
r_mbedtls_ecp_mul = 0x400026e8;
r_mbedtls_ecp_mul_restartable = 0x400026ec;
r_mbedtls_ecp_muladd = 0x400026f0;
r_mbedtls_ecp_muladd_restartable = 0x400026f4;
r_mbedtls_ecp_check_pubkey = 0x400026f8;
r_mbedtls_ecp_check_privkey = 0x400026fc;
r_mbedtls_ecp_gen_privkey = 0x40002700;
r_mbedtls_ecp_gen_keypair_base = 0x40002704;
r_mbedtls_ecp_check_pub_priv = 0x40002708;
r_mbedtls_entropy_add_source = 0x4000270c;
r_mbedtls_entropy_func = 0x40002710;
r_mbedtls_gcm_crypt_and_tag = 0x40002714;
r_mbedtls_gcm_starts = 0x40002718;
r_mbedtls_gcm_update = 0x4000271c;
r_mbedtls_gcm_finish = 0x40002720;
r_mbedtls_hmac_drbg_init = 0x40002724;
r_mbedtls_hmac_drbg_seed_buf = 0x40002728;
r_mbedtls_hmac_drbg_update_ret = 0x4000272c;
r_mbedtls_hmac_drbg_reseed = 0x40002730;
r_mbedtls_hmac_drbg_random_with_add = 0x40002734;
r_mbedtls_hmac_drbg_random = 0x40002738;
r_mbedtls_hmac_drbg_free = 0x4000273c;
r_mbedtls_md_list = 0x40002740;
r_mbedtls_md_init = 0x40002744;
r_mbedtls_md_free = 0x40002748;
r_mbedtls_md_setup = 0x4000274c;
r_mbedtls_md_clone = 0x40002750;
r_mbedtls_md_get_size = 0x40002754;
r_mbedtls_md_get_type = 0x40002758;
r_mbedtls_md_starts = 0x4000275c;
r_mbedtls_md_update = 0x40002760;
r_mbedtls_md_finish = 0x40002764;
r_mbedtls_md = 0x40002768;
r_mbedtls_md_hmac_starts = 0x4000276c;
r_mbedtls_md_hmac_update = 0x40002770;
r_mbedtls_md_hmac_finish = 0x40002774;
r_mbedtls_md_hmac_reset = 0x40002778;
r_mbedtls_oid_get_x509_ext_type = 0x4000277c;
r_mbedtls_oid_get_pk_alg = 0x40002780;
r_mbedtls_oid_get_ec_grp = 0x40002784;
r_mbedtls_oid_get_sig_alg = 0x40002788;
r_mbedtls_oid_get_md_alg = 0x4000278c;
r_mbedtls_oid_get_md_hmac = 0x40002790;
r_mbedtls_oid_get_oid_by_md = 0x40002794;
r_mbedtls_oid_get_cipher_alg = 0x40002798;
r_mbedtls_oid_get_pkcs12_pbe_alg = 0x4000279c;
r_mbedtls_pem_init = 0x400027a0;
r_mbedtls_pem_free = 0x400027a4;
r_mbedtls_pkcs12_pbe_sha1_rc4_128 = 0x400027a8;
r_mbedtls_pkcs12_pbe = 0x400027ac;
r_mbedtls_pkcs12_derivation = 0x400027b0;
r_mbedtls_pkcs5_pbes2 = 0x400027b4;
r_mbedtls_pkcs5_pbkdf2_hmac = 0x400027b8;
r_mbedtls_pk_info_from_type = 0x400027bc;
r_mbedtls_pk_init = 0x400027c0;
r_mbedtls_pk_free = 0x400027c4;
r_mbedtls_pk_restart_init = 0x400027c8;
r_mbedtls_pk_restart_free = 0x400027cc;
r_mbedtls_pk_setup = 0x400027d0;
r_mbedtls_pk_can_do = 0x400027d4;
r_mbedtls_pk_verify = 0x400027d8;
r_mbedtls_pk_verify_restartable = 0x400027dc;
r_mbedtls_pk_verify_ext = 0x400027e0;
r_mbedtls_pk_sign_restartable = 0x400027e4;
r_mbedtls_pk_encrypt = 0x400027e8;
r_mbedtls_pk_get_type = 0x400027ec;
r_mbedtls_pk_parse_subpubkey = 0x400027f0;
r_mbedtls_rsa_init = 0x400027f4;
r_mbedtls_rsa_import = 0x400027f8;
r_mbedtls_rsa_import_raw = 0x400027fc;
r_mbedtls_rsa_complete = 0x40002800;
r_mbedtls_rsa_set_padding = 0x40002804;
r_mbedtls_rsa_get_len = 0x40002808;
r_mbedtls_rsa_check_pubkey = 0x4000280c;
r_mbedtls_rsa_check_privkey = 0x40002810;
r_mbedtls_rsa_check_pub_priv = 0x40002814;
r_mbedtls_rsa_public = 0x40002818;
r_mbedtls_rsa_private = 0x4000281c;
r_mbedtls_rsa_pkcs1_encrypt = 0x40002820;
r_mbedtls_rsa_rsaes_pkcs1_v15_encrypt = 0x40002824;
r_mbedtls_rsa_rsaes_oaep_encrypt = 0x40002828;
r_mbedtls_rsa_pkcs1_decrypt = 0x4000282c;
r_mbedtls_rsa_rsaes_pkcs1_v15_decrypt = 0x40002830;
r_mbedtls_rsa_rsaes_oaep_decrypt = 0x40002834;
r_mbedtls_rsa_pkcs1_sign = 0x40002838;
r_mbedtls_rsa_rsassa_pkcs1_v15_sign = 0x4000283c;
r_mbedtls_rsa_rsassa_pss_sign = 0x40002840;
r_mbedtls_rsa_pkcs1_verify = 0x40002844;
r_mbedtls_rsa_rsassa_pkcs1_v15_verify = 0x40002848;
r_mbedtls_rsa_rsassa_pss_verify = 0x4000284c;
r_mbedtls_rsa_rsassa_pss_verify_ext = 0x40002850;
r_mbedtls_rsa_free = 0x40002854;
r_mbedtls_rsa_deduce_primes = 0x40002858;
r_mbedtls_rsa_deduce_private_exponent = 0x4000285c;
r_mbedtls_rsa_deduce_crt = 0x40002860;
r_mbedtls_rsa_validate_params = 0x40002864;
r_mbedtls_rsa_validate_crt = 0x40002868;
r_mbedtls_sha1_init = 0x4000286c;
r_mbedtls_sha1_free = 0x40002870;
r_mbedtls_sha1_clone = 0x40002874;
r_mbedtls_sha1_starts_ret = 0x40002878;
r_mbedtls_sha1_finish_ret = 0x4000287c;
r_mbedtls_sha256_init = 0x40002880;
r_mbedtls_sha256_free = 0x40002884;
r_mbedtls_sha256_clone = 0x40002888;
r_mbedtls_sha256_starts_ret = 0x4000288c;
r_mbedtls_sha256_finish_ret = 0x40002890;
r_mbedtls_sha256_ret = 0x40002894;
r_mbedtls_sha512_init = 0x40002898;
r_mbedtls_sha512_free = 0x4000289c;
r_mbedtls_sha512_clone = 0x400028a0;
r_mbedtls_sha512_starts_ret = 0x400028a4;
r_mbedtls_sha512_update_ret = 0x400028a8;
r_mbedtls_sha512_finish_ret = 0x400028ac;
r_mbedtls_internal_sha512_process = 0x400028b0;
r_mbedtls_sha512_ret = 0x400028b4;
r_mbedtls_ssl_conf_endpoint = 0x400028b8;
r_mbedtls_ssl_conf_transport = 0x400028bc;
r_mbedtls_ssl_set_bio = 0x400028c0;
r_mbedtls_ssl_conf_dh_param_bin = 0x400028c4;
r_mbedtls_ssl_get_max_frag_len = 0x400028c8;
r_mbedtls_ssl_get_max_out_record_payload = 0x400028cc;
r_mbedtls_ssl_handshake = 0x400028d0;
r_mbedtls_ssl_handshake_step = 0x400028d4;
r_mbedtls_ssl_renegotiate = 0x400028d8;
r_mbedtls_ssl_send_alert_message = 0x400028dc;
r_mbedtls_ssl_config_defaults = 0x400028e0;
r_mbedtls_ssl_session_init = 0x400028e4;
r_mbedtls_ssl_session_free = 0x400028e8;
r_mbedtls_ssl_transform_free = 0x400028ec;
r_mbedtls_ssl_handshake_free = 0x400028f0;
r_mbedtls_ssl_handshake_client_step = 0x400028f4;
r_mbedtls_ssl_handshake_wrapup = 0x400028f8;
r_mbedtls_ssl_derive_keys = 0x400028fc;
r_mbedtls_ssl_handle_message_type = 0x40002900;
r_mbedtls_ssl_prepare_handshake_record = 0x40002904;
r_mbedtls_ssl_update_handshake_status = 0x40002908;
r_mbedtls_ssl_read_record = 0x4000290c;
r_mbedtls_ssl_fetch_input = 0x40002910;
r_mbedtls_ssl_write_handshake_msg = 0x40002914;
r_mbedtls_ssl_write_record = 0x40002918;
r_mbedtls_ssl_flush_output = 0x4000291c;
r_mbedtls_ssl_parse_certificate = 0x40002920;
r_mbedtls_ssl_write_certificate = 0x40002924;
r_mbedtls_ssl_parse_change_cipher_spec = 0x40002928;
r_mbedtls_ssl_write_change_cipher_spec = 0x4000292c;
r_mbedtls_ssl_parse_finished = 0x40002930;
r_mbedtls_ssl_write_finished = 0x40002934;
r_mbedtls_ssl_optimize_checksum = 0x40002938;
r_mbedtls_ssl_psk_derive_premaster = 0x4000293c;
r_mbedtls_ssl_sig_from_pk = 0x40002940;
r_mbedtls_ssl_pk_alg_from_sig = 0x40002944;
r_mbedtls_ssl_md_alg_from_hash = 0x40002948;
r_mbedtls_ssl_hash_from_md_alg = 0x4000294c;
r_mbedtls_ssl_check_curve = 0x40002950;
r_mbedtls_ssl_check_sig_hash = 0x40002954;
r_mbedtls_ssl_write_version = 0x40002958;
r_mbedtls_ssl_read_version = 0x4000295c;
r_mbedtls_ssl_get_key_exchange_md_ssl_tls = 0x40002960;
r_mbedtls_ssl_get_key_exchange_md_tls1_2 = 0x40002964;
r_mbedtls_ssl_cf_hmac = 0x40002968;
r_mbedtls_ssl_cf_memcpy_offset = 0x4000296c;
r_mbedtls_x509_crt_parse_der = 0x40002970;
r_mbedtls_x509_crt_verify_restartable = 0x40002974;
r_mbedtls_x509_crt_check_key_usage = 0x40002978;
r_mbedtls_x509_crt_check_extended_key_usage = 0x4000297c;
r_mbedtls_x509_crt_is_revoked = 0x40002980;
r_mbedtls_x509_crt_init = 0x40002984;
r_mbedtls_x509_crt_free = 0x40002988;
r_mbedtls_x509_crt_restart_init = 0x4000298c;
r_mbedtls_x509_crt_restart_free = 0x40002990;
r_mbedtls_x509_get_name = 0x40002994;
r_mbedtls_x509_get_alg_null = 0x40002998;
r_mbedtls_x509_get_alg = 0x4000299c;
r_mbedtls_x509_get_rsassa_pss_params = 0x400029a0;
r_mbedtls_x509_get_sig = 0x400029a4;
r_mbedtls_x509_get_sig_alg = 0x400029a8;
r_mbedtls_x509_get_time = 0x400029ac;
r_mbedtls_x509_get_serial = 0x400029b0;
r_mbedtls_x509_get_ext = 0x400029b4;
mbedtls_aes_xts_init = 0x400029b8;
mbedtls_aes_xts_free = 0x400029bc;
mbedtls_aes_xts_setkey_enc = 0x400029c0;
mbedtls_aes_xts_setkey_dec = 0x400029c4;
mbedtls_aes_crypt_xts = 0x400029c8;
mbedtls_aes_crypt_cfb128 = 0x400029cc;
mbedtls_aes_crypt_ofb = 0x400029d0;
mbedtls_aes_crypt_ctr = 0x400029d4;
mbedtls_arc4_init = 0x400029d8;
mbedtls_arc4_free = 0x400029dc;
mbedtls_arc4_setup = 0x400029e0;
mbedtls_arc4_crypt = 0x400029e4;
mbedtls_ccm_init = 0x400029e8;
mbedtls_ccm_setkey = 0x400029ec;
mbedtls_ccm_free = 0x400029f0;
mbedtls_ccm_encrypt_and_tag = 0x400029f4;
mbedtls_ccm_auth_decrypt = 0x400029f8;
mbedtls_dhm_make_params = 0x400029fc;
mbedtls_dhm_set_group = 0x40002a00;
mbedtls_dhm_read_public = 0x40002a04;
mbedtls_ecdh_make_params = 0x40002a08;
mbedtls_ecdh_read_public = 0x40002a0c;
mbedtls_entropy_init = 0x40002a10;
mbedtls_entropy_free = 0x40002a14;
mbedtls_gcm_init = 0x40002a18;
mbedtls_gcm_setkey = 0x40002a1c;
mbedtls_gcm_auth_decrypt = 0x40002a20;
mbedtls_gcm_free = 0x40002a24;
mbedtls_md5_init = 0x40002a28;
mbedtls_md5_free = 0x40002a2c;
mbedtls_md5_clone = 0x40002a30;
mbedtls_md5_starts_ret = 0x40002a34;
mbedtls_md5_update_ret = 0x40002a38;
mbedtls_md5_finish_ret = 0x40002a3c;
mbedtls_internal_md5_process = 0x40002a40;
mbedtls_md5_ret = 0x40002a44;
mbedtls_pk_get_bitlen = 0x40002a48;
mbedtls_pk_sign = 0x40002a4c;
mbedtls_pk_decrypt = 0x40002a50;
mbedtls_pk_parse_key = 0x40002a54;
mbedtls_sha1_ret = 0x40002a58;
mbedtls_ssl_init = 0x40002a5c;
mbedtls_ssl_setup = 0x40002a60;
mbedtls_ssl_conf_authmode = 0x40002a64;
mbedtls_ssl_conf_rng = 0x40002a68;
mbedtls_ssl_conf_ca_chain = 0x40002a6c;
mbedtls_ssl_conf_own_cert = 0x40002a70;
mbedtls_ssl_read = 0x40002a74;
mbedtls_ssl_write = 0x40002a78;
mbedtls_ssl_config_init = 0x40002a7c;
mbedtls_ssl_sig_hash_set_find = 0x40002a80;
mbedtls_ssl_sig_hash_set_add = 0x40002a84;
mbedtls_ssl_sig_hash_set_const_hash = 0x40002a88;
mbedtls_ssl_sig_from_pk_alg = 0x40002a8c;
mbedtls_ssl_set_calc_verify_md = 0x40002a90;
mbedtls_x509_crt_parse = 0x40002a94;
mbedtls_aes_init = 0x40002664;
ssl_write_client_hello = 0x40002668;
ssl_parse_server_hello = 0x4000266c;
ssl_parse_server_key_exchange = 0x40002670;
ssl_parse_certificate_request = 0x40002674;
ssl_parse_server_hello_done = 0x40002678;
ssl_write_client_key_exchange = 0x4000267c;
ssl_write_certificate_verify = 0x40002680;
ssl_parse_new_session_ticket = 0x40002684;
mbedtls_aes_free = 0x40002688;
mbedtls_aes_setkey_enc = 0x4000268c;
mbedtls_aes_setkey_dec = 0x40002690;
mbedtls_aes_crypt_ecb = 0x40002694;
mbedtls_aes_crypt_cbc = 0x40002698;
mbedtls_internal_aes_encrypt = 0x4000269c;
mbedtls_internal_aes_decrypt = 0x400026a0;
mbedtls_asn1_get_len = 0x400026a4;
mbedtls_asn1_get_tag = 0x400026a8;
mbedtls_asn1_get_bool = 0x400026ac;
mbedtls_asn1_get_int = 0x400026b0;
mbedtls_asn1_get_bitstring = 0x400026b4;
mbedtls_asn1_get_bitstring_null = 0x400026b8;
mbedtls_asn1_get_sequence_of = 0x400026bc;
mbedtls_asn1_get_mpi = 0x400026c0;
mbedtls_asn1_get_alg = 0x400026c4;
mbedtls_asn1_get_alg_null = 0x400026c8;
mbedtls_asn1_write_len = 0x400026cc;
mbedtls_asn1_write_tag = 0x400026d0;
mbedtls_asn1_write_mpi = 0x400026d4;
mbedtls_base64_decode = 0x400026d8;
mbedtls_mpi_init = 0x400026dc;
mbedtls_mpi_free = 0x400026e0;
mbedtls_mpi_grow = 0x400026e4;
mbedtls_mpi_shrink = 0x400026e8;
mbedtls_mpi_copy = 0x400026ec;
mbedtls_mpi_safe_cond_assign = 0x400026f0;
mbedtls_mpi_safe_cond_swap = 0x400026f4;
mbedtls_mpi_lset = 0x400026f8;
mbedtls_mpi_get_bit = 0x400026fc;
mbedtls_mpi_set_bit = 0x40002700;
mbedtls_mpi_lsb = 0x40002704;
mbedtls_mpi_bitlen = 0x40002708;
mbedtls_mpi_size = 0x4000270c;
mbedtls_mpi_read_binary = 0x40002710;
mbedtls_mpi_write_binary = 0x40002714;
mbedtls_mpi_shift_l = 0x40002718;
mbedtls_mpi_shift_r = 0x4000271c;
mbedtls_mpi_cmp_abs = 0x40002720;
mbedtls_mpi_cmp_mpi = 0x40002724;
mbedtls_mpi_lt_mpi_ct = 0x40002728;
mbedtls_mpi_cmp_int = 0x4000272c;
mbedtls_mpi_add_abs = 0x40002730;
mbedtls_mpi_sub_abs = 0x40002734;
mbedtls_mpi_add_mpi = 0x40002738;
mbedtls_mpi_sub_mpi = 0x4000273c;
mbedtls_mpi_add_int = 0x40002740;
mbedtls_mpi_sub_int = 0x40002744;
mbedtls_mpi_mul_mpi = 0x40002748;
mbedtls_mpi_mul_int = 0x4000274c;
mbedtls_mpi_div_mpi = 0x40002750;
mbedtls_mpi_div_int = 0x40002754;
mbedtls_mpi_mod_mpi = 0x40002758;
mbedtls_mpi_mod_int = 0x4000275c;
mbedtls_mpi_exp_mod = 0x40002760;
mbedtls_mpi_fill_random = 0x40002764;
mbedtls_mpi_gcd = 0x40002768;
mbedtls_mpi_inv_mod = 0x4000276c;
mbedtls_mpi_is_prime_ext = 0x40002770;
mbedtls_ccm_star_encrypt_and_tag = 0x40002774;
mbedtls_ccm_star_auth_decrypt = 0x40002778;
mbedtls_cipher_init = 0x4000277c;
mbedtls_cipher_set_padding_mode = 0x40002780;
mbedtls_cipher_reset = 0x40002784;
mbedtls_cipher_finish = 0x40002788;
mbedtls_cipher_crypt = 0x4000278c;
mbedtls_cipher_cmac_starts = 0x40002790;
mbedtls_cipher_cmac_update = 0x40002794;
mbedtls_cipher_cmac_finish = 0x40002798;
mbedtls_ctr_drbg_init = 0x4000279c;
mbedtls_ctr_drbg_seed = 0x400027a0;
mbedtls_ctr_drbg_free = 0x400027a4;
mbedtls_ctr_drbg_reseed = 0x400027a8;
mbedtls_ctr_drbg_random_with_add = 0x400027ac;
mbedtls_ctr_drbg_random = 0x400027b0;
mbedtls_dhm_init = 0x400027b4;
mbedtls_dhm_read_params = 0x400027b8;
mbedtls_dhm_make_public = 0x400027bc;
mbedtls_dhm_calc_secret = 0x400027c0;
mbedtls_dhm_free = 0x400027c4;
mbedtls_ecdh_init = 0x400027c8;
mbedtls_ecdh_setup = 0x400027cc;
mbedtls_ecdh_free = 0x400027d0;
mbedtls_ecdh_read_params = 0x400027d4;
mbedtls_ecdh_get_params = 0x400027d8;
mbedtls_ecdh_make_public = 0x400027dc;
mbedtls_ecdh_calc_secret = 0x400027e0;
mbedtls_ecdh_enable_restart = 0x400027e4;
mbedtls_ecdsa_write_signature = 0x400027e8;
mbedtls_ecdsa_write_signature_restartable = 0x400027ec;
mbedtls_ecdsa_read_signature = 0x400027f0;
mbedtls_ecdsa_read_signature_restartable = 0x400027f4;
mbedtls_ecdsa_from_keypair = 0x400027f8;
mbedtls_ecdsa_init = 0x400027fc;
mbedtls_ecdsa_free = 0x40002800;
mbedtls_ecdsa_restart_init = 0x40002804;
mbedtls_ecdsa_restart_free = 0x40002808;
mbedtls_ecjpake_init = 0x4000280c;
mbedtls_ecjpake_check = 0x40002810;
mbedtls_ecjpake_write_round_one = 0x40002814;
mbedtls_ecjpake_read_round_one = 0x40002818;
mbedtls_ecjpake_write_round_two = 0x4000281c;
mbedtls_ecjpake_read_round_two = 0x40002820;
mbedtls_ecjpake_derive_secret = 0x40002824;
mbedtls_ecjpake_free = 0x40002828;
mbedtls_ecp_check_budget = 0x4000282c;
mbedtls_ecp_restart_is_enabled = 0x40002830;
mbedtls_ecp_curve_list = 0x40002834;
mbedtls_ecp_grp_id_list = 0x40002838;
mbedtls_ecp_curve_info_from_grp_id = 0x4000283c;
mbedtls_ecp_curve_info_from_tls_id = 0x40002840;
mbedtls_ecp_point_init = 0x40002844;
mbedtls_ecp_group_init = 0x40002848;
mbedtls_ecp_keypair_init = 0x4000284c;
mbedtls_ecp_point_free = 0x40002850;
mbedtls_ecp_group_free = 0x40002854;
mbedtls_ecp_keypair_free = 0x40002858;
mbedtls_ecp_restart_init = 0x4000285c;
mbedtls_ecp_restart_free = 0x40002860;
mbedtls_ecp_copy = 0x40002864;
mbedtls_ecp_group_copy = 0x40002868;
mbedtls_ecp_set_zero = 0x4000286c;
mbedtls_ecp_is_zero = 0x40002870;
mbedtls_ecp_point_cmp = 0x40002874;
mbedtls_ecp_point_write_binary = 0x40002878;
mbedtls_ecp_point_read_binary = 0x4000287c;
mbedtls_ecp_tls_read_point = 0x40002880;
mbedtls_ecp_tls_write_point = 0x40002884;
mbedtls_ecp_group_load = 0x40002888;
mbedtls_ecp_tls_read_group = 0x4000288c;
mbedtls_ecp_tls_read_group_id = 0x40002890;
mbedtls_ecp_tls_write_group = 0x40002894;
mbedtls_ecp_mul = 0x40002898;
mbedtls_ecp_mul_restartable = 0x4000289c;
mbedtls_ecp_muladd = 0x400028a0;
mbedtls_ecp_muladd_restartable = 0x400028a4;
mbedtls_ecp_check_pubkey = 0x400028a8;
mbedtls_ecp_check_privkey = 0x400028ac;
mbedtls_ecp_gen_privkey = 0x400028b0;
mbedtls_ecp_gen_keypair_base = 0x400028b4;
mbedtls_ecp_check_pub_priv = 0x400028b8;
mbedtls_entropy_add_source = 0x400028bc;
mbedtls_entropy_func = 0x400028c0;
mbedtls_gcm_crypt_and_tag = 0x400028c4;
mbedtls_gcm_starts = 0x400028c8;
mbedtls_gcm_update = 0x400028cc;
mbedtls_gcm_finish = 0x400028d0;
mbedtls_hmac_drbg_init = 0x400028d4;
mbedtls_hmac_drbg_seed_buf = 0x400028d8;
mbedtls_hmac_drbg_update_ret = 0x400028dc;
mbedtls_hmac_drbg_reseed = 0x400028e0;
mbedtls_hmac_drbg_random_with_add = 0x400028e4;
mbedtls_hmac_drbg_random = 0x400028e8;
mbedtls_hmac_drbg_free = 0x400028ec;
mbedtls_md_list = 0x400028f0;
mbedtls_md_init = 0x400028f4;
mbedtls_md_free = 0x400028f8;
mbedtls_md_setup = 0x400028fc;
mbedtls_md_clone = 0x40002900;
mbedtls_md_get_size = 0x40002904;
mbedtls_md_get_type = 0x40002908;
mbedtls_md_starts = 0x4000290c;
mbedtls_md_update = 0x40002910;
mbedtls_md_finish = 0x40002914;
mbedtls_md = 0x40002918;
mbedtls_md_hmac_starts = 0x4000291c;
mbedtls_md_hmac_update = 0x40002920;
mbedtls_md_hmac_finish = 0x40002924;
mbedtls_md_hmac_reset = 0x40002928;
mbedtls_oid_get_x509_ext_type = 0x4000292c;
mbedtls_oid_get_pk_alg = 0x40002930;
mbedtls_oid_get_ec_grp = 0x40002934;
mbedtls_oid_get_sig_alg = 0x40002938;
mbedtls_oid_get_md_alg = 0x4000293c;
mbedtls_oid_get_md_hmac = 0x40002940;
mbedtls_oid_get_oid_by_md = 0x40002944;
mbedtls_oid_get_cipher_alg = 0x40002948;
mbedtls_oid_get_pkcs12_pbe_alg = 0x4000294c;
mbedtls_pem_init = 0x40002950;
mbedtls_pem_free = 0x40002954;
mbedtls_pkcs12_pbe_sha1_rc4_128 = 0x40002958;
mbedtls_pkcs12_pbe = 0x4000295c;
mbedtls_pkcs12_derivation = 0x40002960;
mbedtls_pkcs5_pbes2 = 0x40002964;
mbedtls_pkcs5_pbkdf2_hmac = 0x40002968;
mbedtls_pk_info_from_type = 0x4000296c;
mbedtls_pk_init = 0x40002970;
mbedtls_pk_free = 0x40002974;
mbedtls_pk_restart_init = 0x40002978;
mbedtls_pk_restart_free = 0x4000297c;
mbedtls_pk_setup = 0x40002980;
mbedtls_pk_can_do = 0x40002984;
mbedtls_pk_verify = 0x40002988;
mbedtls_pk_verify_restartable = 0x4000298c;
mbedtls_pk_verify_ext = 0x40002990;
mbedtls_pk_sign_restartable = 0x40002994;
mbedtls_pk_encrypt = 0x40002998;
mbedtls_pk_get_type = 0x4000299c;
mbedtls_pk_parse_subpubkey = 0x400029a0;
mbedtls_rsa_init = 0x400029a4;
mbedtls_rsa_import = 0x400029a8;
mbedtls_rsa_import_raw = 0x400029ac;
mbedtls_rsa_complete = 0x400029b0;
mbedtls_rsa_set_padding = 0x400029b4;
mbedtls_rsa_get_len = 0x400029b8;
mbedtls_rsa_check_pubkey = 0x400029bc;
mbedtls_rsa_check_privkey = 0x400029c0;
mbedtls_rsa_check_pub_priv = 0x400029c4;
mbedtls_rsa_public = 0x400029c8;
mbedtls_rsa_private = 0x400029cc;
mbedtls_rsa_pkcs1_encrypt = 0x400029d0;
mbedtls_rsa_rsaes_pkcs1_v15_encrypt = 0x400029d4;
mbedtls_rsa_rsaes_oaep_encrypt = 0x400029d8;
mbedtls_rsa_pkcs1_decrypt = 0x400029dc;
mbedtls_rsa_rsaes_pkcs1_v15_decrypt = 0x400029e0;
mbedtls_rsa_rsaes_oaep_decrypt = 0x400029e4;
mbedtls_rsa_pkcs1_sign = 0x400029e8;
mbedtls_rsa_rsassa_pkcs1_v15_sign = 0x400029ec;
mbedtls_rsa_rsassa_pss_sign = 0x400029f0;
mbedtls_rsa_pkcs1_verify = 0x400029f4;
mbedtls_rsa_rsassa_pkcs1_v15_verify = 0x400029f8;
mbedtls_rsa_rsassa_pss_verify = 0x400029fc;
mbedtls_rsa_rsassa_pss_verify_ext = 0x40002a00;
mbedtls_rsa_free = 0x40002a04;
mbedtls_rsa_deduce_primes = 0x40002a08;
mbedtls_rsa_deduce_private_exponent = 0x40002a0c;
mbedtls_rsa_deduce_crt = 0x40002a10;
mbedtls_rsa_validate_params = 0x40002a14;
mbedtls_rsa_validate_crt = 0x40002a18;
mbedtls_sha1_init = 0x40002a1c;
mbedtls_sha1_free = 0x40002a20;
mbedtls_sha1_clone = 0x40002a24;
mbedtls_sha1_starts_ret = 0x40002a28;
mbedtls_sha1_finish_ret = 0x40002a2c;
mbedtls_sha256_init = 0x40002a30;
mbedtls_sha256_free = 0x40002a34;
mbedtls_sha256_clone = 0x40002a38;
mbedtls_sha256_starts_ret = 0x40002a3c;
mbedtls_sha256_finish_ret = 0x40002a40;
mbedtls_sha256_ret = 0x40002a44;
mbedtls_sha512_init = 0x40002a48;
mbedtls_sha512_free = 0x40002a4c;
mbedtls_sha512_clone = 0x40002a50;
mbedtls_sha512_starts_ret = 0x40002a54;
mbedtls_sha512_update_ret = 0x40002a58;
mbedtls_sha512_finish_ret = 0x40002a5c;
mbedtls_internal_sha512_process = 0x40002a60;
mbedtls_sha512_ret = 0x40002a64;
mbedtls_ssl_conf_endpoint = 0x40002a68;
mbedtls_ssl_conf_transport = 0x40002a6c;
mbedtls_ssl_set_bio = 0x40002a70;
mbedtls_ssl_conf_dh_param_bin = 0x40002a74;
mbedtls_ssl_get_max_frag_len = 0x40002a78;
mbedtls_ssl_get_max_out_record_payload = 0x40002a7c;
mbedtls_ssl_handshake = 0x40002a80;
mbedtls_ssl_handshake_step = 0x40002a84;
mbedtls_ssl_renegotiate = 0x40002a88;
mbedtls_ssl_send_alert_message = 0x40002a8c;
mbedtls_ssl_config_defaults = 0x40002a90;
mbedtls_ssl_session_init = 0x40002a94;
mbedtls_ssl_session_free = 0x40002a98;
mbedtls_ssl_transform_free = 0x40002a9c;
mbedtls_ssl_handshake_free = 0x40002aa0;
mbedtls_ssl_handshake_client_step = 0x40002aa4;
mbedtls_ssl_handshake_wrapup = 0x40002aa8;
mbedtls_ssl_derive_keys = 0x40002aac;
mbedtls_ssl_handle_message_type = 0x40002ab0;
mbedtls_ssl_prepare_handshake_record = 0x40002ab4;
mbedtls_ssl_update_handshake_status = 0x40002ab8;
mbedtls_ssl_read_record = 0x40002abc;
mbedtls_ssl_fetch_input = 0x40002ac0;
mbedtls_ssl_write_handshake_msg = 0x40002ac4;
mbedtls_ssl_write_record = 0x40002ac8;
mbedtls_ssl_flush_output = 0x40002acc;
mbedtls_ssl_parse_certificate = 0x40002ad0;
mbedtls_ssl_write_certificate = 0x40002ad4;
mbedtls_ssl_parse_change_cipher_spec = 0x40002ad8;
mbedtls_ssl_write_change_cipher_spec = 0x40002adc;
mbedtls_ssl_parse_finished = 0x40002ae0;
mbedtls_ssl_write_finished = 0x40002ae4;
mbedtls_ssl_optimize_checksum = 0x40002ae8;
mbedtls_ssl_psk_derive_premaster = 0x40002aec;
mbedtls_ssl_sig_from_pk = 0x40002af0;
mbedtls_ssl_pk_alg_from_sig = 0x40002af4;
mbedtls_ssl_md_alg_from_hash = 0x40002af8;
mbedtls_ssl_hash_from_md_alg = 0x40002afc;
mbedtls_ssl_check_curve = 0x40002b00;
mbedtls_ssl_check_sig_hash = 0x40002b04;
mbedtls_ssl_write_version = 0x40002b08;
mbedtls_ssl_read_version = 0x40002b0c;
mbedtls_ssl_get_key_exchange_md_ssl_tls = 0x40002b10;
mbedtls_ssl_get_key_exchange_md_tls1_2 = 0x40002b14;
mbedtls_ssl_cf_hmac = 0x40002b18;
mbedtls_ssl_cf_memcpy_offset = 0x40002b1c;
mbedtls_x509_crt_parse_der = 0x40002b20;
mbedtls_x509_crt_verify_restartable = 0x40002b24;
mbedtls_x509_crt_check_key_usage = 0x40002b28;
mbedtls_x509_crt_check_extended_key_usage = 0x40002b2c;
mbedtls_x509_crt_is_revoked = 0x40002b30;
mbedtls_x509_crt_init = 0x40002b34;
mbedtls_x509_crt_free = 0x40002b38;
mbedtls_x509_crt_restart_init = 0x40002b3c;
mbedtls_x509_crt_restart_free = 0x40002b40;
mbedtls_x509_get_name = 0x40002b44;
mbedtls_x509_get_alg_null = 0x40002b48;
mbedtls_x509_get_alg = 0x40002b4c;
mbedtls_x509_get_rsassa_pss_params = 0x40002b50;
mbedtls_x509_get_sig = 0x40002b54;
mbedtls_x509_get_sig_alg = 0x40002b58;
mbedtls_x509_get_time = 0x40002b5c;
mbedtls_x509_get_serial = 0x40002b60;
mbedtls_x509_get_ext = 0x40002b64;
mbedtls_aes_xts_init = 0x40002b68;
mbedtls_aes_xts_free = 0x40002b6c;
mbedtls_aes_xts_setkey_enc = 0x40002b70;
mbedtls_aes_xts_setkey_dec = 0x40002b74;
mbedtls_aes_crypt_xts = 0x40002b78;
mbedtls_aes_crypt_cfb128 = 0x40002b7c;
mbedtls_aes_crypt_ofb = 0x40002b80;
mbedtls_aes_crypt_ctr = 0x40002b84;
mbedtls_arc4_init = 0x40002b88;
mbedtls_arc4_free = 0x40002b8c;
mbedtls_arc4_setup = 0x40002b90;
mbedtls_arc4_crypt = 0x40002b94;
mbedtls_ccm_init = 0x40002b98;
mbedtls_ccm_setkey = 0x40002b9c;
mbedtls_ccm_free = 0x40002ba0;
mbedtls_ccm_encrypt_and_tag = 0x40002ba4;
mbedtls_ccm_auth_decrypt = 0x40002ba8;
mbedtls_dhm_make_params = 0x40002bac;
mbedtls_dhm_set_group = 0x40002bb0;
mbedtls_dhm_read_public = 0x40002bb4;
mbedtls_ecdh_make_params = 0x40002bb8;
mbedtls_ecdh_read_public = 0x40002bbc;
mbedtls_entropy_init = 0x40002bc0;
mbedtls_entropy_free = 0x40002bc4;
mbedtls_gcm_init = 0x40002bc8;
mbedtls_gcm_setkey = 0x40002bcc;
mbedtls_gcm_auth_decrypt = 0x40002bd0;
mbedtls_gcm_free = 0x40002bd4;
mbedtls_md5_init = 0x40002bd8;
mbedtls_md5_free = 0x40002bdc;
mbedtls_md5_clone = 0x40002be0;
mbedtls_md5_starts_ret = 0x40002be4;
mbedtls_md5_update_ret = 0x40002be8;
mbedtls_md5_finish_ret = 0x40002bec;
mbedtls_internal_md5_process = 0x40002bf0;
mbedtls_md5_ret = 0x40002bf4;
mbedtls_pk_get_bitlen = 0x40002bf8;
mbedtls_pk_sign = 0x40002bfc;
mbedtls_pk_decrypt = 0x40002c00;
mbedtls_pk_parse_key = 0x40002c04;
mbedtls_sha1_ret = 0x40002c08;
mbedtls_ssl_init = 0x40002c0c;
mbedtls_ssl_setup = 0x40002c10;
mbedtls_ssl_conf_authmode = 0x40002c14;
mbedtls_ssl_conf_rng = 0x40002c18;
mbedtls_ssl_conf_ca_chain = 0x40002c1c;
mbedtls_ssl_conf_own_cert = 0x40002c20;
mbedtls_ssl_read = 0x40002c24;
mbedtls_ssl_write = 0x40002c28;
mbedtls_ssl_config_init = 0x40002c2c;
mbedtls_ssl_sig_hash_set_find = 0x40002c30;
mbedtls_ssl_sig_hash_set_add = 0x40002c34;
mbedtls_ssl_sig_hash_set_const_hash = 0x40002c38;
mbedtls_ssl_sig_from_pk_alg = 0x40002c3c;
mbedtls_ssl_set_calc_verify_md = 0x40002c40;
mbedtls_x509_crt_parse = 0x40002c44;
/* Data (.data, .bss, .rodata) */
p_osi_mbedtls_rom_funcs = 0x3fcdfafc;
mbedtls_x509_crt_profile_default = 0x3ff4fbc8;
mbedtls_x509_crt_profile_suiteb = 0x3ff4fbb8;
aes_FSb_ptr = 0x3fcdfaf8;
AES_RT0_ptr = 0x3fcdfaf4;
AES_RT1_ptr = 0x3fcdfaf0;
AES_RT2_ptr = 0x3fcdfaec;
AES_RT3_ptr = 0x3fcdfae8;
AES_FT0_ptr = 0x3fcdfae4;
AES_FT1_ptr = 0x3fcdfae0;
AES_FT2_ptr = 0x3fcdfadc;
AES_FT3_ptr = 0x3fcdfad8;
bignum_small_prime_ptr = 0x3fcdfad4;
sha512_K_ptr = 0x3fcdfad0;
p_osi_mbedtls_rom_funcs = 0x3fcdfaa0;
mbedtls_x509_crt_profile_default = 0x3ff4fba4;
mbedtls_x509_crt_profile_suiteb = 0x3ff4fb94;
aes_FSb_ptr = 0x3fcdfa9c;
AES_RT0_ptr = 0x3fcdfa98;
AES_RT1_ptr = 0x3fcdfa94;
AES_RT2_ptr = 0x3fcdfa90;
AES_RT3_ptr = 0x3fcdfa8c;
AES_FT0_ptr = 0x3fcdfa88;
AES_FT1_ptr = 0x3fcdfa84;
AES_FT2_ptr = 0x3fcdfa80;
AES_FT3_ptr = 0x3fcdfa7c;
bignum_small_prime_ptr = 0x3fcdfa78;
sha512_K_ptr = 0x3fcdfa74;

View File

@@ -7,9 +7,9 @@
/* ROM function interface esp32c2.rom.newlib-nano.ld for esp32c2
*
*
* Generated from ./interface-esp32c2.yml md5sum 6c4d0f3a9f2d0c93477024a1a8f13746
* Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 1.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -19,30 +19,30 @@
***************************************/
/* Functions */
__sprint_r = 0x40000670;
_fiprintf_r = 0x40000674;
_fprintf_r = 0x40000678;
_printf_common = 0x4000067c;
_printf_i = 0x40000680;
_vfiprintf_r = 0x40000684;
_vfprintf_r = 0x40000688;
fiprintf = 0x4000068c;
fprintf = 0x40000690;
printf = 0x40000694;
vfiprintf = 0x40000698;
vfprintf = 0x4000069c;
asprintf = 0x400006a0;
sprintf = 0x400006a4;
snprintf = 0x400006a8;
siprintf = 0x400006ac;
sniprintf = 0x400006b0;
vprintf = 0x400006b4;
viprintf = 0x400006b8;
vsnprintf = 0x400006bc;
vsniprintf = 0x400006c0;
__rom_printf_float = 0x400006c4;
__rom_scanf_float = 0x400006c8;
_scanf_i = 0x400006cc;
_scanf_chars = 0x400006d0;
sscanf = 0x400006d4;
siscanf = 0x400006d8;
__sprint_r = 0x40000674;
_fiprintf_r = 0x40000678;
_fprintf_r = 0x4000067c;
_printf_common = 0x40000680;
_printf_i = 0x40000684;
_vfiprintf_r = 0x40000688;
_vfprintf_r = 0x4000068c;
fiprintf = 0x40000690;
fprintf = 0x40000694;
printf = 0x40000698;
vfiprintf = 0x4000069c;
vfprintf = 0x400006a0;
asprintf = 0x400006a4;
sprintf = 0x400006a8;
snprintf = 0x400006ac;
siprintf = 0x400006b0;
sniprintf = 0x400006b4;
vprintf = 0x400006b8;
viprintf = 0x400006bc;
vsnprintf = 0x400006c0;
vsniprintf = 0x400006c4;
_printf_float = 0x400006c8;
_scanf_float = 0x400006cc;
_scanf_i = 0x400006d0;
_scanf_chars = 0x400006d4;
sscanf = 0x400006d8;
siscanf = 0x400006dc;

View File

@@ -6,9 +6,9 @@
/* ROM function interface esp32c2.rom.newlib.ld for esp32c2
*
*
* Generated from ./interface-esp32c2.yml md5sum 6c4d0f3a9f2d0c93477024a1a8f13746
* Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3
*
* Compatible with ROM where ECO version equal or greater to 0.
* Compatible with ROM where ECO version equal or greater to 1.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
@@ -18,126 +18,130 @@
***************************************/
/* Functions */
esp_rom_newlib_init_common_mutexes = 0x40000480;
memset = 0x40000484;
memcpy = 0x40000488;
memmove = 0x4000048c;
memcmp = 0x40000490;
strcpy = 0x40000494;
strncpy = 0x40000498;
strcmp = 0x4000049c;
strncmp = 0x400004a0;
strlen = 0x400004a4;
strstr = 0x400004a8;
bzero = 0x400004ac;
sbrk = 0x400004b4;
isalnum = 0x400004b8;
isalpha = 0x400004bc;
isascii = 0x400004c0;
isblank = 0x400004c4;
iscntrl = 0x400004c8;
isdigit = 0x400004cc;
islower = 0x400004d0;
isgraph = 0x400004d4;
isprint = 0x400004d8;
ispunct = 0x400004dc;
isspace = 0x400004e0;
isupper = 0x400004e4;
toupper = 0x400004e8;
tolower = 0x400004ec;
toascii = 0x400004f0;
memccpy = 0x400004f4;
memchr = 0x400004f8;
memrchr = 0x400004fc;
strcasecmp = 0x40000500;
strcasestr = 0x40000504;
strcat = 0x40000508;
strdup = 0x4000050c;
strchr = 0x40000510;
strcspn = 0x40000514;
strcoll = 0x40000518;
strlcat = 0x4000051c;
strlcpy = 0x40000520;
strlwr = 0x40000524;
strncasecmp = 0x40000528;
strncat = 0x4000052c;
strndup = 0x40000530;
strnlen = 0x40000534;
strrchr = 0x40000538;
strsep = 0x4000053c;
strspn = 0x40000540;
strtok_r = 0x40000544;
strupr = 0x40000548;
longjmp = 0x4000054c;
setjmp = 0x40000550;
abs = 0x40000554;
div = 0x40000558;
labs = 0x4000055c;
ldiv = 0x40000560;
qsort = 0x40000564;
rand_r = 0x40000568;
rand = 0x4000056c;
srand = 0x40000570;
utoa = 0x40000574;
itoa = 0x40000578;
atoi = 0x4000057c;
atol = 0x40000580;
strtol = 0x40000584;
strtoul = 0x40000588;
fflush = 0x4000058c;
_fflush_r = 0x40000590;
_fwalk = 0x40000594;
_fwalk_reent = 0x40000598;
__swbuf_r = 0x400005a4;
__swbuf = 0x400005a8;
_strtod_l = 0x400005b0;
_strtod_r = 0x400005b4;
strtod_l = 0x400005b8;
strtod = 0x400005bc;
strtof_l = 0x400005c0;
strtof = 0x400005c4;
_strtol_r = 0x400005c8;
strtol_l = 0x400005cc;
_strtoul_r = 0x400005d0;
strtoul_l = 0x400005d4;
__match = 0x400005d8;
__hexnan = 0x400005dc;
__hexdig_fun = 0x400005e0;
__gethex = 0x400005e4;
_Balloc = 0x400005e8;
_Bfree = 0x400005ec;
__multadd = 0x400005f0;
__s2b = 0x400005f4;
__hi0bits = 0x400005f8;
__lo0bits = 0x400005fc;
__i2b = 0x40000600;
__multiply = 0x40000604;
__pow5mult = 0x40000608;
__lshift = 0x4000060c;
__mcmp = 0x40000610;
__mdiff = 0x40000614;
__ulp = 0x40000618;
__b2d = 0x4000061c;
__d2b = 0x40000620;
__ratio = 0x40000624;
_mprec_log10 = 0x40000628;
__copybits = 0x4000062c;
__any_on = 0x40000630;
asctime = 0x40000634;
asctime_r = 0x40000638;
atof = 0x4000063c;
atoff = 0x40000640;
_dtoa_r = 0x40000644;
_wctomb_r = 0x40000648;
__ascii_wctomb = 0x4000064c;
_mbtowc_r = 0x40000650;
__ascii_mbtowc = 0x40000654;
puts = 0x40000658;
putc = 0x4000065c;
putchar = 0x40000660;
nan = 0x40000664;
nanf = 0x40000668;
__errno = 0x4000066c;
esp_rom_newlib_init_common_mutexes = 0x40000484;
memset = 0x40000488;
memcpy = 0x4000048c;
memmove = 0x40000490;
memcmp = 0x40000494;
strcpy = 0x40000498;
strncpy = 0x4000049c;
strcmp = 0x400004a0;
strncmp = 0x400004a4;
strlen = 0x400004a8;
strstr = 0x400004ac;
bzero = 0x400004b0;
_isatty_r = 0x400004b4;
sbrk = 0x400004b8;
isalnum = 0x400004bc;
isalpha = 0x400004c0;
isascii = 0x400004c4;
isblank = 0x400004c8;
iscntrl = 0x400004cc;
isdigit = 0x400004d0;
islower = 0x400004d4;
isgraph = 0x400004d8;
isprint = 0x400004dc;
ispunct = 0x400004e0;
isspace = 0x400004e4;
isupper = 0x400004e8;
toupper = 0x400004ec;
tolower = 0x400004f0;
toascii = 0x400004f4;
memccpy = 0x400004f8;
memchr = 0x400004fc;
memrchr = 0x40000500;
strcasecmp = 0x40000504;
strcasestr = 0x40000508;
strcat = 0x4000050c;
strdup = 0x40000510;
strchr = 0x40000514;
strcspn = 0x40000518;
strcoll = 0x4000051c;
strlcat = 0x40000520;
strlcpy = 0x40000524;
strlwr = 0x40000528;
strncasecmp = 0x4000052c;
strncat = 0x40000530;
strndup = 0x40000534;
strnlen = 0x40000538;
strrchr = 0x4000053c;
strsep = 0x40000540;
strspn = 0x40000544;
strtok_r = 0x40000548;
strupr = 0x4000054c;
longjmp = 0x40000550;
setjmp = 0x40000554;
abs = 0x40000558;
div = 0x4000055c;
labs = 0x40000560;
ldiv = 0x40000564;
qsort = 0x40000568;
rand_r = 0x4000056c;
rand = 0x40000570;
srand = 0x40000574;
utoa = 0x40000578;
itoa = 0x4000057c;
atoi = 0x40000580;
atol = 0x40000584;
strtol = 0x40000588;
strtoul = 0x4000058c;
fflush = 0x40000590;
_fflush_r = 0x40000594;
_fwalk = 0x40000598;
_fwalk_reent = 0x4000059c;
__smakebuf_r = 0x400005a0;
__swhatbuf_r = 0x400005a4;
__swbuf_r = 0x400005a8;
__swbuf = 0x400005ac;
__swsetup_r = 0x400005b0;
_strtod_l = 0x400005b4;
_strtod_r = 0x400005b8;
strtod_l = 0x400005bc;
strtod = 0x400005c0;
strtof_l = 0x400005c4;
strtof = 0x400005c8;
_strtol_r = 0x400005cc;
strtol_l = 0x400005d0;
_strtoul_r = 0x400005d4;
strtoul_l = 0x400005d8;
__match = 0x400005dc;
__hexnan = 0x400005e0;
__hexdig_fun = 0x400005e4;
__gethex = 0x400005e8;
_Balloc = 0x400005ec;
_Bfree = 0x400005f0;
__multadd = 0x400005f4;
__s2b = 0x400005f8;
__hi0bits = 0x400005fc;
__lo0bits = 0x40000600;
__i2b = 0x40000604;
__multiply = 0x40000608;
__pow5mult = 0x4000060c;
__lshift = 0x40000610;
__mcmp = 0x40000614;
__mdiff = 0x40000618;
__ulp = 0x4000061c;
__b2d = 0x40000620;
__d2b = 0x40000624;
__ratio = 0x40000628;
_mprec_log10 = 0x4000062c;
__copybits = 0x40000630;
__any_on = 0x40000634;
asctime = 0x40000638;
asctime_r = 0x4000063c;
atof = 0x40000640;
atoff = 0x40000644;
_dtoa_r = 0x40000648;
_wctomb_r = 0x4000064c;
__ascii_wctomb = 0x40000650;
_mbtowc_r = 0x40000654;
__ascii_mbtowc = 0x40000658;
puts = 0x4000065c;
putc = 0x40000660;
putchar = 0x40000664;
nan = 0x40000668;
nanf = 0x4000066c;
__errno = 0x40000670;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x3fcdffd8;
_global_impure_ptr = 0x3fcdffd4;

View File

@@ -0,0 +1,118 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32c2.rom.rvfp.ld esp32c2
*
*
* Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3
*
* Compatible with ROM where ECO version equal or greater to 1.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group rvfplib
***************************************/
/* Functions */
__adddf3 = 0x40000a18;
__addsf3 = 0x40000a1c;
__divsf3 = 0x40000a20;
__eqdf2 = 0x40000a24;
__eqsf2 = 0x40000a28;
__extendsfdf2 = 0x40000a2c;
__fixdfdi = 0x40000a30;
__fixdfsi = 0x40000a34;
__fixsfdi = 0x40000a38;
__fixsfsi = 0x40000a3c;
__fixunsdfsi = 0x40000a40;
__fixunssfdi = 0x40000a44;
__fixunssfsi = 0x40000a48;
__floatdidf = 0x40000a4c;
__floatdisf = 0x40000a50;
__floatsidf = 0x40000a54;
__floatsisf = 0x40000a58;
__floatundidf = 0x40000a5c;
__floatundisf = 0x40000a60;
__floatunsidf = 0x40000a64;
__floatunsisf = 0x40000a68;
__gedf2 = 0x40000a6c;
__gesf2 = 0x40000a70;
__gtdf2 = 0x40000a74;
__gtsf2 = 0x40000a78;
__ledf2 = 0x40000a7c;
__lesf2 = 0x40000a80;
__ltdf2 = 0x40000a84;
__ltsf2 = 0x40000a88;
__muldf3 = 0x40000a8c;
__mulsf3 = 0x40000a90;
__nedf2 = 0x40000a94;
__nesf2 = 0x40000a98;
__subdf3 = 0x40000a9c;
__subsf3 = 0x40000aa0;
__truncdfsf2 = 0x40000aa4;
/***************************************
Group libgcc
***************************************/
/* Functions */
__absvdi2 = 0x400008a8;
__absvsi2 = 0x400008ac;
__addvdi3 = 0x400008b8;
__addvsi3 = 0x400008bc;
__ashldi3 = 0x400008c0;
__ashrdi3 = 0x400008c4;
__bswapdi2 = 0x400008c8;
__bswapsi2 = 0x400008cc;
__clear_cache = 0x400008d0;
__clrsbdi2 = 0x400008d4;
__clrsbsi2 = 0x400008d8;
__clzdi2 = 0x400008dc;
__clzsi2 = 0x400008e0;
__cmpdi2 = 0x400008e4;
__ctzdi2 = 0x400008e8;
__ctzsi2 = 0x400008ec;
__divdc3 = 0x400008f0;
__divdf3 = 0x400008f4;
__divdi3 = 0x400008f8;
__divsc3 = 0x400008fc;
__divsi3 = 0x40000904;
__ffsdi2 = 0x40000914;
__ffssi2 = 0x40000918;
__gcc_bcmp = 0x40000958;
__lshrdi3 = 0x40000974;
__moddi3 = 0x40000980;
__modsi3 = 0x40000984;
__muldc3 = 0x40000988;
__muldi3 = 0x40000990;
__mulsc3 = 0x40000994;
__mulsi3 = 0x4000099c;
__mulvdi3 = 0x400009a0;
__mulvsi3 = 0x400009a4;
__negdf2 = 0x400009ac;
__negdi2 = 0x400009b0;
__negsf2 = 0x400009b4;
__negvdi2 = 0x400009b8;
__negvsi2 = 0x400009bc;
__paritysi2 = 0x400009c4;
__popcountdi2 = 0x400009c8;
__popcountsi2 = 0x400009cc;
__powidf2 = 0x400009d0;
__powisf2 = 0x400009d4;
__subvdi3 = 0x400009e0;
__subvsi3 = 0x400009e4;
__ucmpdi2 = 0x400009ec;
__udivdi3 = 0x400009f0;
__udivmoddi4 = 0x400009f4;
__udivsi3 = 0x400009f8;
__udiv_w_sdiv = 0x400009fc;
__umoddi3 = 0x40000a00;
__umodsi3 = 0x40000a04;
__unorddf2 = 0x40000a08;
__unordsf2 = 0x40000a0c;
__extenddftf2 = 0x40000a10;
__trunctfdf2 = 0x40000a14;

View File

@@ -2,7 +2,6 @@ set(srcs "clk.c"
"reset_reason.c"
"system_internal.c"
"cache_err_int.c"
"apb_backup_dma.c"
"../../arch/riscv/expression_with_stack.c"
"../../arch/riscv/expression_with_stack_asm.S"
"../../arch/riscv/panic_arch.c")

View File

@@ -1,37 +0,0 @@
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "soc/soc_caps.h"
#include "esp_attr.h"
#include "freertos/FreeRTOS.h"
#include "freertos/portmacro.h"
#include "esp32c2/rom/apb_backup_dma.h"
static portMUX_TYPE s_apb_backup_dma_mutex = portMUX_INITIALIZER_UNLOCKED;
static void IRAM_ATTR apb_backup_dma_lock(void)
{
if (xPortInIsrContext()) {
portENTER_CRITICAL_ISR(&s_apb_backup_dma_mutex);
} else {
portENTER_CRITICAL(&s_apb_backup_dma_mutex);
}
}
static void IRAM_ATTR apb_backup_dma_unlock(void)
{
if (xPortInIsrContext()) {
portEXIT_CRITICAL_ISR(&s_apb_backup_dma_mutex);
} else {
portEXIT_CRITICAL(&s_apb_backup_dma_mutex);
}
}
void esp_apb_backup_dma_lock_init(void)
{
ets_apb_backup_init_lock_func(apb_backup_dma_lock, apb_backup_dma_unlock);
}

View File

@@ -49,7 +49,7 @@ static RTC_SLOW_ATTR uint32_t s_rtc_force_slow_val;
#define BROWNOUT "BROWN_OUT_RST"
#define STORE_ERROR "StoreProhibited"
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32H2
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32C2
#define DEEPSLEEP "DSLEEP"
#define LOAD_STORE_ERROR "Store access fault"
#define RESET "RTC_SW_CPU_RST"

View File

@@ -1,7 +1,6 @@
idf_build_get_property(target IDF_TARGET)
set(srcs "wdt_hal_iram.c"
"mpu_hal.c"
set(srcs "mpu_hal.c"
"cpu_hal.c"
"efuse_hal.c"
"${target}/efuse_hal.c"
@@ -9,6 +8,10 @@ set(srcs "wdt_hal_iram.c"
set(includes "${target}/include" "include" "platform_port/include")
if(NOT CONFIG_HAL_WDT_ROM_IMPL)
list(APPEND srcs "wdt_hal_iram.c")
endif()
if(NOT ${target} STREQUAL "esp32")
list(APPEND srcs "cache_hal.c")
endif()
@@ -45,6 +48,12 @@ if(NOT BOOTLOADER_BUILD)
"sha_hal.c"
"adc_hal.c")
if(CONFIG_SOC_SYSTIMER_SUPPORTED)
if(NOT CONFIG_HAL_SYSTIMER_ROM_IMPL)
list(APPEND srcs "systimer_hal.c")
endif()
endif()
if(${target} STREQUAL "esp32")
list(APPEND srcs
"dac_hal.c"
@@ -76,7 +85,6 @@ if(NOT BOOTLOADER_BUILD)
"pcnt_hal.c"
"spi_flash_hal_gpspi.c"
"spi_slave_hd_hal.c"
"systimer_hal.c"
"touch_sensor_hal.c"
"usb_hal.c"
"usb_phy_hal.c"
@@ -104,7 +112,6 @@ if(NOT BOOTLOADER_BUILD)
"pcnt_hal.c"
"spi_flash_hal_gpspi.c"
"spi_slave_hd_hal.c"
"systimer_hal.c"
"touch_sensor_hal.c"
"usb_hal.c"
"usb_phy_hal.c"
@@ -129,7 +136,6 @@ if(NOT BOOTLOADER_BUILD)
"sigmadelta_hal.c"
"spi_flash_hal_gpspi.c"
"spi_slave_hd_hal.c"
"systimer_hal.c"
"xt_wdt_hal.c"
"i2s_hal.c"
"twai_hal.c"
@@ -149,7 +155,6 @@ if(NOT BOOTLOADER_BUILD)
"sigmadelta_hal.c"
"spi_flash_hal_gpspi.c"
"spi_slave_hd_hal.c"
"systimer_hal.c"
"i2s_hal.c"
"twai_hal.c"
"twai_hal_iram.c"
@@ -165,7 +170,6 @@ if(NOT BOOTLOADER_BUILD)
"gdma_hal.c"
"spi_flash_hal_gpspi.c"
"spi_slave_hd_hal.c"
"systimer_hal.c"
"esp32c2/brownout_hal.c"
"esp32c2/rtc_cntl_hal.c")
endif()

View File

@@ -65,4 +65,39 @@ menu "Hardware Abstraction Layer (HAL) and Low Level (LL)"
default 4 if HAL_LOG_LEVEL_DEBUG
default 5 if HAL_LOG_LEVEL_VERBOSE
config HAL_SYSTIMER_HAS_ROM_IMPL
bool
depends on IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32S3
default y if IDF_TARGET_ESP32C2 # TODO: IDF-4917
config HAL_SYSTIMER_ROM_IMPL
bool "Use systimer HAL implementation in ROM"
depends on HAL_SYSTIMER_HAS_ROM_IMPL
default y
help
Enable this flag to use HAL functions from ROM instead of ESP-IDF.
If keeping this as "n" in your project, you will have less free IRAM.
If making this as "y" in your project, you will increase free IRAM,
but you will lose the possibility to debug this module, and some new
features will be added and bugs will be fixed in the IDF source
but cannot be synced to ROM.
config HAL_WDT_HAS_ROM_IMPL
bool
depends on IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32S3
default y if IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32S3
config HAL_WDT_ROM_IMPL
bool "Use WDT HAL implementation in ROM"
depends on HAL_WDT_HAS_ROM_IMPL
default y
help
Enable this flag to use HAL functions from ROM instead of ESP-IDF.
If keeping this as "n" in your project, you will have less free IRAM.
If making this as "y" in your project, you will increase free IRAM,
but you will lose the possibility to debug this module, and some new
features will be added and bugs will be fixed in the IDF source
but cannot be synced to ROM.
endmenu

View File

@@ -16,12 +16,14 @@ entries:
i2c_hal_iram (noflash)
cpu_hal (noflash)
soc_hal (noflash)
wdt_hal_iram (noflash)
if HAL_WDT_HAS_ROM_IMPL = n || HAL_WDT_ROM_IMPL = n:
wdt_hal_iram (noflash)
if TWAI_ISR_IN_IRAM = y:
twai_hal_iram (noflash)
if IDF_TARGET_ESP32 = n:
spi_flash_hal_gpspi (noflash)
systimer_hal (noflash)
if HAL_SYSTIMER_HAS_ROM_IMPL = n || HAL_SYSTIMER_ROM_IMPL = n:
systimer_hal (noflash)
if GPTIMER_CTRL_FUNC_IN_IRAM = y:
timer_hal_iram (noflash)
if GPIO_CTRL_FUNC_IN_IRAM = y:

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/

View File

@@ -1,8 +1,11 @@
set(srcs
"heap_caps.c"
"heap_caps_init.c"
"multi_heap.c"
"heap_tlsf.c")
"multi_heap.c")
if(NOT CONFIG_HEAP_ROM_IMPL)
list(APPEND srcs "heap_tlsf.c")
endif()
if(NOT CONFIG_HEAP_POISONING_DISABLED)
list(APPEND srcs "multi_heap_poisoning.c")

View File

@@ -71,4 +71,22 @@ menu "Heap memory debugging"
help
When enabled, if a memory allocation operation fails it will cause a system abort.
config HEAP_HAS_ROM_IMPL
bool
depends on IDF_TARGET_ESP32C2
default y if IDF_TARGET_ESP32C2
config HEAP_ROM_IMPL
bool "Use heap implementation in ROM"
depends on HEAP_HAS_ROM_IMPL
default y
help
Enable this flag to use heap functions from ROM instead of ESP-IDF.
If keeping this as "n" in your project, you will have less free IRAM.
If making this as "y" in your project, you will increase free IRAM,
but you will lose the possibility to debug this module, and some new
features will be added and bugs will be fixed in the IDF source
but cannot be synced to ROM.
endmenu

View File

@@ -49,6 +49,10 @@ void heap_caps_enable_nonos_stack_heaps(void)
*/
void heap_caps_init(void)
{
#ifdef CONFIG_HEAP_ROM_IMPL
extern void multi_heap_in_rom_init(void);
multi_heap_in_rom_init();
#endif
/* Get the array of regions that we can use for heaps
(with reserved memory removed already.)
*/

View File

@@ -127,6 +127,9 @@ void tlsf_walk_pool(pool_t pool, tlsf_walker walker, void* user);
int tlsf_check(tlsf_t tlsf);
int tlsf_check_pool(pool_t pool);
/* Used for heap tlsf in ROM IMPL */
void tlsf_poison_fill_pfunc_set(void *pfunc);
#if defined(__cplusplus)
};
#endif

View File

@@ -1,7 +1,8 @@
[mapping:heap]
archive: libheap.a
entries:
heap_tlsf (noflash)
if HEAP_HAS_ROM_IMPL = n || HEAP_ROM_IMPL = n:
heap_tlsf (noflash)
multi_heap (noflash)
if HEAP_POISONING_DISABLED = n:
multi_heap_poisoning (noflash)

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -12,7 +12,7 @@
#include <stdio.h>
#include <sys/cdefs.h>
#include "heap_tlsf.h"
#include <multi_heap.h>
#include "multi_heap.h"
#include "multi_heap_internal.h"
/* Note: Keep platform-specific parts in this header, this source
@@ -22,7 +22,7 @@
/* Defines compile-time configuration macros */
#include "multi_heap_config.h"
#ifndef MULTI_HEAP_POISONING
#if (!defined MULTI_HEAP_POISONING) && (!defined CONFIG_HEAP_ROM_IMPL)
/* if no heap poisoning, public API aliases directly to these implementations */
void *multi_heap_malloc(multi_heap_handle_t heap, size_t size)
__attribute__((alias("multi_heap_malloc_impl")));
@@ -77,6 +77,30 @@ typedef struct multi_heap_info {
tlsf_t heap_data;
} heap_t;
#ifdef CONFIG_HEAP_ROM_IMPL
void _multi_heap_lock(void *lock)
{
MULTI_HEAP_LOCK(lock);
}
void _multi_heap_unlock(void *lock)
{
MULTI_HEAP_UNLOCK(lock);
}
multi_heap_os_funcs_t multi_heap_os_funcs = {
.lock = _multi_heap_lock,
.unlock = _multi_heap_unlock,
};
void multi_heap_in_rom_init(void)
{
multi_heap_os_funcs_init(&multi_heap_os_funcs);
}
#else //#ifndef CONFIG_HEAP_ROM_IMPL
/* Return true if this block is free. */
static inline bool is_free(const block_header_t *block)
{
@@ -201,7 +225,6 @@ void *multi_heap_malloc_impl(multi_heap_handle_t heap, size_t size)
void multi_heap_free_impl(multi_heap_handle_t heap, void *p)
{
if (heap == NULL || p == NULL) {
return;
}
@@ -380,3 +403,4 @@ void multi_heap_get_info_impl(multi_heap_handle_t heap, multi_heap_info_t *info)
}
multi_heap_internal_unlock(heap);
}
#endif

View File

@@ -1,18 +1,26 @@
// 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.
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
/* Define a structure that contains some function pointers that point to OS-related functions.
An instance of this structure will be provided to the heap in ROM for use if needed.
*/
typedef struct {
void (*lock)(void *lock);
void (*unlock)(void *lock);
} multi_heap_os_funcs_t;
/** @brief Initialize structure pointer that points a structure that contains OS-related functions pointers.
*
* @param heap_os_funcs Points to a structure that contains some OS-related function pointers.
* @return None.
*
*/
void multi_heap_os_funcs_init(multi_heap_os_funcs_t *heap_os_funcs);
/* Opaque handle to a heap block */
typedef const struct block_header_t *multi_heap_block_handle_t;

View File

@@ -1,16 +1,8 @@
// 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.
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
@@ -29,6 +21,8 @@
/* Defines compile-time configuration macros */
#include "multi_heap_config.h"
#include "heap_tlsf.h"
#ifdef MULTI_HEAP_POISONING
/* Alias MULTI_HEAP_POISONING_SLOW to SLOW for better readabilty */
@@ -339,6 +333,9 @@ multi_heap_handle_t multi_heap_register(void *start, size_t size)
if (start != NULL) {
memset(start, FREE_FILL_PATTERN, size);
}
#endif
#ifdef CONFIG_HEAP_ROM_IMPL
tlsf_poison_fill_pfunc_set(multi_heap_internal_poison_fill_region);
#endif
return multi_heap_register_impl(start, size);
}

View File

@@ -123,10 +123,6 @@ config SOC_ADC_MAX_BITWIDTH
int
default 12
config SOC_APB_BACKUP_DMA
bool
default y
config SOC_BROWNOUT_RESET_SUPPORTED
bool
default y
@@ -387,6 +383,10 @@ config SOC_MEMSPI_SRC_FREQ_15M_SUPPORTED
bool
default y
config SOC_SYSTIMER_SUPPORTED
bool
default y
config SOC_SYSTIMER_COUNTER_NUM
int
default 2
@@ -448,8 +448,8 @@ config SOC_SECURE_BOOT_V2_ECC
default y
config SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS
bool
default y
int
default 1
config SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX
int

View File

@@ -66,9 +66,6 @@
/*!< RTC */
#define SOC_ADC_MAX_BITWIDTH (12)
/*-------------------------- APB BACKUP DMA CAPS -------------------------------*/
#define SOC_APB_BACKUP_DMA (1)
/*-------------------------- BROWNOUT CAPS -----------------------------------*/
#define SOC_BROWNOUT_RESET_SUPPORTED 1
@@ -210,6 +207,7 @@
#define SOC_MEMSPI_SRC_FREQ_15M_SUPPORTED 1
/*-------------------------- SYSTIMER CAPS ----------------------------------*/
#define SOC_SYSTIMER_SUPPORTED 1
#define SOC_SYSTIMER_COUNTER_NUM (2) // Number of counter units
#define SOC_SYSTIMER_ALARM_NUM (3) // Number of alarm units
#define SOC_SYSTIMER_BIT_WIDTH_LO (32) // Bit width of systimer low part
@@ -231,7 +229,7 @@
/*-------------------------- Secure Boot CAPS----------------------------*/
#define SOC_SECURE_BOOT_V2_ECC 1
#define SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS 1
#define SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS (1U)
/*-------------------------- Flash Encryption CAPS----------------------------*/
#define SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX (32)

View File

@@ -559,6 +559,10 @@ config SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED
bool
default y
config SOC_SYSTIMER_SUPPORTED
bool
default y
config SOC_SYSTIMER_COUNTER_NUM
int
default 2

View File

@@ -276,6 +276,7 @@
#define SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED 1
/*-------------------------- SYSTIMER CAPS ----------------------------------*/
#define SOC_SYSTIMER_SUPPORTED 1
#define SOC_SYSTIMER_COUNTER_NUM (2) // Number of counter units
#define SOC_SYSTIMER_ALARM_NUM (3) // Number of alarm units
#define SOC_SYSTIMER_BIT_WIDTH_LO (32) // Bit width of systimer low part

View File

@@ -551,6 +551,10 @@ config SOC_MEMSPI_SRC_FREQ_12M_SUPPORTED
bool
default y
config SOC_SYSTIMER_SUPPORTED
bool
default y
config SOC_SYSTIMER_COUNTER_NUM
int
default 2

View File

@@ -287,6 +287,7 @@
#define SOC_MEMSPI_SRC_FREQ_12M_SUPPORTED 1
/*-------------------------- SYSTIMER CAPS ----------------------------------*/
#define SOC_SYSTIMER_SUPPORTED 1
#define SOC_SYSTIMER_COUNTER_NUM (2) // Number of counter units
#define SOC_SYSTIMER_ALARM_NUM (3) // Number of alarm units
#define SOC_SYSTIMER_BIT_WIDTH_LO (32) // Bit width of systimer low part

View File

@@ -575,6 +575,10 @@ config SOC_SYSTIMER_BIT_WIDTH_HI
int
default 32
config SOC_SYSTIMER_SUPPORTED
bool
default y
config SOC_TIMER_GROUPS
int
default 2

View File

@@ -268,6 +268,7 @@
#define SOC_SYSTIMER_BIT_WIDTH_HI (32) // Bit width of systimer high part
/*-------------------------- TIMER GROUP CAPS --------------------------------*/
#define SOC_SYSTIMER_SUPPORTED 1
#define SOC_TIMER_GROUPS (2)
#define SOC_TIMER_GROUP_TIMERS_PER_GROUP (2)
#define SOC_TIMER_GROUP_COUNTER_BIT_WIDTH (64)

View File

@@ -647,7 +647,7 @@ config SOC_SPIRAM_SUPPORTED
bool
default y
config SOC_TOUCH_VERSION_2
config SOC_SYSTIMER_SUPPORTED
bool
default y
@@ -703,6 +703,10 @@ config SOC_TIMER_GROUP_TOTAL_TIMERS
int
default 4
config SOC_TOUCH_VERSION_2
bool
default y
config SOC_TOUCH_SENSOR_NUM
int
default 15

View File

@@ -270,7 +270,7 @@
#define SOC_SPIRAM_SUPPORTED 1
/*-------------------------- SYS TIMER CAPS ----------------------------------*/
#define SOC_TOUCH_VERSION_2 (1) // Hardware version of touch sensor
#define SOC_SYSTIMER_SUPPORTED 1
#define SOC_SYSTIMER_COUNTER_NUM (2) // Number of counter units
#define SOC_SYSTIMER_ALARM_NUM (3) // Number of alarm units
#define SOC_SYSTIMER_BIT_WIDTH_LO (32) // Bit width of systimer low part
@@ -288,6 +288,7 @@
#define SOC_TIMER_GROUP_TOTAL_TIMERS (4)
/*-------------------------- TOUCH SENSOR CAPS -------------------------------*/
#define SOC_TOUCH_VERSION_2 (1) // Hardware version of touch sensor
#define SOC_TOUCH_SENSOR_NUM (15) /*! 15 Touch channels */
#define SOC_TOUCH_PROXIMITY_CHANNEL_NUM (3) /* Sopport touch proximity channel number. */
#define SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED (1) /*Sopport touch proximity channel measure done interrupt type. */

View File

@@ -53,9 +53,14 @@ menu "SPI Flash driver"
to flash on ESP32-D2WD; (2) main SPI flash is connected to non-default pins; (3) main
SPI flash chip is manufactured by ISSI.
config SPI_FLASH_HAS_ROM_IMPL
bool
depends on IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2
default y if IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2
config SPI_FLASH_ROM_IMPL
bool "Use esp_flash implementation in ROM"
depends on IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3
depends on SPI_FLASH_HAS_ROM_IMPL
default n
help
Enable this flag to use new SPI flash driver functions from ROM instead of ESP-IDF.

View File

@@ -946,8 +946,6 @@ components/heap/include/esp_heap_task_info.h
components/heap/include/esp_heap_trace.h
components/heap/include/heap_memory_layout.h
components/heap/multi_heap_config.h
components/heap/multi_heap_internal.h
components/heap/multi_heap_poisoning.c
components/heap/test/test_aligned_alloc_caps.c
components/heap/test/test_allocator_timings.c
components/heap/test/test_diram.c

View File

@@ -0,0 +1,5 @@
CONFIG_IDF_TARGET="esp32c2"
CONFIG_HAL_WDT_ROM_IMPL=n
CONFIG_HAL_SYSTIMER_ROM_IMPL=n
CONFIG_HEAP_ROM_IMPL=n
CONFIG_SPI_FLASH_ROM_IMPL=y