IDF release/v4.0 230931310

This commit is contained in:
me-no-dev
2020-02-13 00:13:59 +00:00
parent 8817e536fd
commit 60f20a7869
83 changed files with 67 additions and 31 deletions

View File

@ -35,7 +35,7 @@ compiler.S.flags=-c -g3 -x assembler-with-cpp -MMD -mlongcalls
compiler.c.elf.cmd=xtensa-esp32-elf-gcc compiler.c.elf.cmd=xtensa-esp32-elf-gcc
compiler.c.elf.flags=-nostdlib "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -T esp32_out.ld -T esp32.project.ld -T esp32.peripherals.ld -T esp32.rom.ld -T esp32.rom.libgcc.ld -T esp32.rom.syscalls.ld -T esp32.rom.newlib-data.ld -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u call_user_start_cpu0 -u __cxa_guard_dummy -u ld_include_panic_highint_hdl -u newlib_include_locks_impl -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u pthread_include_pthread_impl -u pthread_include_pthread_cond_impl -u pthread_include_pthread_local_storage_impl -fno-rtti -mfix-esp32-psram-cache-issue compiler.c.elf.flags=-nostdlib "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -T esp32_out.ld -T esp32.project.ld -T esp32.peripherals.ld -T esp32.rom.ld -T esp32.rom.libgcc.ld -T esp32.rom.syscalls.ld -T esp32.rom.newlib-data.ld -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u call_user_start_cpu0 -u __cxa_guard_dummy -u ld_include_panic_highint_hdl -u newlib_include_locks_impl -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u pthread_include_pthread_impl -u pthread_include_pthread_cond_impl -u pthread_include_pthread_local_storage_impl -fno-rtti -mfix-esp32-psram-cache-issue
compiler.c.elf.libs=-lgcc -lfreertos -lmesh -lod -lwear_levelling -lfb_gfx -lesp_adc_cal -lesp32 -ldriver -lhal -ljsmn -lsmartconfig -lesp_http_server -lprotocomm -lesp_rom -lface_recognition -lesp_local_ctrl -lespnow -lesp_gdbstub -lesp_websocket_client -ltcpip_adapter -lface_detection -lunity -llibsodium -lesp_http_client -lapp_update -lnewlib -lcxx -ltcp_transport -lm -lefuse -lopenssl -lwifi_provisioning -lespcoredump -llog -lmbedtls -lesp_ringbuf -lnet80211 -lmqtt -lesp_common -lapp_trace -lesp_event -lesp32-camera -lsoc -lesp_eth -lheap -llwip -lrtc -lspi_flash -lphy -lfr -lesp_wifi -lconsole -lcoap -lbtdm_app -lsdmmc -lfd -ljson -lcore -lprotobuf-c -lspiffs -lnvs_flash -lwpa_supplicant -lvfs -lasio -lpp -lbootloader_support -limage_util -ldl_lib -lulp -lnghttp -lxtensa -lpthread -lfreemodbus -lexpat -lfatfs -lmdns -lcoexist -lesp-tls -lesp_https_ota -lbt -lc -lstdc++ compiler.c.elf.libs=-lgcc -lfr -lprotocomm -lcore -lface_recognition -lphy -lpthread -lexpat -lmesh -lesp_common -lopenssl -lnewlib -lapp_update -lulp -lesp32 -lcxx -ltcpip_adapter -ldriver -lespnow -lesp_ringbuf -lconsole -lapp_trace -llog -llwip -ltcp_transport -lesp_gdbstub -lespcoredump -lesp_https_ota -lnghttp -ljsmn -lfd -ljson -limage_util -llibsodium -lspiffs -lm -lsoc -lnet80211 -lmqtt -lwear_levelling -lesp_wifi -lmbedtls -lbootloader_support -lesp_adc_cal -lesp_http_server -lfb_gfx -lface_detection -lesp_http_client -lesp_eth -lpp -lvfs -lsmartconfig -lwpa_supplicant -lprotobuf-c -lbt -lnvs_flash -lunity -lasio -lefuse -lesp_rom -lmdns -lesp_event -ldl_lib -lfreemodbus -lfatfs -lcoap -lrtc -lesp_local_ctrl -lbtdm_app -lsdmmc -lesp_websocket_client -lxtensa -lcoexist -lesp-tls -lspi_flash -lod -lheap -lwifi_provisioning -lfreertos -lesp32-camera -lhal -lc -lstdc++
compiler.as.cmd=xtensa-esp32-elf-as compiler.as.cmd=xtensa-esp32-elf-as

View File

@ -160,7 +160,7 @@ class PartitionTable(list):
subtype = SUBTYPES[int(ptype)][subtype] subtype = SUBTYPES[int(ptype)][subtype]
except KeyError: except KeyError:
try: try:
ptype = int(ptype, 0) subtype = int(subtype, 0)
except TypeError: except TypeError:
pass pass

View File

@ -186,7 +186,7 @@ env.Append(
], ],
LIBS=[ LIBS=[
"-lgcc", "-lfreertos", "-lmesh", "-lod", "-lwear_levelling", "-lfb_gfx", "-lesp_adc_cal", "-lesp32", "-ldriver", "-lhal", "-ljsmn", "-lsmartconfig", "-lesp_http_server", "-lprotocomm", "-lesp_rom", "-lface_recognition", "-lesp_local_ctrl", "-lespnow", "-lesp_gdbstub", "-lesp_websocket_client", "-ltcpip_adapter", "-lface_detection", "-lunity", "-llibsodium", "-lesp_http_client", "-lapp_update", "-lnewlib", "-lcxx", "-ltcp_transport", "-lm", "-lefuse", "-lopenssl", "-lwifi_provisioning", "-lespcoredump", "-llog", "-lmbedtls", "-lesp_ringbuf", "-lnet80211", "-lmqtt", "-lesp_common", "-lapp_trace", "-lesp_event", "-lesp32-camera", "-lsoc", "-lesp_eth", "-lheap", "-llwip", "-lrtc", "-lspi_flash", "-lphy", "-lfr", "-lesp_wifi", "-lconsole", "-lcoap", "-lbtdm_app", "-lsdmmc", "-lfd", "-ljson", "-lcore", "-lprotobuf-c", "-lspiffs", "-lnvs_flash", "-lwpa_supplicant", "-lvfs", "-lasio", "-lpp", "-lbootloader_support", "-limage_util", "-ldl_lib", "-lulp", "-lnghttp", "-lxtensa", "-lpthread", "-lfreemodbus", "-lexpat", "-lfatfs", "-lmdns", "-lcoexist", "-lesp-tls", "-lesp_https_ota", "-lbt", "-lc", "-lstdc++" "-lgcc", "-lfr", "-lprotocomm", "-lcore", "-lface_recognition", "-lphy", "-lpthread", "-lexpat", "-lmesh", "-lesp_common", "-lopenssl", "-lnewlib", "-lapp_update", "-lulp", "-lesp32", "-lcxx", "-ltcpip_adapter", "-ldriver", "-lespnow", "-lesp_ringbuf", "-lconsole", "-lapp_trace", "-llog", "-llwip", "-ltcp_transport", "-lesp_gdbstub", "-lespcoredump", "-lesp_https_ota", "-lnghttp", "-ljsmn", "-lfd", "-ljson", "-limage_util", "-llibsodium", "-lspiffs", "-lm", "-lsoc", "-lnet80211", "-lmqtt", "-lwear_levelling", "-lesp_wifi", "-lmbedtls", "-lbootloader_support", "-lesp_adc_cal", "-lesp_http_server", "-lfb_gfx", "-lface_detection", "-lesp_http_client", "-lesp_eth", "-lpp", "-lvfs", "-lsmartconfig", "-lwpa_supplicant", "-lprotobuf-c", "-lbt", "-lnvs_flash", "-lunity", "-lasio", "-lefuse", "-lesp_rom", "-lmdns", "-lesp_event", "-ldl_lib", "-lfreemodbus", "-lfatfs", "-lcoap", "-lrtc", "-lesp_local_ctrl", "-lbtdm_app", "-lsdmmc", "-lesp_websocket_client", "-lxtensa", "-lcoexist", "-lesp-tls", "-lspi_flash", "-lod", "-lheap", "-lwifi_provisioning", "-lfreertos", "-lesp32-camera", "-lhal", "-lc", "-lstdc++"
], ],
LIBSOURCE_DIRS=[ LIBSOURCE_DIRS=[

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2005,5 +2005,5 @@
#define CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP #define CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP
#endif #endif
#define CONFIG_ARDUINO_IDF_COMMIT "a61fd1e42" #define CONFIG_ARDUINO_IDF_COMMIT "230931310"
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.0" #define CONFIG_ARDUINO_IDF_BRANCH "release/v4.0"

View File

@ -155,6 +155,17 @@ typedef struct {
typedef intr_handle_t uart_isr_handle_t; typedef intr_handle_t uart_isr_handle_t;
/**
* @brief Checks whether the driver is installed or not
*
* @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).
*
* @return
* - true driver is installed
* - false driver is not installed
*/
bool uart_is_driver_installed(uart_port_t uart_num);
/** /**
* @brief Set UART data bits. * @brief Set UART data bits.
* *

View File

@ -24,7 +24,6 @@ extern "C" {
#include "driver/spi_master.h" #include "driver/spi_master.h"
#endif #endif
/** /**
* @brief Ethernet MAC * @brief Ethernet MAC
* *
@ -248,8 +247,11 @@ typedef struct {
uint32_t rx_task_prio; /*!< Priority of the receive task */ uint32_t rx_task_prio; /*!< Priority of the receive task */
int smi_mdc_gpio_num; /*!< SMI MDC GPIO number */ int smi_mdc_gpio_num; /*!< SMI MDC GPIO number */
int smi_mdio_gpio_num; /*!< SMI MDIO GPIO number */ int smi_mdio_gpio_num; /*!< SMI MDIO GPIO number */
uint32_t flags; /*!< Flags that specify extra capability for mac driver */
} eth_mac_config_t; } eth_mac_config_t;
#define ETH_MAC_FLAG_WORK_WITH_CACHE_DISABLE (1 << 0) /*!< MAC driver can work when cache is disabled */
/** /**
* @brief Default configuration for Ethernet MAC object * @brief Default configuration for Ethernet MAC object
* *
@ -261,6 +263,7 @@ typedef struct {
.rx_task_prio = 15, \ .rx_task_prio = 15, \
.smi_mdc_gpio_num = 23, \ .smi_mdc_gpio_num = 23, \
.smi_mdio_gpio_num = 18, \ .smi_mdio_gpio_num = 18, \
.flags = 0, \
} }
#if CONFIG_ETH_USE_ESP32_EMAC #if CONFIG_ETH_USE_ESP32_EMAC

View File

@ -242,6 +242,8 @@ typedef struct {
#define EMAC_DMATXDESC_CHECKSUM_TCPUDPICMPSEGMENT 2 /*!< TCP/UDP/ICMP Checksum Insertion calculated over segment only */ #define EMAC_DMATXDESC_CHECKSUM_TCPUDPICMPSEGMENT 2 /*!< TCP/UDP/ICMP Checksum Insertion calculated over segment only */
#define EMAC_DMATXDESC_CHECKSUM_TCPUDPICMPFULL 3 /*!< TCP/UDP/ICMP Checksum Insertion fully calculated */ #define EMAC_DMATXDESC_CHECKSUM_TCPUDPICMPFULL 3 /*!< TCP/UDP/ICMP Checksum Insertion fully calculated */
_Static_assert(sizeof(eth_dma_tx_descriptor_t) == 32, "eth_dma_tx_descriptor_t should occupy 32 bytes in memory");
/** /**
* @brief Ethernet DMA RX Descriptor * @brief Ethernet DMA RX Descriptor
* *
@ -328,6 +330,8 @@ typedef struct {
#define EMAC_DMADESC_OWNER_CPU (0) #define EMAC_DMADESC_OWNER_CPU (0)
#define EMAC_DMADESC_OWNER_DMA (1) #define EMAC_DMADESC_OWNER_DMA (1)
_Static_assert(sizeof(eth_dma_rx_descriptor_t) == 32, "eth_dma_rx_descriptor_t should occupy 32 bytes in memory");
typedef struct { typedef struct {
emac_mac_dev_t *mac_regs; emac_mac_dev_t *mac_regs;
emac_dma_dev_t *dma_regs; emac_dma_dev_t *dma_regs;
@ -378,7 +382,7 @@ void emac_hal_stop(emac_hal_context_t *hal);
uint32_t emac_hal_get_tx_desc_owner(emac_hal_context_t *hal); uint32_t emac_hal_get_tx_desc_owner(emac_hal_context_t *hal);
void emac_hal_transmit_frame(emac_hal_context_t *hal, uint8_t *buf, uint32_t length); uint32_t emac_hal_transmit_frame(emac_hal_context_t *hal, uint8_t *buf, uint32_t length);
uint32_t emac_hal_receive_frame(emac_hal_context_t *hal, uint8_t *buf, uint32_t size, uint32_t *frames_remain); uint32_t emac_hal_receive_frame(emac_hal_context_t *hal, uint8_t *buf, uint32_t size, uint32_t *frames_remain);

View File

@ -155,6 +155,10 @@ inline static bool IRAM_ATTR esp_ptr_executable(const void *p)
intptr_t ip = (intptr_t) p; intptr_t ip = (intptr_t) p;
return (ip >= SOC_IROM_LOW && ip < SOC_IROM_HIGH) return (ip >= SOC_IROM_LOW && ip < SOC_IROM_HIGH)
|| (ip >= SOC_IRAM_LOW && ip < SOC_IRAM_HIGH) || (ip >= SOC_IRAM_LOW && ip < SOC_IRAM_HIGH)
|| (ip >= SOC_IROM_MASK_LOW && ip < SOC_IROM_MASK_HIGH)
#if defined(SOC_CACHE_APP_LOW) && defined(CONFIG_FREERTOS_UNICORE)
|| (ip >= SOC_CACHE_APP_LOW && ip < SOC_CACHE_APP_HIGH)
#endif
|| (ip >= SOC_RTC_IRAM_LOW && ip < SOC_RTC_IRAM_HIGH); || (ip >= SOC_RTC_IRAM_LOW && ip < SOC_RTC_IRAM_HIGH);
} }

View File

@ -71,13 +71,20 @@ typedef struct {
wps_factory_information_t factory_info; wps_factory_information_t factory_info;
} esp_wps_config_t; } esp_wps_config_t;
/* C & C++ compilers have different rules about C99-style named initializers */
#ifdef __cplusplus
#define WPS_AGG(X) { X }
#else
#define WPS_AGG(X) X
#endif
#define WPS_CONFIG_INIT_DEFAULT(type) { \ #define WPS_CONFIG_INIT_DEFAULT(type) { \
.wps_type = type, \ .wps_type = type, \
.factory_info = { \ .factory_info = { \
.manufacturer = "ESPRESSIF", \ WPS_AGG( .manufacturer = "ESPRESSIF" ), \
.model_number = "ESP32", \ WPS_AGG( .model_number = "ESP32" ), \
.model_name = "ESPRESSIF IOT", \ WPS_AGG( .model_name = "ESPRESSIF IOT" ), \
.device_name = "ESP STATION", \ WPS_AGG( .device_name = "ESP STATION" ), \
} \ } \
} }

View File

@ -71,13 +71,20 @@ typedef struct {
wps_factory_information_t factory_info; wps_factory_information_t factory_info;
} esp_wps_config_t; } esp_wps_config_t;
/* C & C++ compilers have different rules about C99-style named initializers */
#ifdef __cplusplus
#define WPS_AGG(X) { X }
#else
#define WPS_AGG(X) X
#endif
#define WPS_CONFIG_INIT_DEFAULT(type) { \ #define WPS_CONFIG_INIT_DEFAULT(type) { \
.wps_type = type, \ .wps_type = type, \
.factory_info = { \ .factory_info = { \
.manufacturer = "ESPRESSIF", \ WPS_AGG( .manufacturer = "ESPRESSIF" ), \
.model_number = "ESP32", \ WPS_AGG( .model_number = "ESP32" ), \
.model_name = "ESPRESSIF IOT", \ WPS_AGG( .model_name = "ESPRESSIF IOT" ), \
.device_name = "ESP STATION", \ WPS_AGG( .device_name = "ESP STATION" ), \
} \ } \
} }

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.