Skip to content

Commit 6d256b6

Browse files
authored
IDF release/v3.3 68b237fe5 with Disable IRAM optimisation for WiFi
2 parents adafd9d + f6bf0f7 commit 6d256b6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+109
-11
lines changed

Diff for: tools/sdk/bin/bootloader_dio_40m.bin

1.48 KB
Binary file not shown.

Diff for: tools/sdk/bin/bootloader_qout_80m.bin

0 Bytes
Binary file not shown.

Diff for: tools/sdk/include/config/sdkconfig.h

+2-3
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
#define CONFIG_MFN56_1X 1
8888
#define CONFIG_LWIP_MAX_SOCKETS 10
8989
#define CONFIG_LWIP_NETIF_LOOPBACK 1
90+
#define CONFIG_LWIP_TCP_ISN_HOOK 1
9091
#define CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT "pthread"
9192
#define CONFIG_EMAC_TASK_PRIORITY 20
9293
#define CONFIG_TIMER_TASK_STACK_DEPTH 2048
@@ -244,7 +245,6 @@
244245
#define CONFIG_SPIFFS_GC_MAX_RUNS 10
245246
#define CONFIG_ARDUINO_RUN_CORE1 1
246247
#define CONFIG_ESP32_APPTRACE_DEST_NONE 1
247-
#define CONFIG_ESP32_WIFI_RX_IRAM_OPT 1
248248
#define CONFIG_HP_NANO1 1
249249
#define CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC 1
250250
#define CONFIG_MBEDTLS_SSL_PROTO_TLS1_2 1
@@ -392,7 +392,6 @@
392392
#define CONFIG_HD_NANO1 1
393393
#define CONFIG_BTDM_MODEM_SLEEP_MODE_ORIG 1
394394
#define CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR 1
395-
#define CONFIG_ESP32_WIFI_IRAM_OPT 1
396395
#define CONFIG_FATFS_API_ENCODING_ANSI_OEM 1
397-
#define CONFIG_ARDUINO_IDF_COMMIT "66d3783c8"
396+
#define CONFIG_ARDUINO_IDF_COMMIT "68b237fe5"
398397
#define CONFIG_ARDUINO_IDF_BRANCH "release/v3.3"

Diff for: tools/sdk/include/esp32/esp_mesh_internal.h

+10
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,16 @@ esp_err_t esp_mesh_set_announce_interval(int short_ms, int long_ms);
263263
*/
264264
esp_err_t esp_mesh_get_announce_interval(int *short_ms, int *long_ms);
265265

266+
/**
267+
* @brief Enable mesh print scan result
268+
*
269+
* @param[in] enable enable or not
270+
*
271+
* @return
272+
* - ESP_OK
273+
*/
274+
esp_err_t esp_mesh_print_scan_result(bool enable);
275+
266276
#ifdef __cplusplus
267277
}
268278
#endif

Diff for: tools/sdk/include/esp32/esp_panic.h

+26-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ extern "C"
2020
#ifndef __ASSEMBLER__
2121

2222
#include "esp_err.h"
23+
#include "soc/soc.h"
2324

2425

2526
/**
@@ -61,12 +62,36 @@ esp_err_t esp_set_watchpoint(int no, void *adr, int size, int flags);
6162
*/
6263
void esp_clear_watchpoint(int no);
6364

65+
/**
66+
* @brief Checks stack pointer in dram
67+
*/
68+
inline static bool esp_stack_ptr_in_dram(uint32_t sp)
69+
{
70+
//Check if stack ptr is in between SOC_DRAM_LOW and SOC_DRAM_HIGH, and 16 byte aligned.
71+
return !(sp < SOC_DRAM_LOW + 0x10 || sp > SOC_DRAM_HIGH - 0x10 || ((sp & 0xF) != 0));
72+
}
73+
74+
#if CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
75+
/**
76+
* @brief Checks stack pointer in external ram
77+
*/
78+
inline static bool esp_stack_ptr_in_extram(uint32_t sp)
79+
{
80+
//Check if stack ptr is in between SOC_EXTRAM_DATA_LOW and SOC_EXTRAM_DATA_HIGH, and 16 byte aligned.
81+
return !(sp < SOC_EXTRAM_DATA_LOW + 0x10 || sp > SOC_EXTRAM_DATA_HIGH - 0x10 || ((sp & 0xF) != 0));
82+
}
83+
#endif
84+
6485
/**
6586
* @brief Checks stack pointer
6687
*/
6788
static inline bool esp_stack_ptr_is_sane(uint32_t sp)
6889
{
69-
return !(sp < 0x3ffae010UL || sp > 0x3ffffff0UL || ((sp & 0xf) != 0));
90+
#if CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
91+
return (esp_stack_ptr_in_dram(sp) || esp_stack_ptr_in_extram(sp));
92+
#else
93+
return esp_stack_ptr_in_dram(sp);
94+
#endif
7095
}
7196
#endif
7297

Diff for: tools/sdk/include/lwip/lwipopts.h

+11
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,17 @@
396396
*/
397397
#define LWIP_TCP_RTO_TIME CONFIG_LWIP_TCP_RTO_TIME
398398

399+
/**
400+
* Set TCP hook for Initial Sequence Number (ISN)
401+
*/
402+
#ifdef CONFIG_LWIP_TCP_ISN_HOOK
403+
#include <lwip/arch.h>
404+
struct ip_addr;
405+
u32_t lwip_hook_tcp_isn(const struct ip_addr *local_ip, u16_t local_port,
406+
const struct ip_addr *remote_ip, u16_t remote_port);
407+
#define LWIP_HOOK_TCP_ISN lwip_hook_tcp_isn
408+
#endif
409+
399410
/*
400411
----------------------------------
401412
---------- Pbuf options ----------

Diff for: tools/sdk/include/lwip/netdb.h

+8
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,17 @@
3232

3333
#include "lwip/netdb.h"
3434

35+
#ifdef __cplusplus
36+
extern "C" {
37+
#endif
38+
3539
#ifdef ESP_PLATFORM
3640
int getnameinfo(const struct sockaddr *addr, socklen_t addrlen,
3741
char *host, socklen_t hostlen,
3842
char *serv, socklen_t servlen, int flags);
3943

4044
#endif
45+
46+
#ifdef __cplusplus
47+
}
48+
#endif

Diff for: tools/sdk/include/lwip/tcp_isn.h

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright (c) 2016 The MINIX 3 Project.
3+
* All rights reserved.
4+
*
5+
* Redistribution and use in source and binary forms, with or without modification,
6+
* are permitted provided that the following conditions are met:
7+
*
8+
* 1. Redistributions of source code must retain the above copyright notice,
9+
* this list of conditions and the following disclaimer.
10+
* 2. Redistributions in binary form must reproduce the above copyright notice,
11+
* this list of conditions and the following disclaimer in the documentation
12+
* and/or other materials provided with the distribution.
13+
* 3. The name of the author may not be used to endorse or promote products
14+
* derived from this software without specific prior written permission.
15+
*
16+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17+
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19+
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21+
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24+
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25+
* OF SUCH DAMAGE.
26+
*
27+
* Author: David van Moolenbroek <[email protected]>
28+
*/
29+
30+
#ifndef LWIP_TCP_ISN_H
31+
#define LWIP_TCP_ISN_H
32+
33+
#include "lwip/opt.h"
34+
#include "lwip/ip_addr.h"
35+
36+
#ifdef __cplusplus
37+
extern "C" {
38+
#endif
39+
40+
void lwip_init_tcp_isn(u32_t boot_time, const u8_t *secret_16_bytes);
41+
u32_t lwip_hook_tcp_isn(const ip_addr_t *local_ip, u16_t local_port,
42+
const ip_addr_t *remote_ip, u16_t remote_port);
43+
44+
#ifdef __cplusplus
45+
}
46+
#endif
47+
48+
#endif /* LWIP_TCP_ISN_H */

Diff for: tools/sdk/ld/esp32.project.ld

+1-5
Large diffs are not rendered by default.

Diff for: tools/sdk/lib/libapp_trace.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libapp_update.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libasio.a

-80 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libbootloader_support.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libbt.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libcoap.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libcoexist.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libconsole.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libcore.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libcxx.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libdriver.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libefuse.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp-tls.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp32-camera.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp32.a

1.9 KB
Binary file not shown.

Diff for: tools/sdk/lib/libesp_adc_cal.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp_event.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp_http_client.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp_http_server.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp_https_ota.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp_https_server.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp_ringbuf.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libesp_websocket_client.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libespcoredump.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libespnow.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libethernet.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libexpat.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libface_detection.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libface_recognition.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libfatfs.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libfb_gfx.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libfreemodbus.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libfreertos.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libheap.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libimage_util.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libjsmn.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libjson.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/liblibsodium.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/liblog.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/liblwip.a

-5.2 KB
Binary file not shown.

Diff for: tools/sdk/lib/libmbedtls.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libmdns.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libmesh.a

3.18 KB
Binary file not shown.

Diff for: tools/sdk/lib/libmicro-ecc.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libmqtt.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libnet80211.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libnewlib.a

686 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libnghttp.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libnvs_flash.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libopenssl.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libpp.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libprotobuf-c.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libprotocomm.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libpthread.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libsdmmc.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libsmartconfig.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libsmartconfig_ack.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libsoc.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libspi_flash.a

836 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libspiffs.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libtcp_transport.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libtcpip_adapter.a

840 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libulp.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libunity.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libvfs.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libwear_levelling.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libwifi_provisioning.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libwpa.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libwpa2.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libwpa_supplicant.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libwps.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/lib/libxtensa-debug-module.a

0 Bytes
Binary file not shown.

Diff for: tools/sdk/sdkconfig

+3-2
Original file line numberDiff line numberDiff line change
@@ -457,8 +457,8 @@ CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=
457457
CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
458458
CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
459459
CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE=
460-
CONFIG_ESP32_WIFI_IRAM_OPT=y
461-
CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
460+
CONFIG_ESP32_WIFI_IRAM_OPT=
461+
CONFIG_ESP32_WIFI_RX_IRAM_OPT=
462462

463463
#
464464
# PHY
@@ -690,6 +690,7 @@ CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
690690
#
691691
# TCP
692692
#
693+
CONFIG_LWIP_TCP_ISN_HOOK=y
693694
CONFIG_LWIP_MAX_ACTIVE_TCP=16
694695
CONFIG_LWIP_MAX_LISTENING_TCP=16
695696
CONFIG_TCP_MAXRTX=12

0 commit comments

Comments
 (0)