From 5f1dff7dad965581b98ae4dc3fdfe21e3b552072 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 1 Oct 2019 11:21:44 +0300 Subject: [PATCH] IDF release/v3.2 d3e562907 (#3292) --- platform.txt | 4 +- tools/esptool.py | 550 +++++++++++++----- tools/platformio-build.py | 2 +- tools/sdk/bin/bootloader_dio_40m.bin | Bin 15568 -> 15872 bytes tools/sdk/bin/bootloader_dio_80m.bin | Bin 15552 -> 15856 bytes tools/sdk/bin/bootloader_dout_40m.bin | Bin 15568 -> 15872 bytes tools/sdk/bin/bootloader_dout_80m.bin | Bin 15552 -> 15856 bytes tools/sdk/bin/bootloader_qio_40m.bin | Bin 15568 -> 17408 bytes tools/sdk/bin/bootloader_qio_80m.bin | Bin 17088 -> 17392 bytes tools/sdk/bin/bootloader_qout_40m.bin | Bin 17104 -> 17408 bytes tools/sdk/bin/bootloader_qout_80m.bin | Bin 17088 -> 17392 bytes .../bootloader_support/bootloader_common.h | 12 + .../include/bootloader_support/esp_efuse.h | 7 + .../bootloader_support/esp_image_format.h | 21 +- tools/sdk/include/config/sdkconfig.h | 7 + tools/sdk/include/esp-face/dl_lib_matrix3d.h | 26 +- tools/sdk/include/esp-face/dl_lib_matrix3dq.h | 445 ++++++++++++-- tools/sdk/include/esp-face/frmn.h | 40 +- tools/sdk/include/esp-face/mtmn.h | 21 +- tools/sdk/include/esp32/esp_dport_access.h | 4 +- tools/sdk/include/json/cJSON.h | 102 ++-- tools/sdk/include/json/cJSON_Utils.h | 14 + tools/sdk/include/soc/soc/dport_access.h | 8 +- tools/sdk/include/soc/soc/soc.h | 2 +- tools/sdk/lib/libapp_trace.a | Bin 23032 -> 23392 bytes tools/sdk/lib/libapp_update.a | Bin 53050 -> 53622 bytes tools/sdk/lib/libasio.a | Bin 2004292 -> 2005368 bytes tools/sdk/lib/libbootloader_support.a | Bin 304758 -> 314066 bytes tools/sdk/lib/libbt.a | Bin 13106188 -> 13168296 bytes tools/sdk/lib/libcoap.a | Bin 458186 -> 461522 bytes tools/sdk/lib/libconsole.a | Bin 401784 -> 402520 bytes tools/sdk/lib/libcxx.a | Bin 63640 -> 64392 bytes tools/sdk/lib/libdl_lib.a | Bin 761904 -> 775816 bytes tools/sdk/lib/libdriver.a | Bin 2473378 -> 2481178 bytes tools/sdk/lib/libesp-tls.a | Bin 80288 -> 80712 bytes tools/sdk/lib/libesp32-camera.a | Bin 618170 -> 620514 bytes tools/sdk/lib/libesp32.a | Bin 1342942 -> 1354082 bytes tools/sdk/lib/libesp_adc_cal.a | Bin 39928 -> 40168 bytes tools/sdk/lib/libesp_event.a | Bin 88770 -> 89594 bytes tools/sdk/lib/libesp_http_client.a | Bin 184770 -> 185878 bytes tools/sdk/lib/libesp_http_server.a | Bin 260708 -> 263204 bytes tools/sdk/lib/libesp_https_ota.a | Bin 20718 -> 20990 bytes tools/sdk/lib/libesp_ringbuf.a | Bin 118276 -> 118552 bytes tools/sdk/lib/libethernet.a | Bin 181078 -> 182758 bytes tools/sdk/lib/libexpat.a | Bin 1219090 -> 1219570 bytes tools/sdk/lib/libface_detection.a | Bin 72092 -> 72260 bytes tools/sdk/lib/libface_recognition.a | Bin 87616 -> 87948 bytes tools/sdk/lib/libfatfs.a | Bin 455196 -> 457564 bytes tools/sdk/lib/libfb_gfx.a | Bin 22836 -> 22972 bytes tools/sdk/lib/libfd.a | Bin 1068928 -> 1092162 bytes tools/sdk/lib/libfr.a | Bin 7048910 -> 7049042 bytes tools/sdk/lib/libfreemodbus.a | Bin 247288 -> 249952 bytes tools/sdk/lib/libfreertos.a | Bin 538772 -> 541580 bytes tools/sdk/lib/libheap.a | Bin 230978 -> 232422 bytes tools/sdk/lib/libimage_util.a | Bin 63370 -> 63478 bytes tools/sdk/lib/libjsmn.a | Bin 21694 -> 21818 bytes tools/sdk/lib/libjson.a | Bin 300106 -> 304226 bytes tools/sdk/lib/liblibsodium.a | Bin 1814384 -> 1826584 bytes tools/sdk/lib/liblog.a | Bin 40648 -> 40924 bytes tools/sdk/lib/liblwip.a | Bin 3297584 -> 3315688 bytes tools/sdk/lib/libmbedtls.a | Bin 3447460 -> 3459180 bytes tools/sdk/lib/libmdns.a | Bin 682312 -> 683504 bytes tools/sdk/lib/libmicro-ecc.a | Bin 155340 -> 155456 bytes tools/sdk/lib/libmqtt.a | Bin 221280 -> 222380 bytes tools/sdk/lib/libnewlib.a | Bin 129382 -> 131182 bytes tools/sdk/lib/libnghttp.a | Bin 1560766 -> 1565326 bytes tools/sdk/lib/libnvs_flash.a | Bin 841276 -> 845000 bytes tools/sdk/lib/libopenssl.a | Bin 288740 -> 290112 bytes tools/sdk/lib/libprotobuf-c.a | Bin 329210 -> 329390 bytes tools/sdk/lib/libprotocomm.a | Bin 437998 -> 441402 bytes tools/sdk/lib/libpthread.a | Bin 118050 -> 118870 bytes tools/sdk/lib/libsdmmc.a | Bin 255576 -> 257532 bytes tools/sdk/lib/libsmartconfig_ack.a | Bin 22302 -> 22666 bytes tools/sdk/lib/libsoc.a | Bin 232698 -> 235434 bytes tools/sdk/lib/libspi_flash.a | Bin 213268 -> 214692 bytes tools/sdk/lib/libspiffs.a | Bin 585990 -> 587430 bytes tools/sdk/lib/libtcp_transport.a | Bin 154606 -> 156182 bytes tools/sdk/lib/libtcpip_adapter.a | Bin 134940 -> 135352 bytes tools/sdk/lib/libulp.a | Bin 37458 -> 38022 bytes tools/sdk/lib/libvfs.a | Bin 243282 -> 244094 bytes tools/sdk/lib/libwear_levelling.a | Bin 235968 -> 237860 bytes tools/sdk/lib/libwifi_provisioning.a | Bin 147914 -> 148730 bytes tools/sdk/lib/libwpa_supplicant.a | Bin 3102202 -> 3120678 bytes tools/sdk/lib/libxtensa-debug-module.a | Bin 12138 -> 12438 bytes tools/sdk/sdkconfig | 8 + 85 files changed, 978 insertions(+), 295 deletions(-) diff --git a/platform.txt b/platform.txt index 0bea5903..a88a12ca 100644 --- a/platform.txt +++ b/platform.txt @@ -22,7 +22,7 @@ compiler.warning_flags.all=-Wall -Werror=all -Wextra compiler.path={runtime.tools.xtensa-esp32-elf-gcc.path}/bin/ compiler.sdk.path={runtime.platform.path}/tools/sdk -compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/app_trace" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/asio" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/console" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp-tls" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/esp_adc_cal" "-I{compiler.sdk.path}/include/esp_event" "-I{compiler.sdk.path}/include/esp_http_client" "-I{compiler.sdk.path}/include/esp_http_server" "-I{compiler.sdk.path}/include/esp_https_ota" "-I{compiler.sdk.path}/include/esp_ringbuf" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freemodbus" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/heap" "-I{compiler.sdk.path}/include/idf_test" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/libsodium" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/lwip" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/micro-ecc" "-I{compiler.sdk.path}/include/mqtt" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/protobuf-c" "-I{compiler.sdk.path}/include/protocomm" "-I{compiler.sdk.path}/include/pthread" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/smartconfig_ack" "-I{compiler.sdk.path}/include/soc" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/spiffs" "-I{compiler.sdk.path}/include/tcp_transport" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/wear_levelling" "-I{compiler.sdk.path}/include/wifi_provisioning" "-I{compiler.sdk.path}/include/wpa_supplicant" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/esp-face" "-I{compiler.sdk.path}/include/esp32-camera" "-I{compiler.sdk.path}/include/esp-face" "-I{compiler.sdk.path}/include/fb_gfx" +compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H -DGCC_NOT_5_2_0=0 -DWITH_POSIX "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/app_trace" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/asio" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/console" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp-tls" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/esp_adc_cal" "-I{compiler.sdk.path}/include/esp_event" "-I{compiler.sdk.path}/include/esp_http_client" "-I{compiler.sdk.path}/include/esp_http_server" "-I{compiler.sdk.path}/include/esp_https_ota" "-I{compiler.sdk.path}/include/esp_ringbuf" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freemodbus" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/heap" "-I{compiler.sdk.path}/include/idf_test" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/libsodium" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/lwip" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/micro-ecc" "-I{compiler.sdk.path}/include/mqtt" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/protobuf-c" "-I{compiler.sdk.path}/include/protocomm" "-I{compiler.sdk.path}/include/pthread" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/smartconfig_ack" "-I{compiler.sdk.path}/include/soc" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/spiffs" "-I{compiler.sdk.path}/include/tcp_transport" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/wear_levelling" "-I{compiler.sdk.path}/include/wifi_provisioning" "-I{compiler.sdk.path}/include/wpa_supplicant" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/esp-face" "-I{compiler.sdk.path}/include/esp32-camera" "-I{compiler.sdk.path}/include/esp-face" "-I{compiler.sdk.path}/include/fb_gfx" compiler.c.cmd=xtensa-esp32-elf-gcc compiler.c.flags=-std=gnu99 -Os -g3 -fstack-protector -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wpointer-arith {compiler.warning_flags} -Wno-maybe-uninitialized -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -Wno-old-style-declaration -MMD -c @@ -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.flags=-nostdlib "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -T esp32.rom.libgcc.ld -T esp32.rom.spiram_incompatible_fns.ld -u ld_include_panic_highint_hdl -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u __cxa_guard_dummy -u __cxx_fatal_exception -compiler.c.elf.libs=-lgcc -lopenssl -lbtdm_app -lfatfs -lwps -lcoexist -lwear_levelling -lesp_http_client -lprotobuf-c -lhal -lnewlib -ldriver -lbootloader_support -lpp -lfreemodbus -lmesh -lsmartconfig -ljsmn -lwpa -lethernet -lphy -lapp_trace -lconsole -lulp -lwpa_supplicant -lfreertos -lbt -lmicro-ecc -lesp32-camera -lcxx -lxtensa-debug-module -ltcp_transport -lmdns -lvfs -lesp_ringbuf -lsoc -lcore -lfb_gfx -lsdmmc -llibsodium -lcoap -ltcpip_adapter -lprotocomm -lesp_event -limage_util -lc_nano -lesp-tls -lasio -lrtc -lspi_flash -lwpa2 -lwifi_provisioning -lesp32 -lface_recognition -lapp_update -lnghttp -lspiffs -lface_detection -lespnow -lnvs_flash -lesp_adc_cal -llog -ldl_lib -lsmartconfig_ack -lexpat -lm -lfr -lmqtt -lc -lheap -lmbedtls -llwip -lnet80211 -lesp_http_server -lpthread -ljson -lesp_https_ota -lfd -lstdc++ +compiler.c.elf.libs=-lgcc -lesp32 -lphy -lesp_http_client -lmbedtls -lrtc -lesp_http_server -lbtdm_app -lspiffs -lbootloader_support -lmdns -lnvs_flash -lfatfs -lpp -lnet80211 -ljsmn -lface_detection -llibsodium -lvfs -ldl_lib -llog -lfreertos -lcxx -lsmartconfig_ack -lxtensa-debug-module -lheap -ltcpip_adapter -lmqtt -lulp -lfd -lfb_gfx -lnghttp -lprotocomm -lsmartconfig -lm -lethernet -limage_util -lc_nano -lsoc -ltcp_transport -lc -lmicro-ecc -lface_recognition -ljson -lwpa_supplicant -lmesh -lesp_https_ota -lwpa2 -lexpat -llwip -lwear_levelling -lapp_update -ldriver -lbt -lespnow -lcoap -lasio -lnewlib -lconsole -lapp_trace -lesp32-camera -lhal -lprotobuf-c -lsdmmc -lcore -lpthread -lcoexist -lfreemodbus -lspi_flash -lesp-tls -lwpa -lwifi_provisioning -lwps -lesp_adc_cal -lesp_event -lopenssl -lesp_ringbuf -lfr -lstdc++ compiler.as.cmd=xtensa-esp32-elf-as diff --git a/tools/esptool.py b/tools/esptool.py index 6bfa1f7b..d6ceb6f9 100755 --- a/tools/esptool.py +++ b/tools/esptool.py @@ -60,7 +60,7 @@ except ImportError: "Check the README for installation instructions." % (sys.VERSION, sys.executable)) raise -__version__ = "2.6" +__version__ = "2.8-dev" MAX_UINT32 = 0xffffffff MAX_UINT24 = 0xffffff @@ -135,6 +135,15 @@ except NameError: basestring = str +def _mask_to_shift(mask): + """ Return the index of the least significant bit in the mask """ + shift = 0 + while mask & 0x1 == 0: + shift += 1 + mask >>= 1 + return shift + + def esp8266_function_only(func): """ Attribute for a function only supported on ESP8266 """ return check_supported_function(func, lambda o: o.CHIP_NAME == "ESP8266") @@ -180,6 +189,9 @@ class ESPLoader(object): ESP_READ_FLASH = 0xD2 ESP_RUN_USER_CODE = 0xD3 + # Flash encryption debug more command + ESP_FLASH_ENCRYPT_DATA = 0xD4 + # Maximum block sized for RAM and Flash writes, respectively. ESP_RAM_BLOCK = 0x1800 @@ -197,8 +209,11 @@ class ESPLoader(object): # Flash sector size, minimum unit of erase. FLASH_SECTOR_SIZE = 0x1000 + # This register happens to exist on both ESP8266 & ESP32 UART_DATA_REG_ADDR = 0x60000078 + UART_CLKDIV_MASK = 0xFFFFF + # Memory addresses IROM_MAP_START = 0x40200000 IROM_MAP_END = 0x40300000 @@ -467,8 +482,8 @@ class ESPLoader(object): print('') # end 'Connecting...' line raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error)) - """ Read memory address in target """ def read_reg(self, addr): + """ Read memory address in target """ # we don't call check_command here because read_reg() function is called # when detecting chip type, and the way we check for success (STATUS_BYTES_LENGTH) is different # for different chip types (!) @@ -477,11 +492,28 @@ class ESPLoader(object): raise FatalError.WithResult("Failed to read register address %08x" % addr, data) return val - """ Write to memory address in target """ def write_reg(self, addr, value, mask=0xFFFFFFFF, delay_us=0): + """ Write to memory address in target + + Note: mask option is not supported by stub loaders, use update_reg() function. + """ return self.check_command("write target memory", self.ESP_WRITE_REG, struct.pack(' length: raise FatalError('Read more than expected') + digest_frame = self.read() if len(digest_frame) != 16: raise FatalError('Expected digest, got: %s' % hexify(digest_frame)) @@ -899,6 +940,22 @@ class ESPLoader(object): self.run_spiflash_command(SPIFLASH_WRDI) + def get_crystal_freq(self): + # Figure out the crystal frequency from the UART clock divider + # Returns a normalized value in integer MHz (40 or 26 are the only supported values) + # + # The logic here is: + # - We know that our baud rate and the ESP UART baud rate are roughly the same, or we couldn't communicate + # - We can read the UART clock divider register to know how the ESP derives this from the APB bus frequency + # - Multiplying these two together gives us the bus frequency which is either the crystal frequency (ESP32) + # or double the crystal frequency (ESP8266). See the self.XTAL_CLK_DIVIDER parameter for this factor. + uart_div = self.read_reg(self.UART_CLKDIV_REG) & self.UART_CLKDIV_MASK + est_xtal = (self._port.baudrate * uart_div) / 1e6 / self.XTAL_CLK_DIVIDER + norm_xtal = 40 if est_xtal > 33 else 26 + if abs(norm_xtal - est_xtal) > 1: + print("WARNING: Detected crystal freq %.2fMHz is quite different to normalized freq %dMHz. Unsupported crystal in use?" % (est_xtal, norm_xtal)) + return norm_xtal + def hard_reset(self): self._setRTS(True) # EN->LOW time.sleep(0.1) @@ -943,6 +1000,10 @@ class ESP8266ROM(ESPLoader): SPI_W0_OFFS = 0x40 SPI_HAS_MOSI_DLEN_REG = False + UART_CLKDIV_REG = 0x60000014 + + XTAL_CLK_DIVIDER = 2 + FLASH_SIZES = { '512KB':0x00, '256KB':0x10, @@ -957,6 +1018,11 @@ class ESP8266ROM(ESPLoader): BOOTLOADER_FLASH_OFFSET = 0 + MEMORY_MAP = [[0x3FF00000, 0x3FF00010, "DPORT"], + [0x3FFE8000, 0x40000000, "DRAM"], + [0x40100000, 0x40108000, "IRAM"], + [0x40201010, 0x402E1010, "IROM"]] + def get_efuses(self): # Return the 128 bits of ESP8266 efuse as a single Python integer return (self.read_reg(0x3ff0005c) << 96 | @@ -1055,6 +1121,7 @@ class ESP32ROM(ESPLoader): """ CHIP_NAME = "ESP32" + IMAGE_CHIP_ID = 0 IS_STUB = False DATE_REG_VALUE = 0x15122500 @@ -1070,9 +1137,15 @@ class ESP32ROM(ESPLoader): SPI_REG_BASE = 0x60002000 EFUSE_REG_BASE = 0x6001a000 + DR_REG_SYSCON_BASE = 0x3ff66000 + SPI_W0_OFFS = 0x80 SPI_HAS_MOSI_DLEN_REG = True + UART_CLKDIV_REG = 0x3ff40014 + + XTAL_CLK_DIVIDER = 1 + FLASH_SIZES = { '1MB':0x00, '2MB':0x10, @@ -1085,9 +1158,77 @@ class ESP32ROM(ESPLoader): OVERRIDE_VDDSDIO_CHOICES = ["1.8V", "1.9V", "OFF"] + MEMORY_MAP = [[0x3F400000, 0x3F800000, "DROM"], + [0x3F800000, 0x3FC00000, "EXTRAM_DATA"], + [0x3FF80000, 0x3FF82000, "RTC_DRAM"], + [0x3FF90000, 0x40000000, "BYTE_ACCESSIBLE"], + [0x3FFAE000, 0x40000000, "DRAM"], + [0x3FFAE000, 0x40000000, "DMA"], + [0x3FFE0000, 0x3FFFFFFC, "DIRAM_DRAM"], + [0x40000000, 0x40070000, "IROM"], + [0x40070000, 0x40078000, "CACHE_PRO"], + [0x40078000, 0x40080000, "CACHE_APP"], + [0x40080000, 0x400A0000, "IRAM"], + [0x400A0000, 0x400BFFFC, "DIRAM_IRAM"], + [0x400C0000, 0x400C2000, "RTC_IRAM"], + [0x400D0000, 0x40400000, "IROM"], + [0x50000000, 0x50002000, "RTC_DATA"]] + + """ Try to read the BLOCK1 (encryption key) and check if it is valid """ + + def is_flash_encryption_key_valid(self): + + """ Bit 0 of efuse_rd_disable[3:0] is mapped to BLOCK1 + this bit is at position 16 in EFUSE_BLK0_RDATA0_REG """ + word0 = self.read_efuse(0) + rd_disable = (word0 >> 16) & 0x1 + + # reading of BLOCK1 is NOT ALLOWED so we assume valid key is programmed + if rd_disable: + return True + else: + """ reading of BLOCK1 is ALLOWED so we will read and verify for non-zero. + When ESP32 has not generated AES/encryption key in BLOCK1, the contents will be readable and 0. + If the flash encryption is enabled it is expected to have a valid non-zero key. We break out on + first occurance of non-zero value """ + key_word = [0] * 7 + for i in range(len(key_word)): + key_word[i] = self.read_efuse(14 + i) + # key is non-zero so break & return + if key_word[i] != 0: + return True + return False + + """ For flash encryption related commands we need to make sure + user has programmed all the relevant efuse correctly so at + the end of write_flash_encrypt esptool will verify the values + of flash_crypt_config to be non zero if they are not read + protected. If the values are zero a warning will be printed + """ + + def get_flash_crypt_config(self): + """ bit 3 in efuse_rd_disable[3:0] is mapped to flash_crypt_config + this bit is at position 19 in EFUSE_BLK0_RDATA0_REG """ + word0 = self.read_efuse(0) + rd_disable = (word0 >> 19) & 0x1 + + if rd_disable == 0: + """ we can read the flash_crypt_config efuse value + so go & read it (EFUSE_BLK0_RDATA5_REG[31:28]) """ + word5 = self.read_efuse(5) + word5 = (word5 >> 28) & 0xF + return word5 + else: + # if read of the efuse is disabled we assume it is set correctly + return 0xF + def get_chip_description(self): word3 = self.read_efuse(3) - chip_ver_rev1 = (word3 >> 15) & 0x1 + word5 = self.read_efuse(5) + apb_ctl_date = self.read_reg(self.DR_REG_SYSCON_BASE + 0x7C) + rev_bit0 = (word3 >> 15) & 0x1 + rev_bit1 = (word5 >> 20) & 0x1 + rev_bit2 = (apb_ctl_date >> 31) & 0x1 pkg_version = (word3 >> 9) & 0x07 chip_name = { @@ -1097,7 +1238,16 @@ class ESP32ROM(ESPLoader): 5: "ESP32-PICO-D4", }.get(pkg_version, "unknown ESP32") - return "%s (revision %d)" % (chip_name, chip_ver_rev1) + chip_revision = 0 + if rev_bit0: + if rev_bit1: + if rev_bit2: + chip_revision = 3 + else: + chip_revision = 2 + else: + chip_revision = 1 + return "%s (revision %d)" % (chip_name, chip_revision) def get_chip_features(self): features = ["WiFi"] @@ -1298,11 +1448,11 @@ class BaseFirmwareImage(object): self.elf_sha256_offset = 0 def load_common_header(self, load_file, expected_magic): - (magic, segments, self.flash_mode, self.flash_size_freq, self.entrypoint) = struct.unpack(' 16: @@ -1328,16 +1478,19 @@ class BaseFirmwareImage(object): def maybe_patch_segment_data(self, f, segment_data): """If SHA256 digest of the ELF file needs to be inserted into this segment, do so. Returns segment data.""" segment_len = len(segment_data) - file_pos = f.tell() + file_pos = f.tell() # file_pos is position in the .bin file if self.elf_sha256_offset >= file_pos and self.elf_sha256_offset < file_pos + segment_len: - # SHA256 digest needs to be patched into this segment, - # calculate offset of the digest inside the segment. + # SHA256 digest needs to be patched into this binary segment, + # calculate offset of the digest inside the binary segment. patch_offset = self.elf_sha256_offset - file_pos # Sanity checks if patch_offset < self.SEG_HEADER_LEN or patch_offset + self.SHA256_DIGEST_LEN > segment_len: - raise FatalError('Can not place SHA256 digest on segment boundary' + + raise FatalError('Cannot place SHA256 digest on segment boundary' + '(elf_sha256_offset=%d, file_pos=%d, segment_size=%d)' % (self.elf_sha256_offset, file_pos, segment_len)) + if segment_data[patch_offset:patch_offset + self.SHA256_DIGEST_LEN] != b'\x00' * self.SHA256_DIGEST_LEN: + raise FatalError('Contents of segment at SHA256 digest offset 0x%x are not all zero. Refusing to overwrite.' % + self.elf_sha256_offset) assert(len(self.elf_sha256) == self.SHA256_DIGEST_LEN) # offset relative to the data part patch_offset -= self.SEG_HEADER_LEN @@ -1386,12 +1539,12 @@ class BaseFirmwareImage(object): return ESP8266ROM.IROM_MAP_START <= addr < ESP8266ROM.IROM_MAP_END def get_irom_segment(self): - irom_segments = [s for s in self.segments if self.is_irom_addr(s.addr)] - if len(irom_segments) > 0: - if len(irom_segments) != 1: - raise FatalError('Found %d segments that could be irom0. Bad ELF file?' % len(irom_segments)) - return irom_segments[0] - return None + irom_segments = [s for s in self.segments if self.is_irom_addr(s.addr)] + if len(irom_segments) > 0: + if len(irom_segments) != 1: + raise FatalError('Found %d segments that could be irom0. Bad ELF file?' % len(irom_segments)) + return irom_segments[0] + return None def get_non_irom_segments(self): irom_segment = self.get_irom_segment() @@ -1440,6 +1593,9 @@ class ESP8266ROMFirmwareImage(BaseFirmwareImage): self.append_checksum(f, checksum) +ESP8266ROM.BOOTLOADER_IMAGE = ESP8266ROMFirmwareImage + + class ESP8266V2FirmwareImage(BaseFirmwareImage): """ 'Version 2' firmware image, segments loaded by software bootloader stub (ie Espressif bootloader or rboot) @@ -1558,7 +1714,7 @@ class ESP32FirmwareImage(BaseFirmwareImage): # to be set to this value so ROM bootloader will skip it. WP_PIN_DISABLED = 0xEE - EXTENDED_HEADER_STRUCT_FMT = "B" * 16 + EXTENDED_HEADER_STRUCT_FMT = " flash_end: - raise FatalError(("File %s (length %d) at offset %d will not fit in %d bytes of flash. " + - "Use --flash-size argument, or change flashing address.") - % (argfile.name, argfile.tell(), address, flash_end)) - argfile.seek(0) + if args.flash_size != 'keep': # TODO: check this even with 'keep' + flash_end = flash_size_bytes(args.flash_size) + for address, argfile in args.addr_filename: + argfile.seek(0,2) # seek to end + if address + argfile.tell() > flash_end: + raise FatalError(("File %s (length %d) at offset %d will not fit in %d bytes of flash. " + + "Use --flash-size argument, or change flashing address.") + % (argfile.name, argfile.tell(), address, flash_end)) + argfile.seek(0) if args.erase_all: erase_flash(esp, args) + if args.encrypt and args.compress: + print('\nWARNING: - compress and encrypt options are mutually exclusive ') + print('Will flash uncompressed') + args.compress = False + for address, argfile in args.addr_filename: if args.no_stub: print('Erasing flash...') - image = pad_to(argfile.read(), 4) + image = pad_to(argfile.read(), 32 if args.encrypt else 4) if len(image) == 0: print('WARNING: File %s is empty' % argfile.name) continue @@ -2159,7 +2375,10 @@ def write_flash(esp, args): else: # Pad the last block block = block + b'\xff' * (esp.FLASH_WRITE_SIZE - len(block)) - esp.flash_block(block, seq) + if args.encrypt: + esp.flash_encrypt_block(block, seq) + else: + esp.flash_block(block, seq) image = image[esp.FLASH_WRITE_SIZE:] seq += 1 written += len(block) @@ -2173,17 +2392,19 @@ def write_flash(esp, args): if t > 0.0: speed_msg = " (%.1f kbit/s)" % (written / t * 8 / 1000) print('\rWrote %d bytes at 0x%08x in %.1f seconds%s...' % (written, address, t, speed_msg)) - try: - res = esp.flash_md5sum(address, uncsize) - if res != calcmd5: - print('File md5: %s' % calcmd5) - print('Flash md5: %s' % res) - print('MD5 of 0xFF is %s' % (hashlib.md5(b'\xFF' * uncsize).hexdigest())) - raise FatalError("MD5 of file does not match data in flash!") - else: - print('Hash of data verified.') - except NotImplementedInROMError: - pass + + if not args.encrypt: + try: + res = esp.flash_md5sum(address, uncsize) + if res != calcmd5: + print('File md5: %s' % calcmd5) + print('Flash md5: %s' % res) + print('MD5 of 0xFF is %s' % (hashlib.md5(b'\xFF' * uncsize).hexdigest())) + raise FatalError("MD5 of file does not match data in flash!") + else: + print('Hash of data verified.') + except NotImplementedInROMError: + pass print('\nLeaving...') @@ -2207,11 +2428,12 @@ def image_info(args): print('Image version: %d' % image.version) print('Entry point: %08x' % image.entrypoint if image.entrypoint != 0 else 'Entry point not set') print('%d segments' % len(image.segments)) - print + print() idx = 0 for seg in image.segments: idx += 1 - print('Segment %d: %r' % (idx, seg)) + seg_name = ", ".join([seg_range[2] for seg_range in image.ROM_LOADER.MEMORY_MAP if seg_range[0] <= seg.addr < seg_range[1]]) + print('Segment %d: %r [%s]' % (idx, seg, seg_name)) calc_checksum = image.calculate_checksum() print('Checksum: %02x (%s)' % (image.checksum, 'valid' if image.checksum == calc_checksum else 'invalid - calculated %02x' % calc_checksum)) @@ -2249,6 +2471,7 @@ def elf2image(args): if args.chip == 'esp32': image = ESP32FirmwareImage() image.secure_pad = args.secure_pad + image.min_rev = int(args.min_rev) elif args.version == '1': # ESP8266 image = ESP8266ROMFirmwareImage() else: @@ -2397,7 +2620,8 @@ def main(custom_commandline=None): Main function for esptool custom_commandline - Optional override for default arguments parsing (that uses sys.argv), can be a list of custom arguments - as strings. + as strings. Arguments and their values need to be added as individual items to the list e.g. "-b 115200" thus + becomes ['-b', '115200']. """ parser = argparse.ArgumentParser(description='esptool.py v%s - ESP8266 ROM Bootloader Utility' % __version__, prog='esptool') @@ -2483,6 +2707,11 @@ def main(custom_commandline=None): extra_keep_args = [] if is_elf2image else ['keep'] auto_detect = not is_elf2image + if auto_detect: + extra_fs_message = ", detect, or keep" + else: + extra_fs_message = "" + parent.add_argument('--flash_freq', '-ff', help='SPI Flash frequency', choices=extra_keep_args + ['40m', '26m', '20m', '80m'], default=os.environ.get('ESPTOOL_FF', '40m' if is_elf2image else 'keep')) @@ -2490,12 +2719,15 @@ def main(custom_commandline=None): choices=extra_keep_args + ['qio', 'qout', 'dio', 'dout'], default=os.environ.get('ESPTOOL_FM', 'qio' if is_elf2image else 'keep')) parent.add_argument('--flash_size', '-fs', help='SPI Flash size in MegaBytes (1MB, 2MB, 4MB, 8MB, 16M)' - ' plus ESP8266-only (256KB, 512KB, 2MB-c1, 4MB-c1)', + ' plus ESP8266-only (256KB, 512KB, 2MB-c1, 4MB-c1)' + extra_fs_message, action=FlashSizeAction, auto_detect=auto_detect, default=os.environ.get('ESPTOOL_FS', 'detect' if auto_detect else '1MB')) add_spi_connection_arg(parent) - parser_write_flash = subparsers.add_parser('write_flash', help='Write a binary blob to flash') + parser_write_flash = subparsers.add_parser( + 'write_flash', + help='Write a binary blob to flash') + parser_write_flash.add_argument('addr_filename', metavar='
', help='Address followed by binary filename, separated by space', action=AddrFilenamePairAction) parser_write_flash.add_argument('--erase-all', '-e', @@ -2506,6 +2738,10 @@ def main(custom_commandline=None): parser_write_flash.add_argument('--no-progress', '-p', help='Suppress progress output', action="store_true") parser_write_flash.add_argument('--verify', help='Verify just-written data on flash ' + '(mostly superfluous, data is read back during flashing)', action='store_true') + parser_write_flash.add_argument('--encrypt', help='Encrypt before write ', + action='store_true') + parser_write_flash.add_argument('--ignore-flash-encryption-efuse-setting', help='Ignore flash encryption efuse settings ', + action='store_true') compress_args = parser_write_flash.add_mutually_exclusive_group(required=False) compress_args.add_argument('--compress', '-z', help='Compress data in transfer (default unless --no-stub is specified)',action="store_true", default=None) @@ -2534,6 +2770,7 @@ def main(custom_commandline=None): parser_elf2image.add_argument('input', help='Input ELF file') parser_elf2image.add_argument('--output', '-o', help='Output filename prefix (for version 1 image), or filename (for version 2 single image)', type=str) parser_elf2image.add_argument('--version', '-e', help='Output image version', choices=['1','2'], default='1') + parser_elf2image.add_argument('--min-rev', '-r', help='Minimum chip revision', choices=['0','1','2','3'], default='0') parser_elf2image.add_argument('--secure-pad', action='store_true', help='Pad image so once signed it will end on a 64KB boundary. For ESP32 images only.') parser_elf2image.add_argument('--elf-sha256-offset', help='If set, insert SHA256 hash (32 bytes) of the input ELF file at specified offset in the binary.', type=arg_auto_int, default=None) @@ -2658,12 +2895,14 @@ def main(custom_commandline=None): print("%s failed to connect: %s" % (each_port, err)) esp = None if esp is None: - raise FatalError("All of the %d available serial ports could not connect to a Espressif device." % len(ser_list)) + raise FatalError("Could not connect to an Espressif device on any of the %d available serial ports." % len(ser_list)) print("Chip is %s" % (esp.get_chip_description())) print("Features: %s" % ", ".join(esp.get_chip_features())) + print("Crystal is %dMHz" % esp.get_crystal_freq()) + read_mac(esp, args) if not args.no_stub: @@ -2692,7 +2931,8 @@ def main(custom_commandline=None): if hasattr(args, "flash_size"): print("Configuring flash size...") detect_flash_size(esp, args) - esp.flash_set_parameters(flash_size_bytes(args.flash_size)) + if args.flash_size != 'keep': # TODO: should set this even with 'keep' + esp.flash_set_parameters(flash_size_bytes(args.flash_size)) try: operation_func(esp, args) @@ -2775,6 +3015,7 @@ class FlashSizeAction(argparse.Action): known_sizes.update(ESP32ROM.FLASH_SIZES) if self._auto_detect: known_sizes['detect'] = 'detect' + known_sizes['keep'] = 'keep' if value not in known_sizes: raise argparse.ArgumentError(self, '%s is not a known flash size. Known sizes: %s' % (value, ", ".join(known_sizes.keys()))) setattr(namespace, self.dest, value) @@ -2846,104 +3087,105 @@ class AddrFilenamePairAction(argparse.Action): # Binary stub code (see flasher_stub dir for source & details) ESP8266ROM.STUB_CODE = eval(zlib.decompress(base64.b64decode(b""" -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\ """))) ESP32ROM.STUB_CODE = eval(zlib.decompress(base64.b64decode(b""" -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\ """))) diff --git a/tools/platformio-build.py b/tools/platformio-build.py index e3b68683..93c021a2 100644 --- a/tools/platformio-build.py +++ b/tools/platformio-build.py @@ -165,7 +165,7 @@ env.Append( ], LIBS=[ - "-lgcc", "-lopenssl", "-lbtdm_app", "-lfatfs", "-lwps", "-lcoexist", "-lwear_levelling", "-lesp_http_client", "-lprotobuf-c", "-lhal", "-lnewlib", "-ldriver", "-lbootloader_support", "-lpp", "-lfreemodbus", "-lmesh", "-lsmartconfig", "-ljsmn", "-lwpa", "-lethernet", "-lphy", "-lapp_trace", "-lconsole", "-lulp", "-lwpa_supplicant", "-lfreertos", "-lbt", "-lmicro-ecc", "-lesp32-camera", "-lcxx", "-lxtensa-debug-module", "-ltcp_transport", "-lmdns", "-lvfs", "-lesp_ringbuf", "-lsoc", "-lcore", "-lfb_gfx", "-lsdmmc", "-llibsodium", "-lcoap", "-ltcpip_adapter", "-lprotocomm", "-lesp_event", "-limage_util", "-lc_nano", "-lesp-tls", "-lasio", "-lrtc", "-lspi_flash", "-lwpa2", "-lwifi_provisioning", "-lesp32", "-lface_recognition", "-lapp_update", "-lnghttp", "-lspiffs", "-lface_detection", "-lespnow", "-lnvs_flash", "-lesp_adc_cal", "-llog", "-ldl_lib", "-lsmartconfig_ack", "-lexpat", "-lm", "-lfr", "-lmqtt", "-lc", "-lheap", "-lmbedtls", "-llwip", "-lnet80211", "-lesp_http_server", "-lpthread", "-ljson", "-lesp_https_ota", "-lfd", "-lstdc++" + "-lgcc", "-lesp32", "-lphy", "-lesp_http_client", "-lmbedtls", "-lrtc", "-lesp_http_server", "-lbtdm_app", "-lspiffs", "-lbootloader_support", "-lmdns", "-lnvs_flash", "-lfatfs", "-lpp", "-lnet80211", "-ljsmn", "-lface_detection", "-llibsodium", "-lvfs", "-ldl_lib", "-llog", "-lfreertos", "-lcxx", "-lsmartconfig_ack", "-lxtensa-debug-module", "-lheap", "-ltcpip_adapter", "-lmqtt", "-lulp", "-lfd", "-lfb_gfx", "-lnghttp", "-lprotocomm", "-lsmartconfig", "-lm", "-lethernet", "-limage_util", "-lc_nano", "-lsoc", "-ltcp_transport", "-lc", "-lmicro-ecc", "-lface_recognition", "-ljson", "-lwpa_supplicant", "-lmesh", "-lesp_https_ota", "-lwpa2", "-lexpat", "-llwip", "-lwear_levelling", "-lapp_update", "-ldriver", "-lbt", "-lespnow", "-lcoap", "-lasio", "-lnewlib", "-lconsole", "-lapp_trace", "-lesp32-camera", "-lhal", "-lprotobuf-c", "-lsdmmc", "-lcore", "-lpthread", "-lcoexist", "-lfreemodbus", "-lspi_flash", "-lesp-tls", "-lwpa", "-lwifi_provisioning", "-lwps", "-lesp_adc_cal", "-lesp_event", "-lopenssl", "-lesp_ringbuf", "-lfr", "-lstdc++" ], LIBSOURCE_DIRS=[ diff --git a/tools/sdk/bin/bootloader_dio_40m.bin b/tools/sdk/bin/bootloader_dio_40m.bin index 70d4510a14dd84e681d115a48b8cd249d0265cb9..ac057886d985172a4c67cac4358fcc2846c2f7b4 100644 GIT binary patch delta 9389 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 F3jj&Pge(96 delta 9196 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 O7TWK$Q91BJ)d~QGLQUoX diff --git a/tools/sdk/bin/bootloader_dio_80m.bin b/tools/sdk/bin/bootloader_dio_80m.bin index 4b77aab062295f139e3af9448a575706b8303a2e..726e1ca9145c7ee894b1f4c8587d7b9b683d1502 100644 GIT binary patch delta 9453 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 diff --git a/tools/sdk/bin/bootloader_dout_40m.bin b/tools/sdk/bin/bootloader_dout_40m.bin index 464a0b1ab5aadea58acea5f5a0dfa5a17adc1bb5..eab1e96d1f50bb4718805292a647224b6e97ca22 100644 GIT binary patch delta 9389 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 F0sv?*g5LlD delta 9196 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 k=yQMe%=L-XyQ)E@id}Fp0OBP>+yDRo diff --git a/tools/sdk/bin/bootloader_qio_40m.bin b/tools/sdk/bin/bootloader_qio_40m.bin index 70d4510a14dd84e681d115a48b8cd249d0265cb9..0c2e9fe279a6330dc8997fd2524171066180bfdc 100644 GIT binary patch delta 11215 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 diff --git a/tools/sdk/bin/bootloader_qio_80m.bin b/tools/sdk/bin/bootloader_qio_80m.bin index 627d104cc2c982c0514ed60487a5afeb050ae551..944f4947edf5a1186b77fa734d62a9ede153e890 100644 GIT binary patch delta 10285 zcmX@m%J`w3k@Y1Dlm3p0tjdfBCTiOFWaQ_j>KB#f<)s$sm**E{>!%hM7#ry(7NwMC z=H=_=WG3k*m1gFoq!!_q(alUrn|y*vk1aDVvqUd>;>jMW8_iLan3s~DtCu`^H=|{2 zMq*w{PO5^Ut%6^uj}HTbK9zl9!oX>L)P&w?D+7!0>+sFNebvUJeJg z8O;Cf=Q21joQI1nVE%9ap230Pe-1B)Lj*5}1Lq3n|Mn*s5|BjJF#oq#5V!dM{|7IJ z!vT;v3=9km|3Sckm%~Aam&1Ya$^v$W?+e%+ZY^MUc(8!o;n@OqCWp6^KQhZuH$-h% zlqV;!$T0qxT+6atmWScLJp+Rg!~g#v7dhB3nabc0!1&+(3FCkJgvpMq=j%Bb{@d3a zV0DmT`fp#s{NG-O>A(F3rvLVH3_jR17<{mwVDQ0yiopl_80P=>N0|QG%P{}9zrpn1 z{twfC`xziL9~c-!7JRj5U=U!aN%&^ZqyY9g$p7|#82{VzF#WerIK<%a|Nnn}28J*D z85lSYFfcG|xYEer@aO;k$@Ofkj9(|Wveh%GuuNuSZ|1l9e?Wm@23Moy|Av_YjTVz< zu&eMG{O8eVa$;z5Vr4gUNO&0rUX#;^Y#a4>|;61cR0;lf#kO$%6g zb~SzkiSh8B<>is)scL)&=J9~pZ@_Gjj5beK<8v^NhX=%d3Szs0HF@)_YJ3Rd^6>D0 z*!RI~kS1%MS&g^AJRTkp`v!=;@jTek+>NI|j-Ght-{fjeEAv$#zpv!pxE~_fuu5RU zERfJl?unbgLYxg<0t+|(ThIX#g$3QZ$u~LWR5pMWa7%d5 zs2LoMt0qfxDXGkdD(pd1I2WOC=Hx^!t@>`TLe9o6PzZvfYGNlusOCgN7s!rIPT3C= z8zEwic?e|<5TP0igfcTnhQ=z8a0ka3BOOjR1_l|`aq!mG{nGlD#s!n}_*7LVG4V7p@iue_ zPUuiLW5L7h#=ubXSwK)>=|%=6CO-9Dj5VKinJ4$~Npf}mmHkljN%n(c>*V!(qCri6 z4a@`@8~=82v1j-h`YoCFjazH}KkM*r<6$clk5jjG&=ol;$RS~U;;VT8myeF(F#i2gK5r2%fFL67;1ht8cyaF2s2gtdrC+0Ff}TJB4&~X!+}@KjS3)k2S>w9gN9ek2RaTcl$|_7z{Fn= zB)o#NQQ$8uS2yy3g*Ybi{++N&07OEv2sF8K{e>rY4v@kb95P%BW`bgVCdWpW$+;1Cfva>@#UWhy9FjKVgQM7Q7ylf%D{yEj12pOK9Z+Dn!Ex~HA1I%r@$}>nAq&QRlY524g%^P|b#UeU zoX`O>rjx62)8y?!w)IOu;yXANtOkj$DDL{x(51i*3Tf`f&dF86a*_#Pd5(z< ze^3jl=*b&}r5JZiJ|iqqZ~Nx~2LlgRqYap5cVl5-U}((#)6l+P(n1Ds!6seawBUdF zikFT0e;SGf3=F z7_H2}8XIN)G=zfmdhy+5J<9~vEDKT!)(jR|w1BZu0wm<<0rG|gOHPu4F(?ErSqxo4 zB2LN-3MwE0rDTu?_$IFv(NHq~Gi$P=*`Mhq0+UXtD9l{2!cu#N!psdPJohqBGy=&P zPW~=pDy;fv;m_Zyi~rkliDhw|W#o}wx@fY!=rqkgzqcDRwW%_s&HzbSaq6(1W!=jq zuu!4#+wTV)3};z4T^5L1*!cPPMkA;Cn3H6ipsKzOoZ)9(Wc3>r*fPXF6j85G(Y z9P55Ncq}kzTChli;i>NbMJWu@O5sLN4=6A=7XH?lEG!{rQw-AL$;8GCYC`ddC>B8Y zVeCIaE@CiCWC#;tyqNs^VAk(V3mO(C{}vEbc-qAw_L$o-W^$^8e0}`ygR#FiEttG8 z3?#L*onvG4@3l-zKm2d>{oTRQ&|t#zbGiiI#qi$;gMV*YFnyuV@6=X~4NC-7mHsbE zWZ?1H%eaD&K`PQNvn6ckK)E?xBfebDpwrUi2sI{seT#G&W}a*+m;n$Q;>5k+?p z$CF9X21J7dMZWMbwXrZfm?SvMxzXZxSLX_jr81MnC0pth*Zl&AMx)H{h9&_;X^4)A zQokom5>S)^@m4S`SkL-kmEeRar5|PrPMD?8&|fm4LqW}gQ>}taO@bR-N`p#kBiRo; zLXhxqWSIEz*Q`lR3m6xE_%(eOQ_}*5h6yE&uYPqYfy7?^Qiq5sh?Xd5Du7G)CS}Hk z2_j)T85RHkn*3f;O6dD9*$;|ee?h7N1_s5?za~pdsW3)Pc9615JNI9SMY=~Q=%_+a ziaE#y42oBO!R%hk+{DbFwBV)s3|1bdW1u8(?w5d|f~xud9x27szhpm{B{Dc{Q7~An z@YMDH0xN|xtB%PsY+Asv@Yt`^kpGQGel=+@h~4H`=t8d8zAUd1an7%`j7$IgU%{-TY_7FxFUz7+4^%Dx+j5;{ z*~{2C9i&v3YYx}ODZkb-tN!}GmiejOf5o0(vLDtmtJ;B$1~or;xEd#dl-hEwWm3KO z|IMn#u3zdqbkl;xGz>d_Ss68E{4(DmZ`l6J%E)|&xMADmbJE&csn-9)w0L^Td3yG; ztYu%i`G1oNLsKGSLxn$t^OTytbgovj)eAqSfSEGPd=_ z3>m_O=D*UnGr1)(99qc0!@ZWJQ2^xl70fGHyi+nK^2o~cBy3Z7s`fvZE9{n75{vX4 zv8QwY*K&zfNy_x>n3y{6KPWPb7BB=Qas?b!*fDVhOX>xX;#VR;EUYpd;X9a)1u#Ug z1Ra%#oXEp^jF;iiQ6`5o8YV>Z zEYf1lOp8<)j8x36R_SmrI`v>F52(ES#jeA%muu022dkDe9{>4(gJCW6QlbB0*VxpQ zym^>pbw4N_WpYs3prpjCut*{G^8YO>WAtQ)w=E!iCc`p->R_Z-)!_7>Q(Qxn2 z3Sl0ul`OVgY_bd+k_EGZCW$gM?)ce0Q!qm`-8?%&H7YE8djy*lsC;YO{Ij9qOZ!Z# zKU$z7f8$SOP?^uRmuW3y<9d*tdl?rUjA&d7V#@GrIv8W z6N9yqf)VjRnC#(gw@bM3jU0jWiet0zH=76+!a4P=!F}YSjO5+;Hx@sirK<(V}qQHq~L1uJtDxUcPa@^_3`xQiGkAoCT zBPr&b=npmS{*TEY6-4THKy)dsX8`Hi4pNV7IOjxrsQU9DV{JAmXn?{(lT-Es!^D*+ zdRJiTHGt|p0Mg5YthaF+Nbd}edc~JN6f{A>t;wM{17yM-BT!IqAc?#2f*LlfAQ}{p z{7}#YJAq?jCrGG+6YBO3kZx{dzc$VVDVV{bDEJeurv@a{!Kqjca*`rv^iPH7LT&=7dx%!9dyZ@UOm>MirXj}+#T9YzELx*4| zGo-r&DxcRfJ$?PZaRx}UQ3k`rfFF(1K}5L3e3zv$2&ABcW1{_!2`dDq&&q5(_Z>25@c%n%p0@Y_ z&(ppjJu|o(mwgB2Y2(TAYNGWEzc+C(T6Z)wfLbFUFK|tC`qAhBQaO|3SPcUM!}S+T zZov!_H-XH5!MX79_XX=fxnm`0^ydZVLWLg-)`3$0O3v~hOl(>VjlCcf|5Sin!`XQ6 zJ8T?bp%%!@8C;FcVB7hBfXgrghEA@D>OUG)K$0^#jwOJS&xfBe24WM7fOTV zXK*!^Ox~a-Et3zjf*aY<3;Cc5+9wC7N%(XAXk-Nm%;a!mXLz2$KauT6BO^or-1?lz z{G;(N$d;KL6N^Cf3eLtZgl%6zLNmA;{lHGW`+c&4nn=AT$kJ+LOWo8NCdPx5uHbB( z0QYF4JxJjl3rGMU#M$^jehUVvU!=*mlZChidEOTzCScYX(=NBG{E1zJmi46rLx)Hy#4X&E#0P_50J!|9iN2q(Hd|G)Qw8 zB+mVU|;}c5eWtc1~vwU1_lApfUyGu zh{?df!@$5`z`$VP@WozXb0Y(TgA+ffB~sAv#lEKDi~ZyW+7d<^8otfa( zvu9ucnZ?1t!0_QeNY4jPCWe3Y3=B3b|Lu>k{I?HbnQWyaS8vkF;PC(b|N8&+|Nr;2 ze6hd(-Tpbq3IG3}|Ig6y#a@8nzr8`j7yJFce*a(M2pXjR{{R2~pZ{eVzS!Fz0FB@O zw`Z_mVEFeR|NjB43?QFyFl;#j8aNP8SjY}amTQ?* zH`M>ozhpRE>KV;w#Bnc|?m;4ah#QPCvRJZ-u%e9s+17eON zGee`(3;u)~Erc)gd%U8)&>u9b`?T8kkfBNzLGB zRQTWC`SGbY)%QyP=8@BfxU}-isD6EZy*PNox4 zVN!SzV4%RDkP*P3z@U&QtjjoY-M_{)|Jrx*UR?X{;M#vN+zZ$KTdK`CaV<=E&A)@o z|HVizT>ej0i?MOhzjhj-Oa2|4`!B|N;oN^q)fpGg_;+x| zzXfLw@NhR~fnCJa7}O4CNHw;CX)Y)&)z}Q>&jQhklR@hmf*uVlVweG87EBk zHgQvRWKgUJS+#;mvF@*emVm-s(Z<@p4P62a+M*kp1TSa`POSPnSJ1RAsdHgpO!^s#*C5UjbiKuMrMNueP8Kvlw`!*K&jAh9Vg@E#O+TfHBpAq0!)P!>&aK_5WTp_}j3m>1o{e z$%eN2_24-T4JHL`(KI189%-E})j14?@*q>VI6Mpbe5tJNJ67gK~>cOu8mU>JPXpnWXSv1zyg%YEI~=4gGtzs>#u7c-h#sw>;sFpLFky_gIf6+mKr3)C84*hSu z2hyvQ!Qk^l@h*tj$<*+QS))-wV@g9)lR?L!hF8KCjf&U*C@2dwUi;HNiFMHe#;2AH z>c#vUul(7d)W9RfW6G_tt9hvn!-~cQi&&Qig6PGfPd#7-f#caf=396#p80d|>>r)i z3(x#fUC7|L{mfPzFPqkVxYyknki8hM+|V@y1;s!4(`6 zcmA2Y-a%Y#^PdS*LBRx`p;^H(al@Yps{{-tJYfKjtAe^^9D$SnOn&2_S3m6!8#@ET z!TLXLtPBhc2W$U;I$sP2C;o9`1htF~_WxPf@n^y2MLfI<7B{IHeYfR`ssc<4$uSxxO>6CZOkLp z*z!l@0S7~44M;Dj=w*5){Jb&w&*Zg^dQ3%sCf{|`tyldHZI?I3fmE&Fn3#e#y^@H= z4@Kh#qw%HxK)QRAG8jND2Y;}em>3v%q#Aud>_!)mMI9X9Gv3I4FoZUCJV9bBI3{|a z8RiN#3>MN(eVTG^&GSIylNJ zgeNM4m@7CNU;lDcL`;{-R7T56`9rEQ=PTHA;dUuEWbC18QTWH5!V7 z_?H&U;_*4KM**Zj5G26E%d-ZefEUU=1L1Q1ne1w&AoUY846ng4k>SsTN$}*O!7=gg z@5%LMQuSv+(leNv*6)W#F_Ypah*0Cl-wiVbd^n&{%`_+3@E}O0gIQ^Py@CeFEKO!M zPy#dD4HaL|03EDhw$W<51e$u0{h+u7Bx%9q!_m+T3cXGy#akee8BC2ge>aHD6lhw? z0J8#GP_OtsSa7;Y%dvcz+hD0xj+sU+Op-$s+hz+3rUB~aq z>&)frC;XQEpxFBx)Sl#FlKr4q3TA?8=ZTddeJeN{BY!t^2`DJA7$`A99m~0B0dr$7 z#4K=wLopAeR)a}FmlZsy; zTHGi5SOgmtflRuzpoM1+Bp&iWd^QyZ28KXasP=rgb{?z7=--nsS|kbif|OlaPy*BD z`FpafrM#OXNcb)rj}62yTQHY}CkDc`1aVa#{Xb(B0~%FXv|vG_7D!0Z;I}1sz6<1a zMZw>bS6Qks>HeO4!Lmf+5ope)gSnwwR82yu$3soSqK${ako))K7%NH1jUY)QWd;KS z5wT=OHDN_HW$mXN|Ce%1?z3`IJPwlW;F$RK*Mts%=`&b(BpQ?y6dJxTC zHTk2JcsE;Sk%;b^;bjJ zriLcN1@?vp9S68O3|D}3bTT*20nsx!4A1^Dumq($qYQ?nKmI>6l4+a{lCj`WJn>7x zSU}P1mx8i_)B(`Q5hw{XPJqfD1k1+$n!M0jsXq1VKORmtP}v~a#=tOX0aIfnNZF(e zhJ`gC#tg2;wZA~)5leqT(ZpF-zfv2l+ zE=Xiy22|rrutw8g4V@97bkoT-5$v`VoS@Kvu1r}N16AA$Ry+Y=OYkq%7yrS76RDT} z8wP=tf#S$oRIHg{(*nk)&;LJd_&<4;jRN!1y8n~++Q>)bg4A>{H8gy2=nzya{H4_~ zG4t1ijztYkR~7AkDQGl7vKkv?T^FcQ0OLPr>UJlGKHe>m8nGiXE?{}7oghQ(e-4W~ N2JYNvySG_<0RUkt+A;tD delta 9926 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 delta 9978 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 N)+$na{XAPp761yn+du#S delta 9926 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 Ve(PrOqMW^ybqz!7DHXxEr2vwbVb}lw diff --git a/tools/sdk/include/bootloader_support/bootloader_common.h b/tools/sdk/include/bootloader_support/bootloader_common.h index 194d2769..e884856f 100644 --- a/tools/sdk/include/bootloader_support/bootloader_common.h +++ b/tools/sdk/include/bootloader_support/bootloader_common.h @@ -14,6 +14,7 @@ #pragma once #include "esp_flash_data_types.h" +#include "esp_image_format.h" /// Type of hold a GPIO in low state typedef enum { @@ -92,6 +93,17 @@ bool bootloader_common_label_search(const char *list, char *label); */ esp_err_t bootloader_common_get_sha256_of_partition(uint32_t address, uint32_t size, int type, uint8_t *out_sha_256); +/** + * @brief Check if the image (bootloader and application) has valid chip ID and revision + * + * @param img_hdr: image header + * @return + * - ESP_OK: image and chip are matched well + * - ESP_FAIL: image doesn't match to the chip + */ +esp_err_t bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr); + + /** * @brief Configure VDDSDIO, call this API to rise VDDSDIO to 1.9V when VDDSDIO regulator is enabled as 1.8V mode. */ diff --git a/tools/sdk/include/bootloader_support/esp_efuse.h b/tools/sdk/include/bootloader_support/esp_efuse.h index c094a6ab..047a971a 100644 --- a/tools/sdk/include/bootloader_support/esp_efuse.h +++ b/tools/sdk/include/bootloader_support/esp_efuse.h @@ -91,6 +91,13 @@ esp_err_t esp_efuse_apply_34_encoding(const uint8_t *in_bytes, uint32_t *out_wor */ void esp_efuse_write_random_key(uint32_t blk_wdata0_reg); +/** + * @brief Returns chip version from efuse + * + * @return chip version + */ +uint8_t esp_efuse_get_chip_ver(void); + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/bootloader_support/esp_image_format.h b/tools/sdk/include/bootloader_support/esp_image_format.h index bce3b1d7..0e2bb528 100644 --- a/tools/sdk/include/bootloader_support/esp_image_format.h +++ b/tools/sdk/include/bootloader_support/esp_image_format.h @@ -55,6 +55,19 @@ typedef enum { #define ESP_IMAGE_HEADER_MAGIC 0xE9 +/** + * @brief ESP chip ID + * + */ +typedef enum { + ESP_CHIP_ID_ESP32 = 0x0000, /*!< chip ID: ESP32 */ + ESP_CHIP_ID_INVALID = 0xFFFF /*!< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size) */ +} __attribute__((packed)) esp_chip_id_t; + +/** @cond */ +_Static_assert(sizeof(esp_chip_id_t) == 2, "esp_chip_id_t should be 16 bit"); + + /* Main header of binary image */ typedef struct { uint8_t magic; @@ -71,8 +84,12 @@ typedef struct { uint8_t wp_pin; /* Drive settings for the SPI flash pins (read by ROM bootloader) */ uint8_t spi_pin_drv[3]; - /* Reserved bytes in ESP32 additional header space, currently unused */ - uint8_t reserved[11]; + /*!< Chip identification number */ + esp_chip_id_t chip_id; + /*!< Minimum chip revision supported by image */ + uint8_t min_chip_rev; + /*!< Reserved bytes in additional header space, currently unused */ + uint8_t reserved[8]; /* If 1, a SHA256 digest "simple hash" (of the entire image) is appended after the checksum. Included in image length. This digest * is separate to secure boot and only used for detecting corruption. For secure boot signed images, the signature * is appended after this (and the simple hash is included in the signed data). */ diff --git a/tools/sdk/include/config/sdkconfig.h b/tools/sdk/include/config/sdkconfig.h index 6d6152bc..444fb1a6 100644 --- a/tools/sdk/include/config/sdkconfig.h +++ b/tools/sdk/include/config/sdkconfig.h @@ -75,6 +75,7 @@ #define CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED 1 #define CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED 1 #define CONFIG_CAMERA_CORE1 1 +#define CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL 5 #define CONFIG_MB_SERIAL_BUF_SIZE 256 #define CONFIG_CONSOLE_UART_BAUDRATE 115200 #define CONFIG_SPIRAM_SUPPORT 1 @@ -153,8 +154,10 @@ #define CONFIG_ADC2_DISABLE_DAC 1 #define CONFIG_HFP_ENABLE 1 #define CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM 100 +#define CONFIG_ESP32_REV_MIN_0 1 #define CONFIG_LOG_DEFAULT_LEVEL 1 #define CONFIG_TIMER_QUEUE_LENGTH 10 +#define CONFIG_ESP32_REV_MIN 0 #define CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT 1 #define CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE 0 #define CONFIG_MAKE_WARN_UNDEFINED_VARIABLES 1 @@ -295,6 +298,7 @@ #define CONFIG_REDUCE_PHY_TX_POWER 1 #define CONFIG_BOOTLOADER_WDT_TIME_MS 9000 #define CONFIG_FREERTOS_CORETIMER_0 1 +#define CONFIG_IDF_FIRMWARE_CHIP_ID 0x0000 #define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv" #define CONFIG_MBEDTLS_HAVE_TIME 1 #define CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY 1 @@ -336,6 +340,7 @@ #define CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE 1 #define CONFIG_SPIFFS_PAGE_SIZE 256 #define CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED 1 +#define CONFIG_ESP32_DPORT_WORKAROUND 1 #define CONFIG_PPP_MSCHAP_SUPPORT 1 #define CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 1 #define CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT 2048 @@ -355,3 +360,5 @@ #define CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR 1 #define CONFIG_ESP32_WIFI_IRAM_OPT 1 #define CONFIG_FATFS_API_ENCODING_ANSI_OEM 1 +#define CONFIG_ARDUINO_IDF_COMMIT "d3e562907" +#define CONFIG_ARDUINO_IDF_BRANCH "release/v3.2" diff --git a/tools/sdk/include/esp-face/dl_lib_matrix3d.h b/tools/sdk/include/esp-face/dl_lib_matrix3d.h index 82e671f8..4de26b42 100644 --- a/tools/sdk/include/esp-face/dl_lib_matrix3d.h +++ b/tools/sdk/include/esp-face/dl_lib_matrix3d.h @@ -27,24 +27,22 @@ typedef enum */ typedef struct { - /******* fix start *******/ - int w; // Width - int h; // Height - int c; // Channel - int n; // Number, to record filter's out_channels. input and output must be 1 - int stride; - fptp_t *item; - /******* fix end *******/ + int w; /*!< Width */ + int h; /*!< Height */ + int c; /*!< Channel */ + int n; /*!< Number of filter, input and output must be 1 */ + int stride; /*!< Step between lines */ + fptp_t *item; /*!< Data */ } dl_matrix3d_t; typedef struct { - int w; // Width - int h; // Height - int c; // Channel - int n; // Number, to record filter's out_channels. input and output must be 1 - int stride; - uc_t *item; + int w; /*!< Width */ + int h; /*!< Height */ + int c; /*!< Channel */ + int n; /*!< Number of filter, input and output must be 1 */ + int stride; /*!< Step between lines */ + uc_t *item; /*!< Data */ } dl_matrix3du_t; typedef struct diff --git a/tools/sdk/include/esp-face/dl_lib_matrix3dq.h b/tools/sdk/include/esp-face/dl_lib_matrix3dq.h index 31da2c05..57e5e92c 100644 --- a/tools/sdk/include/esp-face/dl_lib_matrix3dq.h +++ b/tools/sdk/include/esp-face/dl_lib_matrix3dq.h @@ -3,20 +3,21 @@ typedef int16_t qtp_t; -/* - * Matrix for 3d - * @Warning: the sequence of variables is fixed, cannot be modified, otherwise there will be errors in esp_dsp_dot_float +/** + * Matrix for input, filter, and output + * @Warning: the sequence of variables is fixed, cannot be modified, otherwise there will be errors in + * some handwrite xtensa instruction functions */ typedef struct { /******* fix start *******/ - int w; // Width - int h; // Height - int c; // Channel - int n; // Number, to record filter's out_channels. input and output must be 1 - int stride; - int exponent; - qtp_t *item; + int w; /*!< Width */ + int h; /*!< Height */ + int c; /*!< Channel */ + int n; /*!< Number of filter, input and output must be 1 */ + int stride; /*!< Step between lines */ + int exponent; /*!< Exponent for quantization */ + qtp_t *item; /*!< Data */ /******* fix end *******/ } dl_matrix3dq_t; @@ -32,21 +33,28 @@ typedef struct #define DL_SHIFT_AUTO 32 #endif +/** + * Implementation of matrix relative operations + */ typedef enum { - DL_C_IMPL = 0, - DL_XTENSA_IMPL = 1 + DL_C_IMPL = 0, /*!< ANSI C */ + DL_XTENSA_IMPL = 1 /*!< Handwrite xtensa instruction */ } dl_conv_mode; + +/** + * Configuration of mobilenet operation + */ typedef struct { - int stride_x; - int stride_y; - dl_padding_type padding; - dl_conv_mode mode; - int dilate_exponent; - int depthwise_exponent; - int compress_exponent; + int stride_x; /*!< Strides of width */ + int stride_y; /*!< Strides of height */ + dl_padding_type padding; /*!< Padding type */ + dl_conv_mode mode; /*!< Implementation mode */ + int dilate_exponent; /*!< Exponent of dilation filter */ + int depthwise_exponent; /*!< Exponent of depthwise filter */ + int compress_exponent; /*!< Exponent of compress filter */ } dl_matrix3dq_mobilenet_config_t; // @@ -54,75 +62,166 @@ typedef struct // /* - * @brief Allocate a 3D matrix + * @brief Allocate a 3d quantised matrix * - * @param n,w,h,c number, width, height, channel - * @return 3d matrix + * @param n Number of filters, for input and output, should be 1 + * @param w Width of matrix + * @param h Height of matrix + * @param c Channel of matrix + * @param e Exponent of matrix data + * @return 3d quantized matrix */ dl_matrix3dq_t *dl_matrix3dq_alloc(int n, int w, int h, int c, int e); /* - * @brief Free a 3D matrix + * @brief Free a 3d quantized matrix * - * @param m matrix + * @param m 3d quantised matrix */ void dl_matrix3dq_free(dl_matrix3dq_t *m); -/** - * @brief Zero out the matrix - * Sets all entries in the matrix to 0. - * - * @param m Matrix to zero - */ - /** * @brief Copy a range of items from an existing matrix to a preallocated matrix * - * @param in Old matrix (with foreign data) to re-use. Passing NULL will allocate a new matrix. + * @param dst The resulting slice matrix + * @param src Old matrix to slice. * @param x X-offset of the origin of the returned matrix within the sliced matrix * @param y Y-offset of the origin of the returned matrix within the sliced matrix * @param w Width of the resulting matrix * @param h Height of the resulting matrix - * @return The resulting slice matrix */ void dl_matrix3dq_slice_copy(dl_matrix3dq_t *dst, dl_matrix3dq_t *src, int x, int y, int w, int h); +/** + * @brief Transform a fixed point matrix to a float point matrix + * + * @param m Quantized matrix + * @return Float point matrix + */ dl_matrix3d_t *dl_matrix3d_from_matrixq(dl_matrix3dq_t *m); +/** + * @brief Transform a float point matrix to a fixed point matrix with pre-defined exponent + * + * @param m Float point matrix + * @param exponent Exponent for resulting matrix + * @return Fixed point matrix + */ dl_matrix3dq_t *dl_matrixq_from_matrix3d_qmf(dl_matrix3d_t *m, int exponent); +/** + * @brief Transform a float point matrix to a fixed point matrix. The exponent is defined by the distribution of the input matrix. + * + * @param m Float point matrix + * @return Fixed point matrix + */ dl_matrix3dq_t *dl_matrixq_from_matrix3d(dl_matrix3d_t *m); qtp_t dl_matrix3dq_quant_range_exceeded_checking(int64_t value, char *location); +/** + * @brief Reform a quantized matrix with exponent + * + * @param out Preallocated resulting matrix + * @param in Input matrix + * @param exponent Exponent for resulting matrix + */ void dl_matrix3dq_shift_exponent(dl_matrix3dq_t *out, dl_matrix3dq_t *in, int exponent); +/** + * @brief Do batch normalization for a quantized matrix + * + * @param m Input and output quantized matrix, data will be updated + * @param scale Scale of batch-norm + * @param offset Offset of batch-norm + */ void dl_matrix3dq_batch_normalize(dl_matrix3dq_t *m, dl_matrix3dq_t *scale, dl_matrix3dq_t *offset); +/** + * @brief Add two quantized matrix with a pre-defined exponent + * + * @param in_1 Adder 1 + * @param in_2 Adder 2 + * @param exponent Exponent for resulting matrix + * @return Result of accumulation of two matrix + */ dl_matrix3dq_t *dl_matrix3dq_add(dl_matrix3dq_t *in_1, dl_matrix3dq_t *in_2, int exponent); // // Activation // +/** + * @brief Do relu for a quantized matrix + * + * @param in Input and output quantized matrix, data will be updated + */ void dl_matrix3dq_relu(dl_matrix3dq_t *in); +/** + * @brief Do relu with clips for a quantized matrix + * + * @param in Input and output quantized matrix, data will be updated + * @param clip Float point value to limit the maximum data + */ void dl_matrix3dq_relu_clip(dl_matrix3dq_t *in, fptp_t clip); +/** + * @brief Do leaky relu for a quantized matrix + * + * @param in Input and output quantized matrix, data will be updated + * @param alpha Float point value to multiply for those less than zero + * @param clip Float point value to limit the maximum data + */ void dl_matrix3dq_leaky_relu(dl_matrix3dq_t *in, fptp_t alpha, fptp_t clip); +/** + * @brief Do prelu for a quantized matrix + * + * @param in Input and output quantized matrix, data will be updated + * @param alpha Quantized matrix to multiply for those less than zero + */ void dl_matrix3dq_p_relu(dl_matrix3dq_t *in, dl_matrix3dq_t *alpha); // // Concat // +/** + * @brief Concatenate two quantized matrix in channel + * + * @param in_1 Quantized matrix to be concatenated + * @param in_2 Quantized matrix to be concatenated + * @return Quantized matrix with the same width and height of in_1 and in_2, and with the sum of channel number of in_1 and in_2 + */ dl_matrix3dq_t *dl_matrix3dq_concat(dl_matrix3dq_t *in_1, dl_matrix3dq_t *in_2); +/** + * @brief Concatenate four quantized matrix in channel + * + * @param in_1 Quantized matrix to be concatenated + * @param in_2 Quantized matrix to be concatenated + * @param in_3 Quantized matrix to be concatenated + * @param in_4 Quantized matrix to be concatenated + * @return Quantized matrix with the same width and height of all inputs, and with the sum of channel number of all inputs + */ dl_matrix3dq_t *dl_matrix3dq_concat_4(dl_matrix3dq_t *in_1, dl_matrix3dq_t *in_2, dl_matrix3dq_t *in_3, dl_matrix3dq_t *in_4); +/** + * @brief Concatenate four quantized matrix in channel + * + * @param in_1 Quantized matrix to be concatenated + * @param in_2 Quantized matrix to be concatenated + * @param in_3 Quantized matrix to be concatenated + * @param in_4 Quantized matrix to be concatenated + * @param in_5 Quantized matrix to be concatenated + * @param in_6 Quantized matrix to be concatenated + * @param in_7 Quantized matrix to be concatenated + * @param in_8 Quantized matrix to be concatenated + * @return Quantized matrix with the same width and height of all inputs, and with the sum of channel number of all inputs + */ dl_matrix3dq_t *dl_matrix3dq_concat_8(dl_matrix3dq_t *in_1, dl_matrix3dq_t *in_2, dl_matrix3dq_t *in_3, @@ -135,16 +234,42 @@ dl_matrix3dq_t *dl_matrix3dq_concat_8(dl_matrix3dq_t *in_1, // // Conv 1x1 // +/** + * @brief Do 1x1 convolution with a quantized matrix + * + * @param out Preallocated quantized matrix, size (1, w, h, n) + * @param in Input matrix, size (1, w, h, c) + * @param filter 1x1 filter, size (n, 1, 1, c) + * @param mode Implementation mode + */ void dl_matrix3dqq_conv_1x1(dl_matrix3dq_t *out, dl_matrix3dq_t *in, dl_matrix3dq_t *filter, dl_conv_mode mode); +/** + * @brief Do 1x1 convolution with a quantized matrix, with relu activation + * + * @param out Preallocated quantized matrix, size (1, w, h, n) + * @param in Input matrix, size (1, w, h, c) + * @param filter 1x1 filter, size (n, 1, 1, c) + * @param mode Implementation mode + */ void dl_matrix3dqq_conv_1x1_with_relu(dl_matrix3dq_t *out, dl_matrix3dq_t *in, dl_matrix3dq_t *filter, dl_conv_mode mode); +/** + * @brief Do 1x1 convolution with a quantized matrix, with bias adding + * + * @param out Preallocated quantized matrix, size (1, w, h, n) + * @param in Input matrix, size (1, w, h, c) + * @param filter 1x1 filter, size (n, 1, 1, c) + * @param bias Bias, size (1, 1, 1, n) + * @param mode Implementation mode + * @param name Layer name to debug + */ void dl_matrix3dqq_conv_1x1_with_bias(dl_matrix3dq_t *out, dl_matrix3dq_t *in, dl_matrix3dq_t *filter, @@ -152,23 +277,49 @@ void dl_matrix3dqq_conv_1x1_with_bias(dl_matrix3dq_t *out, dl_conv_mode mode, char *name); -void dl_matrix3dqq_conv_1x1_with_prelu(dl_matrix3dq_t *out, - dl_matrix3dq_t *in, - dl_matrix3dq_t *filter, - dl_matrix3dq_t *prelu, - dl_conv_mode mode); - +/** + * @brief Do 1x1 convolution with a quantized matrix, with bias adding and relu activation + * + * @param out Preallocated quantized matrix, size (1, w, h, n) + * @param in Input matrix, size (1, w, h, c) + * @param filter 1x1 filter, size (n, 1, 1, c) + * @param bias Bias, size (1, 1, 1, n) + * @param mode Implementation mode + */ void dl_matrix3dqq_conv_1x1_with_bias_relu(dl_matrix3dq_t *out, dl_matrix3dq_t *in, dl_matrix3dq_t *filter, dl_matrix3dq_t *bias, dl_conv_mode mode); +void dl_matrix3dqq_conv_1x1_with_prelu(dl_matrix3dq_t *out, + dl_matrix3dq_t *in, + dl_matrix3dq_t *filter, + dl_matrix3dq_t *prelu, + dl_conv_mode mode); + +/** + * @brief Do 1x1 convolution with an 8-bit fixed point matrix + * + * @param out Preallocated quantized matrix, size (1, w, h, n) + * @param in Input matrix, size (1, w, h, c) + * @param filter 1x1 filter, size (n, 1, 1, c) + * @param mode Implementation mode + */ void dl_matrix3duq_conv_1x1(dl_matrix3dq_t *out, dl_matrix3du_t *in, dl_matrix3dq_t *filter, dl_conv_mode mode); +/** + * @brief Do 1x1 convolution with an 8-bit fixed point matrix, with bias adding + * + * @param out Preallocated quantized matrix, size (1, w, h, n) + * @param in Input matrix, size (1, w, h, c) + * @param filter 1x1 filter, size (n, 1, 1, c) + * @param bias Bias, size (1, 1, 1, n) + * @param mode Implementation mode + */ void dl_matrix3duq_conv_1x1_with_bias(dl_matrix3dq_t *out, dl_matrix3du_t *in, dl_matrix3dq_t *filter, @@ -178,12 +329,32 @@ void dl_matrix3duq_conv_1x1_with_bias(dl_matrix3dq_t *out, // // Conv 3x3 // +/** + * @brief Do 3x3 convolution basic operation with a quantized matrix + * + * @param out Preallocated quantized matrix + * @param in Input matrix, size (1, w, h, c) + * @param filter 3x3 filter, size (n, 3, 3, c) + * @param stride_x Stride of width + * @param stride_y Stride of height + */ void dl_matrix3dqq_conv_3x3_op(dl_matrix3dq_t *out, dl_matrix3dq_t *in, - dl_matrix3dq_t *f, + dl_matrix3dq_t *filter, int stride_x, int stride_y); +/** + * @brief Do 3x3 convolution with a quantized matrix + * + * @param in Input matrix, size (1, w, h, c) + * @param filter 3x3 filter, size (n, 3, 3, c) + * @param stride_x Stride of width + * @param stride_y Stride of height + * @param padding Padding type, 0: valid, 1: same + * @param exponent Exponent for resulting matrix + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3dqq_conv_3x3(dl_matrix3dq_t *in, dl_matrix3dq_t *filter, int stride_x, @@ -191,6 +362,18 @@ dl_matrix3dq_t *dl_matrix3dqq_conv_3x3(dl_matrix3dq_t *in, dl_padding_type padding, int exponent); +/** + * @brief Do 3x3 convolution with a quantized matrix, with bias adding + * + * @param in Input matrix, size (1, w, h, c) + * @param filter 3x3 filter, size (n, 3, 3, c) + * @param bias Bias, size (1, 1, 1, n) + * @param stride_x Stride of width + * @param stride_y Stride of height + * @param padding Padding type, 0: valid, 1: same + * @param exponent Exponent for resulting matrix + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3dqq_conv_3x3_with_bias(dl_matrix3dq_t *in, dl_matrix3dq_t *f, dl_matrix3dq_t *bias, @@ -224,7 +407,7 @@ dl_matrix3dq_t *dl_matrix3duq_conv_3x3_with_bias_prelu(dl_matrix3du_t *in, // /** - * @brief Do a general CNN layer pass, dimension is (number, width, height, channel) + * @brief Do a general convolution layer pass, size is (number, width, height, channel) * * @param in Input image * @param filter Weights of the neurons @@ -245,6 +428,19 @@ dl_matrix3dq_t *dl_matrix3dqq_conv_common(dl_matrix3dq_t *in, int exponent, dl_conv_mode mode); +/** + * @brief Do a general convolution layer pass for an 8-bit fixed point matrix, size is (number, width, height, channel) + * + * @param in Input image + * @param filter Weights of the neurons + * @param bias Bias for the CNN layer. + * @param stride_x The step length of the convolution window in x(width) direction + * @param stride_y The step length of the convolution window in y(height) direction + * @param padding One of VALID or SAME + * @param mode Do convolution using C implement or xtensa implement, 0 or 1, with respect. + * If ESP_PLATFORM is not defined, this value is not used. + * @return The result of CNN layer. + */ dl_matrix3dq_t *dl_matrix3duq_conv_common(dl_matrix3du_t *in, dl_matrix3dq_t *filter, dl_matrix3dq_t *bias, @@ -257,6 +453,17 @@ dl_matrix3dq_t *dl_matrix3duq_conv_common(dl_matrix3du_t *in, // // Depthwise 3x3 // +/** + * @brief Do 3x3 depthwise convolution with an 8-bit fixed point matrix + * + * @param in Input matrix, size (1, w, h, c) + * @param filter 3x3 filter, size (1, 3, 3, c) + * @param stride_x Stride of width + * @param stride_y Stride of height + * @param padding Padding type, 0: valid, 1: same + * @param exponent Exponent for resulting matrix + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3duq_depthwise_conv_3x3(dl_matrix3du_t *in, dl_matrix3dq_t *filter, int stride_x, @@ -264,6 +471,17 @@ dl_matrix3dq_t *dl_matrix3duq_depthwise_conv_3x3(dl_matrix3du_t *in, dl_padding_type padding, int exponent); +/** + * @brief Do 3x3 depthwise convolution with a quantized matrix + * + * @param in Input matrix, size (1, w, h, c) + * @param filter 3x3 filter, size (1, 3, 3, c) + * @param stride_x Stride of width + * @param stride_y Stride of height + * @param padding Padding type, 0: valid, 1: same + * @param exponent Exponent for resulting matrix + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3dqq_depthwise_conv_3x3(dl_matrix3dq_t *in, dl_matrix3dq_t *filter, int stride_x, @@ -287,14 +505,45 @@ dl_matrix3dq_t *dl_matrix3dqq_depthwise_conv_3x3_3(dl_matrix3dq_t *in, int exponent); #endif +/** + * @brief Do 3x3 depthwise convolution with a quantized matrix, with bias adding + * + * @param in Input matrix, size (1, w, h, c) + * @param filter 3x3 filter, size (1, 3, 3, c) + * @param bias Bias, size (1, 1, 1, c) + * @param stride_x Stride of width + * @param stride_y Stride of height + * @param padding Padding type, 0: valid, 1: same + * @param exponent Exponent for resulting matrix + * @param relu Whether to use relu activation + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3dqq_depthwise_conv_3x3_with_bias(dl_matrix3dq_t *in, - dl_matrix3dq_t *f, - dl_matrix3dq_t *bias, - int stride_x, - int stride_y, - dl_padding_type padding, - int exponent, - int relu); + dl_matrix3dq_t *f, + dl_matrix3dq_t *bias, + int stride_x, + int stride_y, + dl_padding_type padding, + int exponent, + int relu); + +/** + * @brief Do 3x3 depthwise convolution with a quantized matrix, with bias adding and stride 1 + * + * @param in Input matrix, size (1, w, h, c) + * @param filter 3x3 filter, size (1, 3, 3, c) + * @param bias Bias, size (1, 1, 1, n) + * @param padding Padding type, 0: valid, 1: same + * @param exponent Exponent for resulting matrix + * @param relu Whether to use relu activation + * @return Resulting quantized matrix + */ +dl_matrix3dq_t *dl_matrix3dqq_depthwise_conv_3x3s1_with_bias(dl_matrix3dq_t *in, + dl_matrix3dq_t *f, + dl_matrix3dq_t *bias, + dl_padding_type padding, + int exponent, + int relu); dl_matrix3dq_t *dl_matrix3dqq_depthwise_conv_3x3_with_prelu(dl_matrix3dq_t *in, dl_matrix3dq_t *filter, @@ -304,12 +553,6 @@ dl_matrix3dq_t *dl_matrix3dqq_depthwise_conv_3x3_with_prelu(dl_matrix3dq_t *in, dl_padding_type padding, int exponent); -dl_matrix3dq_t *dl_matrix3dqq_depthwise_conv_3x3s1_with_bias(dl_matrix3dq_t *in, - dl_matrix3dq_t *f, - dl_matrix3dq_t *bias, - dl_padding_type padding, - int exponent, - int relu); // // Depthwise Common @@ -344,12 +587,28 @@ void dl_matrix3dqq_dot_product(dl_matrix3dq_t *out, // // FC // - +/** + * @brief Do fully connected layer forward. + * + * @param out Preallocated resulting matrix, size (1, 1, 1, h) + * @param in Input matrix, size (1, 1, 1, w) + * @param filter Filter matrix, size (1, w, h, 1) + * @param mode Implementation mode + */ void dl_matrix3dqq_fc(dl_matrix3dq_t *out, dl_matrix3dq_t *in, dl_matrix3dq_t *filter, dl_conv_mode mode); +/** + * @brief Do fully connected layer forward, with bias adding + * + * @param out Preallocated resulting matrix, size (1, 1, 1, h) + * @param in Input matrix, size (1, 1, 1, w) + * @param filter Filter matrix, size (1, w, h, 1) + * @param bias Bias matrix, size (1, 1, 1, h) + * @param mode Implementation mode + */ void dl_matrix3dqq_fc_with_bias(dl_matrix3dq_t *out, dl_matrix3dq_t *in, dl_matrix3dq_t *filter, @@ -360,7 +619,28 @@ void dl_matrix3dqq_fc_with_bias(dl_matrix3dq_t *out, // // Mobilefaceblock // - +/** + * @brief Do mobilefacenet process with splited pointwise 1x1 convolution, the process sequence is 1x1 pointwise->bn->relu->3x3 depthwise->bn->relu->1x1 pointwise->bn + * + * @param in Input matrix, size (1, w, h, c) + * @param pw_1 Pointwise 1x1 filter, size (n1/2, 1, 1, c) + * @param pw_2 Pointwise 1x1 filter, size (n1/2, 1, 1, c) + * @param pw_bias Pointwise bias, size (1, 1, 1, n1) + * @param dw Depthwise 3x3 filter, size (1, 3, 3, n1) + * @param dw_bias Depthwise bias, size (1, 1, 1, n1) + * @param pw_linear_1 Pointwise 1x1 filter, size (n2/2, 1, 1, n1) + * @param pw_linear_2 Pointwise 1x1 filter, size (n2/2, 1, 1, n1) + * @param pw_linear_bias Pointwise bias, size (1, 1, 1, n2) + * @param pw_exponent Exponent for pointwise resulting matrix + * @param dw_exponent Exponent for depthwise resulting matrix + * @param pw_linear_exponent Exponent for pointwise resulting matrix + * @param stride_x Stride of width + * @param stride_y Stride of height + * @param padding Padding type, 0: valid, 1: same + * @param mode Implementation mode + * @param shortcut Whether has a shortcut at pointwise linear + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3dqq_mobilefaceblock_split(dl_matrix3dq_t *in, dl_matrix3dq_t *pw_1, dl_matrix3dq_t *pw_2, @@ -379,6 +659,26 @@ dl_matrix3dq_t *dl_matrix3dqq_mobilefaceblock_split(dl_matrix3dq_t *in, dl_conv_mode mode, int shortcut); +/** + * @brief Do mobilefacenet process, the process sequence is 1x1 pointwise->bn->relu->3x3 depthwise->bn->relu->1x1 pointwise->bn + * + * @param in Input matrix, size (1, w, h, c) + * @param pw Pointwise 1x1 filter, size (n1, 1, 1, c) + * @param pw_bias Pointwise bias, size (1, 1, 1, n1) + * @param dw Depthwise 3x3 filter, size (1, 3, 3, n1) + * @param dw_bias Depthwise bias, size (1, 1, 1, n1) + * @param pw_linear Pointwise 1x1 filter, size (n2, 1, 1, n1) + * @param pw_linear_bias Pointwise bias, size (1, 1, 1, n2) + * @param pw_exponent Exponent for pointwise resulting matrix + * @param dw_exponent Exponent for depthwise resulting matrix + * @param pw_linear_exponent Exponent for pointwise resulting matrix + * @param stride_x Stride of width + * @param stride_y Stride of height + * @param padding Padding type, 0: valid, 1: same + * @param mode Implementation mode + * @param shortcut Whether has a shortcut at pointwise linear + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3dqq_mobilefaceblock(dl_matrix3dq_t *in, dl_matrix3dq_t *pw, dl_matrix3dq_t *pw_bias, @@ -399,6 +699,19 @@ dl_matrix3dq_t *dl_matrix3dqq_mobilefaceblock(dl_matrix3dq_t *in, // Mobilenet // +/** + * @brief Do mobilenet process, the process sequence is 1x1 dilated->prelu->3x3 depthwise->prelu->1x1 compress->bias + * + * @param in Input matrix, size (1, w, h, c) + * @param dilate Pointwise 1x1 filter, size (n1, 1, 1, c) + * @param dilate_prelu Pointwise prelu, size (1, 1, 1, n1) + * @param depthwise Depthwise 3x3 filter, size (1, 3, 3, n1) + * @param depthwise_prelu Depthwise prelu, size (1, 1, 1, n1) + * @param compress Pointwise 1x1 filter, size (n2, 1, 1, n1) + * @param bias Pointwise bias, size (1, 1, 1, n2) + * @param config Mobilenet configuration + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3dqq_mobilenet(dl_matrix3dq_t *in, dl_matrix3dq_t *dilate, dl_matrix3dq_t *dilate_prelu, @@ -409,6 +722,19 @@ dl_matrix3dq_t *dl_matrix3dqq_mobilenet(dl_matrix3dq_t *in, dl_matrix3dq_mobilenet_config_t config, char *name); +/** + * @brief Do mobilenet process, the process sequence is 1x1 dilated->prelu->3x3 depthwise->prelu->1x1 compress->bias + * + * @param in Input matrix, 8-bit fixed point, size (1, w, h, c) + * @param dilate Pointwise 1x1 filter, size (n1, 1, 1, c) + * @param dilate_prelu Pointwise prelu, size (1, 1, 1, n1) + * @param depthwise Depthwise 3x3 filter, size (1, 3, 3, n1) + * @param depthwise_prelu Depthwise prelu, size (1, 1, 1, n1) + * @param compress Pointwise 1x1 filter, size (n2, 1, 1, n1) + * @param bias Pointwise bias, size (1, 1, 1, n2) + * @param config Mobilenet configuration + * @return Resulting quantized matrix + */ dl_matrix3dq_t *dl_matrix3duq_mobilenet(dl_matrix3du_t *in, dl_matrix3dq_t *dilate, dl_matrix3dq_t *dilate_prelu, @@ -444,5 +770,10 @@ dl_error_type dl_matrix3duq_padding(dl_matrix3du_t **padded_in, // // Pooling // - +/** + * @brief Calculate average value of a feature map + * + * @param in Input matrix, size (1, w, h, c) + * @return Resulting matrix, size (1, 1, 1, c) + */ dl_matrix3dq_t *dl_matrix3dq_global_pool(dl_matrix3dq_t *in); diff --git a/tools/sdk/include/esp-face/frmn.h b/tools/sdk/include/esp-face/frmn.h index afdd253a..171f69ad 100644 --- a/tools/sdk/include/esp-face/frmn.h +++ b/tools/sdk/include/esp-face/frmn.h @@ -9,23 +9,47 @@ extern "C" #include "dl_lib_matrix3dq.h" /** - * @brief - * - * @param in - * @return dl_matrix3d_t* + * @brief Forward the face recognition process with frmn model. Calculate in float. + * + * @param in Image matrix, rgb888 format, size is 56x56, normalized + * @return dl_matrix3d_t* Face ID feature vector, size is 512 */ dl_matrix3d_t *frmn(dl_matrix3d_t *in); /** - * @brief - * - * @param in - * @return dl_matrix3dq_t* + * @brief Forward the face recognition process with frmn model. Calculate in quantization. + * + * @param in Image matrix, rgb888 format, size is 56x56, normalized + * @param mode 0: C implement; 1: handwrite xtensa instruction implement + * @return Face ID feature vector, size is 512 */ dl_matrix3dq_t *frmn_q(dl_matrix3dq_t *in, dl_conv_mode mode); + /** + * @brief Forward the face recognition process with frmn2 model. Calculate in quantization. + * + * @param in Image matrix, rgb888 format, size is 56x56, normalized + * @param mode 0: C implement; 1: handwrite xtensa instruction implement + * @return Face ID feature vector, size is 512 + */ dl_matrix3dq_t *frmn2_q(dl_matrix3dq_t *in, dl_conv_mode mode); + + /** + * @brief Forward the face recognition process with frmn2p model. Calculate in quantization. + * + * @param in Image matrix, rgb888 format, size is 56x56, normalized + * @param mode 0: C implement; 1: handwrite xtensa instruction implement + * @return Face ID feature vector, size is 512 + */ dl_matrix3dq_t *frmn2p_q(dl_matrix3dq_t *in, dl_conv_mode mode); + + /** + * @brief Forward the face recognition process with frmn2c model. Calculate in quantization. + * + * @param in Image matrix, rgb888 format, size is 56x56, normalized + * @param mode 0: C implement; 1: handwrite xtensa instruction implement + * @return Face ID feature vector, size is 512 + */ dl_matrix3dq_t *frmn2c_q(dl_matrix3dq_t *in, dl_conv_mode mode); #if __cplusplus diff --git a/tools/sdk/include/esp-face/mtmn.h b/tools/sdk/include/esp-face/mtmn.h index 144a5b97..609a82ea 100644 --- a/tools/sdk/include/esp-face/mtmn.h +++ b/tools/sdk/include/esp-face/mtmn.h @@ -30,18 +30,33 @@ extern "C" #include "dl_lib_matrix3d.h" #include "dl_lib_matrix3dq.h" + /** + * Detection results with MTMN. + * + */ typedef struct { - dl_matrix3d_t *category; - dl_matrix3d_t *offset; - dl_matrix3d_t *landmark; + dl_matrix3d_t *category; /*!< Classification result after softmax, channel is 2 */ + dl_matrix3d_t *offset; /*!< Bounding box offset of 2 points: top-left and bottom-right, channel is 4 */ + dl_matrix3d_t *landmark; /*!< Offsets of 5 landmarks: + * - Left eye + * - Mouth leftside + * - Nose + * - Right eye + * - Mouth rightside + * + * channel is 10 + * */ } mtmn_net_t; + /** * @brief Free a mtmn_net_t * * @param p A mtmn_net_t pointer + * */ + void mtmn_net_t_free(mtmn_net_t *p); /** diff --git a/tools/sdk/include/esp32/esp_dport_access.h b/tools/sdk/include/esp32/esp_dport_access.h index adbb8282..8ea60c4c 100644 --- a/tools/sdk/include/esp32/esp_dport_access.h +++ b/tools/sdk/include/esp32/esp_dport_access.h @@ -33,7 +33,7 @@ uint32_t esp_dport_access_sequence_reg_read(uint32_t reg); //only call in case of panic(). void esp_dport_access_int_abort(void); -#if defined(BOOTLOADER_BUILD) || defined(CONFIG_FREERTOS_UNICORE) || !defined(ESP_PLATFORM) +#if defined(BOOTLOADER_BUILD) || !defined(CONFIG_ESP32_DPORT_WORKAROUND) || !defined(ESP_PLATFORM) #define DPORT_STALL_OTHER_CPU_START() #define DPORT_STALL_OTHER_CPU_END() #define DPORT_INTERRUPT_DISABLE() @@ -41,7 +41,7 @@ void esp_dport_access_int_abort(void); #else #define DPORT_STALL_OTHER_CPU_START() esp_dport_access_stall_other_cpu_start() #define DPORT_STALL_OTHER_CPU_END() esp_dport_access_stall_other_cpu_end() -#define DPORT_INTERRUPT_DISABLE() unsigned int intLvl = XTOS_SET_INTLEVEL(XCHAL_EXCM_LEVEL) +#define DPORT_INTERRUPT_DISABLE() unsigned int intLvl = XTOS_SET_INTLEVEL(CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL) #define DPORT_INTERRUPT_RESTORE() XTOS_RESTORE_JUST_INTLEVEL(intLvl) #endif diff --git a/tools/sdk/include/json/cJSON.h b/tools/sdk/include/json/cJSON.h index 52101e11..592986b8 100644 --- a/tools/sdk/include/json/cJSON.h +++ b/tools/sdk/include/json/cJSON.h @@ -28,10 +28,60 @@ extern "C" { #endif +#if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32)) +#define __WINDOWS__ +#endif + +#ifdef __WINDOWS__ + +/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 3 define options: + +CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols +CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default) +CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol + +For *nix builds that support visibility attribute, you can define similar behavior by + +setting default visibility to hidden by adding +-fvisibility=hidden (for gcc) +or +-xldscope=hidden (for sun cc) +to CFLAGS + +then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJSON_EXPORT_SYMBOLS does + +*/ + +#define CJSON_CDECL __cdecl +#define CJSON_STDCALL __stdcall + +/* export symbols by default, this is necessary for copy pasting the C and header file */ +#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS) +#define CJSON_EXPORT_SYMBOLS +#endif + +#if defined(CJSON_HIDE_SYMBOLS) +#define CJSON_PUBLIC(type) type CJSON_STDCALL +#elif defined(CJSON_EXPORT_SYMBOLS) +#define CJSON_PUBLIC(type) __declspec(dllexport) type CJSON_STDCALL +#elif defined(CJSON_IMPORT_SYMBOLS) +#define CJSON_PUBLIC(type) __declspec(dllimport) type CJSON_STDCALL +#endif +#else /* !__WINDOWS__ */ +#define CJSON_CDECL +#define CJSON_STDCALL + +#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY) +#define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type +#else +#define CJSON_PUBLIC(type) type +#endif +#endif + /* project version */ #define CJSON_VERSION_MAJOR 1 #define CJSON_VERSION_MINOR 7 -#define CJSON_VERSION_PATCH 1 +#define CJSON_VERSION_PATCH 12 #include @@ -74,55 +124,13 @@ typedef struct cJSON typedef struct cJSON_Hooks { - void *(*malloc_fn)(size_t sz); - void (*free_fn)(void *ptr); + /* malloc/free are CDECL on Windows regardless of the default calling convention of the compiler, so ensure the hooks allow passing those functions directly. */ + void *(CJSON_CDECL *malloc_fn)(size_t sz); + void (CJSON_CDECL *free_fn)(void *ptr); } cJSON_Hooks; typedef int cJSON_bool; -#if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32)) -#define __WINDOWS__ -#endif -#ifdef __WINDOWS__ - -/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 2 define options: - -CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols -CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default) -CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol - -For *nix builds that support visibility attribute, you can define similar behavior by - -setting default visibility to hidden by adding --fvisibility=hidden (for gcc) -or --xldscope=hidden (for sun cc) -to CFLAGS - -then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJSON_EXPORT_SYMBOLS does - -*/ - -/* export symbols by default, this is necessary for copy pasting the C and header file */ -#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS) -#define CJSON_EXPORT_SYMBOLS -#endif - -#if defined(CJSON_HIDE_SYMBOLS) -#define CJSON_PUBLIC(type) type __stdcall -#elif defined(CJSON_EXPORT_SYMBOLS) -#define CJSON_PUBLIC(type) __declspec(dllexport) type __stdcall -#elif defined(CJSON_IMPORT_SYMBOLS) -#define CJSON_PUBLIC(type) __declspec(dllimport) type __stdcall -#endif -#else /* !WIN32 */ -#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY) -#define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type -#else -#define CJSON_PUBLIC(type) type -#endif -#endif - /* Limits how deeply nested arrays/objects can be before cJSON rejects to parse them. * This is to prevent stack overflows. */ #ifndef CJSON_NESTING_LIMIT @@ -156,7 +164,7 @@ CJSON_PUBLIC(void) cJSON_Delete(cJSON *c); /* Returns the number of items in an array (or object). */ CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array); -/* Retrieve item number "item" from array "array". Returns NULL if unsuccessful. */ +/* Retrieve item number "index" from array "array". Returns NULL if unsuccessful. */ CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index); /* Get item "string" from object. Case insensitive. */ CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string); diff --git a/tools/sdk/include/json/cJSON_Utils.h b/tools/sdk/include/json/cJSON_Utils.h index 03ec10c9..a970c650 100644 --- a/tools/sdk/include/json/cJSON_Utils.h +++ b/tools/sdk/include/json/cJSON_Utils.h @@ -20,6 +20,14 @@ THE SOFTWARE. */ +#ifndef cJSON_Utils__h +#define cJSON_Utils__h + +#ifdef __cplusplus +extern "C" +{ +#endif + #include "cJSON.h" /* Implement RFC6901 (https://tools.ietf.org/html/rfc6901) JSON Pointer spec. */ @@ -72,3 +80,9 @@ CJSON_PUBLIC(char *) cJSONUtils_FindPointerFromObjectTo(const cJSON * const obje /* Sorts the members of the object into alphabetical order. */ CJSON_PUBLIC(void) cJSONUtils_SortObject(cJSON * const object); CJSON_PUBLIC(void) cJSONUtils_SortObjectCaseSensitive(cJSON * const object); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/sdk/include/soc/soc/dport_access.h b/tools/sdk/include/soc/soc/dport_access.h index 00e7c838..2639e46e 100644 --- a/tools/sdk/include/soc/soc/dport_access.h +++ b/tools/sdk/include/soc/soc/dport_access.h @@ -48,7 +48,7 @@ extern "C" { // After completing read operations, use DPORT_STALL_OTHER_CPU_END(). // This method uses stall other CPU while reading DPORT registers. // Useful for compatibility, as well as for large consecutive readings. -// This method is slower, but must be used if ROM functions or +// This method is slower, but must be used if ROM functions or // other code is called which accesses DPORT without any other workaround. // *) The pre-readable APB register before reading the DPORT register // helps synchronize the operation of the two CPUs, @@ -73,7 +73,7 @@ extern "C" { */ static inline uint32_t IRAM_ATTR DPORT_REG_READ(uint32_t reg) { -#if defined(BOOTLOADER_BUILD) || defined(CONFIG_FREERTOS_UNICORE) || !defined(ESP_PLATFORM) +#if defined(BOOTLOADER_BUILD) || !defined(CONFIG_ESP32_DPORT_WORKAROUND) || !defined(ESP_PLATFORM) return _DPORT_REG_READ(reg); #else return esp_dport_access_reg_read(reg); @@ -106,7 +106,7 @@ static inline uint32_t IRAM_ATTR DPORT_REG_READ(uint32_t reg) */ static inline uint32_t IRAM_ATTR DPORT_SEQUENCE_REG_READ(uint32_t reg) { -#if defined(BOOTLOADER_BUILD) || defined(CONFIG_FREERTOS_UNICORE) || !defined(ESP_PLATFORM) +#if defined(BOOTLOADER_BUILD) || !defined(CONFIG_ESP32_DPORT_WORKAROUND) || !defined(ESP_PLATFORM) return _DPORT_REG_READ(reg); #else return esp_dport_access_sequence_reg_read(reg); @@ -166,7 +166,7 @@ static inline uint32_t IRAM_ATTR DPORT_SEQUENCE_REG_READ(uint32_t reg) */ static inline uint32_t IRAM_ATTR DPORT_READ_PERI_REG(uint32_t reg) { -#if defined(BOOTLOADER_BUILD) || defined(CONFIG_FREERTOS_UNICORE) || !defined(ESP_PLATFORM) +#if defined(BOOTLOADER_BUILD) || !defined(CONFIG_ESP32_DPORT_WORKAROUND) || !defined(ESP_PLATFORM) return _DPORT_REG_READ(reg); #else return esp_dport_access_reg_read(reg); diff --git a/tools/sdk/include/soc/soc/soc.h b/tools/sdk/include/soc/soc/soc.h index 96dea802..d1d46830 100644 --- a/tools/sdk/include/soc/soc/soc.h +++ b/tools/sdk/include/soc/soc/soc.h @@ -147,7 +147,7 @@ #define IS_DPORT_REG(_r) (((_r) >= DR_REG_DPORT_BASE) && (_r) <= DR_REG_DPORT_END) -#if !defined( BOOTLOADER_BUILD ) && !defined( CONFIG_FREERTOS_UNICORE ) && defined( ESP_PLATFORM ) +#if !defined( BOOTLOADER_BUILD ) && defined( CONFIG_ESP32_DPORT_WORKAROUND ) && defined( ESP_PLATFORM ) #define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(_r), (Cannot use OP for DPORT registers use DPORT_##OP)); #else #define ASSERT_IF_DPORT_REG(_r, OP) diff --git a/tools/sdk/lib/libapp_trace.a b/tools/sdk/lib/libapp_trace.a index fd4556cb532e629fc740f1726080cc3d27eb2ffa..4857b5afedf9719aa0726098f1cae52e16629d65 100644 GIT binary patch delta 3410 zcmeydneo9k#tG7FmS#qlh9(mgHKiC+7#OhQ$-OG#6RTgE>KiDa07FwVh<0NI1w#V^ zLj?sxLsJDX+swp7LBY_>)X-@1LQi!j4a?0;T-%uI7cem}@bob=Ff=eSpa3Qo*37&T z24)s^MkWRZW+wJ@1_lOZMz$hm1_l;&5L?IxL^5)4GJ@n;!$1m-mF9PFP!JQmhWW(JVKWlRk9AlezEl99ujiGhK|0Yr#8f(*z5F?FIq%mk3x zx~U*$86yJ&tHe@}L5xft%nS^y9868`7#JAXels#KFm-JJ`GU=lfq{XkAH-&1UrGX^`E(FnJrFK&l550|T2pNHGTkiw20J@DrlgE{KtVfjzgh zf`QE*WCsIV4oJ5H$X6T;EZ0CBM?;W{MA*_6fOu~~2B(9V3~bHJ3=C`;%NQ9LSlGlT zYxC=xF|jZ(u;s)uGB9xQF)=VO{Qw!ne4mklf!hP*$e$oS4|f1F0|OJ7&A`CBlwooo zzZzrJqO#va7&)fjVXe21Z|y z@Hqws2L7DMEP^IX+KiK}1XUTECnpH1Fg8za6;xwvp1ej-hB09BNih3^pqVqs#f+Ol zAz{zVz`!8;ijjc;bn8QSF4+8@O2s1sEt7l?h0AbFVayJ+l7;Z3Z&J=|r6(H(OR=XG z7wBfDq)jf66BS}0tZc4?x&T45K1-Ng< zWhtnH2m=FyD3lFykTjGn#lXOz2xTiVFfgb?*;)(?47yOZE-3#(+4>9&3@#uxG!(s{ zY*4@iK-ui|3=9lmP!2Bx149&)Ey}>akPBjioXNnzPz+^*G*?2|d<+Z>^-#7P0|P@V zlx@Jkz|ak4TQD#%OoX!C85kI*L)oBEoXf(%P%p&6zyK;r7eggLW#~#MJDY)lVLg;x z#K6F?70PaBU|`q{W%n^KFdT%k7c($09EY;kGB7Zlg|d$@Ffd$(vM(?&Fx-T)uP`vw zGu(%Ao-r^mJcY7BHOgx!`x^rT!$&Cl7Xt&scPRTG0|UcvD4T(ifq{>efk6nGFh!tj zP<%^4**pvk3<^-TBm)D38kk+rz@Wjvz@P)>Fff=fFfbTF*`T1afU-eBX9s16f#Ma) zPG(?W@Pe{)85kG>pzIP*v_jbx3=9l0P<9Ig149y&-NC@XkWmli^e`|mtIw%{YcMFsa(z_qZ)|6#n zU^oWl$TKi7oPn~{7#J8XLD||23=G#ci`vICGo>g_E_3o@s!^PL%*l^wf#PH_=VMGe z6er(v_G2;(d?qMlc^)$`FsuaCd7ye7-j)JoL}n)Ta&U`>tqV+XfGTxnCe~>n9tSAfGB9(n zp8>USSXeVaf-LNy1_d(f)2{JMjP7d^{n#|99f`}qLz(;lReQ(FfSuDah zRcmcN7b3_w`9bK$&7OYy85wU(4vZ*gTr#;aAeiz0WZ6h%CU)k@?>N*LohB;=sxwwi zo*1dl#KAIoSEL&22^Izh0Z`DIBo-9JmlP!?r|RYFgBqvsHYx6~Gn%}>Q-g60YT$v| zO`u8w(GZ0OUJ2OuZ0%r*1JpueW@4QT;-Lp#DoBupeJ+H823`V)$H3;b#vHzjAQ+v4F#m@yO(dk>Zm#1PYUo z(CWbnt(TF3K?PSrV+DJbO#)1DfYKy06KfTShaOg-!jqYWy#*u(PiP-OiI9=$KPVm; z1sPTOgt?jdr1=EI85o#U7$(OvrA+2$elq#Dw;HZCkd{huMt)I=0;n%hoLQAxQdvMu ztExawZ1R>6!OiDF_!&1p2rXbjPK->9Oq1mzm6$joq3Hq+%^GlMLQ*5+2~cPP0QgIM A0RR91 delta 3628 zcmaE`jq%53#tG7F7RE-VhK3UrHKjP0Ffd@plkH{2Csw~SPAn*hFDXh)PSwlTS5Qz; zFf=uTXg5(%Ff}k#P*5;30E-(Kn3c&3y0ducMZOb!f|&#Yu%VBqm)WMGhHfB+^I z*37&T24)s^J_ZH`W+wKDVq!f6qBvMVT9`T5B|tnDRwppUeg;CN zgS0bp*n)VBOmim}dRHmxhZd(673-&ECa0F<>${{DXP4v`=(`377#l&z$qRk8C)Ycl zn7l!Zf3j96uK__F`l-bQx|u0yx&@_4Iho0me3d5K`C4pFcI9WBWWzBzAbjQKUjO}! zjB6(Q29`5cOg4-PX1qFiqo*>{U8c!)L28T=lP^Z8GX_lV4N_;i!#vr~OO1673j+i1 z4|IuD{B}z`&!z$iQ$A6j(?Y5zuB# z;DBxh2N>IOW(Ecpbr4&~2ShS*tN{ff6Kgj}VmnAkQk8*$f#onrSV{*Zz`=SPWCjQO zRFD`8>pW%#PzhRuw^kYFfjFl*enbz1t89pvkVLjtUPQo zYK#mFY_%W_vKtsCm$32?75ii3fL8>H6Jkdc9bRfH{V0Z3{Bh)4%98Q69(Gcd4aEMsI~U}4)e`8Aua*=>+W zPAnq>1D7+%wLd@xG2droVBk&xIr1ln&%@oy%)r0|W-~DG@-j~LV^?FGHo27DMd|?~ z0|TSMZjc`t7#Iv07#JAmXfQJ{2ydQznca}_`(##*^#Yrj85kISLBi)47#R4!Pd>t7 z!gQE<@-Gfm#vPLtI8_+uPj=;0W85)0hf{{Jb#f<|y@Aur8RTNd&7hF5XJ%kvkdCi zGchnQGXCb{Wng4vWCS^ufq{|qEF)^jK&qz6(*@K?*25*JLb9GJL793&r3P9Vpr4$d zTacfZnpaW`k})>Y&&*5CDNRWw*_RNLCbRhpOpX`gB-QPkw+LA?Pi|1+nCzq^GWoq| zERp43tvK&wA6YIk%07Aa_|lTh9KGbp^-5xsr-<224h|8T{6|cCva*u!<_Y3U87E&7 zlbF0#NnrC%$-S(TY&bSI$ZLqyUjU^eaB0rKAOlL=Y>*6)2V%2B*waC54hY+Vg@J*Q z6T)5zVsk;*mq2W82>TWj1A`FM%m+|5D9t~EvO&t;K-l#R0t^fcpCB9tF$M;PA5b=^ zR{95Jn}SLwW{9DF3=9lhP1A_pRoy5SvAOdA)FfcG^g4j^c7(v+}M_54FAph7g z*E28(u`w_RF)%Q=KqW*N7#O^uY>hDs0{8jAH$HYi{~rH~Li0|R?K0|Nu7bO&*G85kJ)p^8Kq7#J3T*dS*zFfgou zvO${HLD`^MdJB{-$H2g_3(7WNU|=`^Wm_;XFdT!j-5D4d&Oq6qP`t#cmib?F)%Q^g0kBg7#Kc4*?kNQ4Bw#a#S9D#f1vEOpfZ<* zfdORx5e5bZ4k-Hq0|NselzoMPp`Jkm%6Z1Xz#s)>e_~)@P=K<(F)%QwLD|0;7#MV* z?0*al3b`AOYqXI0`U1m`-+bRAbsAJ~_)#jVZ-+@+3z!rWUEmyByVcugEYkfEq-43=9m? zlMe<-Gr7o5=5o?hB-D5|n|#1agRukAdM?1%dJY6Pz1UK~6s+}p6vV^PdOi=5V_`>a zJ$sYYdNwAt!kXkOHhGl`|Kv@f!kd#_1>g;6Rrmdjj2plW=o)YX`UbcG{Q%N{mIgPV zgTW2x2apEz0u}}afyobp)Ch&9nE^O7dk~>ng)cOtL4m`_mItO_p$Y1}Fyjc#iy)Qg zp&3e6X!5caXXF=^OupcvMMljmHd!M~ki9swDz&7tU~{6YFyrL^)|{II!ZVl{w}3;o c0UWZoz#;nx60)-3kPQWg>=Q`HE`fDT0JnR>?*IS* diff --git a/tools/sdk/lib/libapp_update.a b/tools/sdk/lib/libapp_update.a index 7feaa11090a57ab6d5b6ef551205946e0298d4ae..9ead7d8c63cee51b9a2e1064139e8370238dc71c 100644 GIT binary patch delta 16162 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 PfHFULBm=Z<6T$!h956oF delta 15630 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 A=v6FoQ{C`ov^51ICW&hmzS; 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 bz#s%=2eU9RNJ825aV!iBN>EM`3j>2T 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

wG|gTp8&tR*u7`3!qgf}RY*6Al4`qWA*HtJR zG@^YQ$_7=t520+(>Xw&KHYfppg0evg@HdnV8vSBk0ErsV4l8abyB?Id_@NxowklN+ z8+7X!0|SFDlnshMODG!@e~wT#Xk^P1$_6!F0-u1a(gkIMqHiLU4JsR^L)oB`aW0e%Dj63; z*`Vm#0A+*DA7a=6<$wx@15h?-O~)}P8#F3*2FeDt4KG32pknm~lnrVp-h;A1BWF*b zY*3r=4U`Q^2VbFVP_O78h+V&ckpa}SVq3_-Ahdvy0Th>9P&TNGqy%Dv4gz9eV9