ESP32 OTA with AWS FreeRTOS

Hi,

I am trying to enable OTA updates using ESP32 and AWS.

I am now able to initialize my ecosystem in AWS with all prerequisites - listed in the web page

However, I am having a hard time building and uploading the program to the ESP32. Since the original Amazon-FreeRTOS repo was deprecated (amazon-freertos) I am not able to find any tutorial or guide on how to integrate the new OTA FreeRTOS available (ota-mqtt-agent-demo.html) since it is too general and doesn;t provide any applicable information to enable the device.

I’d appreciate your guidance on how I can set my ESP32 device to AWS OTA functionalities, as well as any available program that can be used for this based on the new library.

Thanks in advanced.

Take a look at this - https://github.com/espressif/esp-aws-iot/tree/master/examples/ota

Hi Gaurav,

I followed your link, however, I am getting this error when trying to build:

C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:297:8: error: unknown type name 'osi_sem_t'
  297 | static osi_sem_t bufferSemaphore;
      |        ^~~~~~~~~
C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:302:8: error: unknown type name 'osi_sem_t'
  302 | static osi_sem_t ackSemaphore;
      |        ^~~~~~~~~
C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c: In function 'otaEventBufferFree':
C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:593:9: error: implicit declaration of function 'osi_sem_take' [-Werror=implicit-function-declaration]
  593 |     if( osi_sem_take( &bufferSemaphore, 0 ) == 0 )
      |         ^~~~~~~~~~~~
C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:596:18: error: implicit declaration of function 'osi_sem_give' [-Werror=implicit-function-declaration]
  596 |         ( void ) osi_sem_give( &bufferSemaphore );
      |                  ^~~~~~~~~~~~
C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c: In function 'aws_iot_demo_main':
C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:1793:9: error: implicit declaration of function 'osi_sem_new' [-Werror=implicit-function-declaration]
 1793 |     if( osi_sem_new( &bufferSemaphore, 0x7FFFU, 1 ) != 0 )
      |         ^~~~~~~~~~~
C:/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:1853:13: error: implicit declaration of function 'osi_sem_free'; did you mean 'esp_aes_free'? [-Werror=implicit-function-declaration]
 1853 |         if( osi_sem_free( &bufferSemaphore ) != 0 )
      |             ^~~~~~~~~~~~
      |             esp_aes_free
cc1.exe: some warnings being treated as errors
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the C:\esp-aws-iot\examples\ota\ota_mqtt\build\log\idf_py_stderr_output_29796 and C:\esp-aws-iot\examples\ota\ota_mqtt\build\log\idf_py_stdout_output_29796

I made the Deprecated repository (amazon-freertos) work for 1 device. However, I’d like to know if it is possible and how I can upload one image (.bin) with OTA to multiple devices.

How is it possible for the devices to identify their own cert and key?

Thanks

Did you setup ESP-IDF as mentioned in the getting started guide here - https://github.com/espressif/esp-aws-iot/blob/master/README.md?

Yes, that is certainly possible. You need to ensure that creds are not part of the image. Take a look at this ESP32-C3 based production-ready starting point which stores creds in a separate flash partition - GitHub - FreeRTOS/iot-reference-esp32c3

Hi @djalpizaOTA,

I’m struggling with the same error, how did you get this to work?
I’m a bit in a pickle, short description:

  • I had a working application with AWS OTA FreeRTOS on a ESP32-S2, using ESP-IDF 5.0
  • Due to memory limitation I migrated to ESP32-S3
  • Receiving the board, I came to the conclusion that the native DFU is only supported in the latest IDF 5.2, so I migrated to IDF 5.2 (master branch), which isn’t officially supported by esp-aws-iot.
  • Now I am receiving the same error as you: error: unknown type name 'osi_sem_t' although it is defined in semaphore.h

Any help or pointers would be highly appreciated! :upside_down_face:

Hey @bena , sorry to hear that you’ve been running into issues using FreeRTOS.
I don’t have a ESP32-C3 on me at the current moment. However, looking into the semaphore.h file from the espressif/esp-aws-iot repository I noticed that the define for “osi_sem_valid” comes after the inclusion of FreeRTOS files.
However, in the ota_demo_core_mqtt.c file I see that semphore.h is included, which should define your missing includes.

Is there any chance you could share the verbose output of your build command? I’d like to take a look at the include order of this command to see if something is being included in an incorrect order.

Did you setup the build environment as described here for the ESP-IDF master clone - GitHub - espressif/esp-idf: Espressif IoT Development Framework. Official development framework for Espressif SoCs.?

Hi all,

Thank you for the quick reply. I’m having a bit of a busy week, hoping to provide more information (Logs) this weekend.

@aggarg Yes, build environment set up as described.

So I verified if I can build the example from examples/ota/ota_mqtt with IDF V5.0 without any issues.

Trying to build the same example for IDF V5.1 and V5.2 both fail on the same point as described above.

The build output for IDF V5.2:


-- Found Git: C:/Users/USER/.espressif/tools/idf-git/2.39.2/cmd/git.exe (found version "2.39.2.windows.1") 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/USER/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/USER/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/USER/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32s3
Dependency "idf(5.1.0)" version changed, solving dependencies.
..............Updating lock file at C:\Projects\PROJ\esp-aws-iot\examples\ota\ota_mqtt\dependencies.lock
Processing 3 dependencies:
[1/3] espressif/cbor (0.6.0~1)
[2/3] espressif/esp_secure_cert_mgr (2.3.1)
[3/3] idf (5.2.0)
-- Project sdkconfig file C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/sdkconfig
Loading defaults file C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/sdkconfig.defaults...
C:\Users\USER\AppData\Local\Temp\kconfgen_tmp1nx_xxqf:5 line was updated to CONFIG_NEWLIB_NANO_FORMAT=n
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/sdkconfig:527 CONFIG_COMPILER_OPTIMIZATION_DEFAULT was replaced with CONFIG_COMPILER_OPTIMIZATION_DEBUG
-- Compiler supported targets: xtensa-esp32s3-elf
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Found Python3: C:/Users/USER/.espressif/python_env/idf5.2_py3.11_env/Scripts/python.exe (found version "3.11.0") found components: Interpreter
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "ota_mqtt" version: 202210.01-LTS-release
-- Adding linker script C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_system/ld/esp32s3/sections.ld.in
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/soc/esp32s3/ld/esp32s3.peripherals.ld
-- Components: app_trace app_update backoffAlgorithm bootloader bootloader_support bt cmock console coreJSON coreMQTT corePKCS11 cxx driver efuse esp-tls esp_adc esp_app_format esp_bootloader_format esp_coex esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_mm esp_netif esp_netif_stack esp_partition esp_phy esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_wifi espcoredump espressif__cbor espressif__esp_secure_cert_mgr esptool_py fatfs freertos hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mqtt newlib nvs_flash nvs_sec_provider openthread ota-for-aws-iot-embedded-sdk partition_table perfmon posix_compat protobuf-c protocol_examples_common protocomm pthread sdmmc soc spi_flash spiffs tcp_transport touch_element ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/Users/USER/esp/esp-idf-master/esp-idf/components/app_trace C:/Users/USER/esp/esp-idf-master/esp-idf/components/app_update C:/Projects/PROJ/esp-aws-iot/libraries/backoffAlgorithm C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader_support C:/Users/USER/esp/esp-idf-master/esp-idf/components/bt C:/Users/USER/esp/esp-idf-master/esp-idf/components/cmock C:/Users/USER/esp/esp-idf-master/esp-idf/components/console C:/Projects/PROJ/esp-aws-iot/libraries/coreJSON C:/Projects/PROJ/esp-aws-iot/libraries/coreMQTT C:/Projects/PROJ/esp-aws-iot/libraries/corePKCS11 C:/Users/USER/esp/esp-idf-master/esp-idf/components/cxx C:/Users/USER/esp/esp-idf-master/esp-idf/components/driver C:/Users/USER/esp/esp-idf-master/esp-idf/components/efuse C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp-tls C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_adc C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_app_format C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_bootloader_format C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_coex C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_common C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_eth C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_event C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_gdbstub C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hid C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_http_client C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_http_server C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_https_ota C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_https_server C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hw_support C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_lcd C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_local_ctrl C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_mm C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_netif C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_netif_stack C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_partition C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_phy C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_pm C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_psram C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_ringbuf C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_system C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_timer C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_wifi C:/Users/USER/esp/esp-idf-master/esp-idf/components/espcoredump C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/managed_components/espressif__cbor C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/managed_components/espressif__esp_secure_cert_mgr C:/Users/USER/esp/esp-idf-master/esp-idf/components/esptool_py C:/Users/USER/esp/esp-idf-master/esp-idf/components/fatfs C:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos C:/Users/USER/esp/esp-idf-master/esp-idf/components/hal C:/Users/USER/esp/esp-idf-master/esp-idf/components/heap C:/Users/USER/esp/esp-idf-master/esp-idf/components/http_parser C:/Users/USER/esp/esp-idf-master/esp-idf/components/idf_test C:/Users/USER/esp/esp-idf-master/esp-idf/components/ieee802154 C:/Users/USER/esp/esp-idf-master/esp-idf/components/json C:/Users/USER/esp/esp-idf-master/esp-idf/components/log C:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main C:/Users/USER/esp/esp-idf-master/esp-idf/components/mbedtls C:/Users/USER/esp/esp-idf-master/esp-idf/components/mqtt C:/Users/USER/esp/esp-idf-master/esp-idf/components/newlib C:/Users/USER/esp/esp-idf-master/esp-idf/components/nvs_flash C:/Users/USER/esp/esp-idf-master/esp-idf/components/nvs_sec_provider C:/Users/USER/esp/esp-idf-master/esp-idf/components/openthread C:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk C:/Users/USER/esp/esp-idf-master/esp-idf/components/partition_table C:/Users/USER/esp/esp-idf-master/esp-idf/components/perfmon C:/Projects/PROJ/esp-aws-iot/libraries/common/posix_compat C:/Users/USER/esp/esp-idf-master/esp-idf/components/protobuf-c C:/Users/USER/esp/esp-idf-master/esp-idf/examples/common_components/protocol_examples_common C:/Users/USER/esp/esp-idf-master/esp-idf/components/protocomm C:/Users/USER/esp/esp-idf-master/esp-idf/components/pthread C:/Users/USER/esp/esp-idf-master/esp-idf/components/sdmmc C:/Users/USER/esp/esp-idf-master/esp-idf/components/soc C:/Users/USER/esp/esp-idf-master/esp-idf/components/spi_flash C:/Users/USER/esp/esp-idf-master/esp-idf/components/spiffs C:/Users/USER/esp/esp-idf-master/esp-idf/components/tcp_transport C:/Users/USER/esp/esp-idf-master/esp-idf/components/touch_element C:/Users/USER/esp/esp-idf-master/esp-idf/components/ulp C:/Users/USER/esp/esp-idf-master/esp-idf/components/unity C:/Users/USER/esp/esp-idf-master/esp-idf/components/usb C:/Users/USER/esp/esp-idf-master/esp-idf/components/vfs C:/Users/USER/esp/esp-idf-master/esp-idf/components/wear_levelling C:/Users/USER/esp/esp-idf-master/esp-idf/components/wifi_provisioning C:/Users/USER/esp/esp-idf-master/esp-idf/components/wpa_supplicant C:/Users/USER/esp/esp-idf-master/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/build

 *  Executing task: ninja  

[27/1002] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
pre_prov,63,6,0xd000,24K,encrypted
nvs,data,nvs,0x13000,16K,
otadata,data,ota,0x17000,8K,
phy_init,data,phy,0x19000,4K,
ota_0,app,ota_0,0x20000,1M,
ota_1,app,ota_1,0x120000,1M,
storage,data,nvs,0x220000,16K,
*******************************************************************************
[693/1002] Performing configure step for 'bootloader'
-- Found Git: C:/Users/USER/.espressif/tools/idf-git/2.39.2/cmd/git.exe (found version "2.39.2.windows.1")
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/USER/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/USER/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/USER/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32s3
-- Project sdkconfig file C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/sdkconfig
-- Compiler supported targets: xtensa-esp32s3-elf
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/soc/esp32s3/ld/esp32s3.peripherals.ld
-- Bootloader project name: "bootloader" version: 1
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld
-- Adding linker script C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader/subproject/main/ld/esp32s3/bootloader.rom.ld     
-- Components: bootloader bootloader_support efuse esp_app_format esp_bootloader_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader_support C:/Users/USER/esp/esp-idf-master/esp-idf/components/efuse C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_app_format C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_bootloader_format C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_common C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hw_support C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom C:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_system C:/Users/USER/esp/esp-idf-master/esp-idf/components/esptool_py C:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos C:/Users/USER/esp/esp-idf-master/esp-idf/components/hal C:/Users/USER/esp/esp-idf-master/esp-idf/components/log C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader/subproject/main C:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader/subproject/components/micro-ecc C:/Users/USER/esp/esp-idf-master/esp-idf/components/newlib C:/Users/USER/esp/esp-idf-master/esp-idf/components/partition_table C:/Users/USER/esp/esp-idf-master/esp-idf/components/soc C:/Users/USER/esp/esp-idf-master/esp-idf/components/spi_flash C:/Users/USER/esp/esp-idf-master/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/build/bootloader
[873/1002] Performing build step for 'bootloader'
[1/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[2/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[3/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[4/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[5/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_soc.c.obj
[6/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_sha.c.obj
[7/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32s3.c.obj
[8/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj   
[9/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[10/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_fields.c.obj
[11/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_utility.c.obj
[12/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_table.c.obj
[13/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[14/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_rtc_calib.c.obj
[15/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[16/111] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[17/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_esp32s3.c.obj       
[18/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[19/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[20/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
[21/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
[22/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[23/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[24/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[25/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/cpu_region_protect.c.obj
[26/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[27/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[28/111] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj  
[29/111] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj
[30/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
[31/111] Generating project_elf_src_esp32s3.c
[32/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/interrupts.c.obj
[33/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_clk_init.c.obj
[34/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[35/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
[36/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/uart_periph.c.obj
[37/111] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj
[38/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_sleep.c.obj
[39/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/chip_info.c.obj
[40/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/adc_periph.c.obj
[41/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/gpio_periph.c.obj
[42/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_time.c.obj
[43/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
[44/111] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32s3.c.obj
[45/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/ledc_periph.c.obj
[46/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/rmt_periph.c.obj
[47/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/spi_periph.c.obj
[48/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/gdma_periph.c.obj
[49/111] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[50/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_clk.c.obj
[51/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/pcnt_periph.c.obj
[52/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/dedic_gpio_periph.c.obj
[53/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/sdm_periph.c.obj
[54/111] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_init.c.obj
[55/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/temperature_sensor_periph.c.obj
[56/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/lcd_periph.c.obj
[57/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/i2c_periph.c.obj
[58/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/timer_periph.c.obj
[59/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/i2s_periph.c.obj
[60/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/mpi_periph.c.obj
[61/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/usb_periph.c.obj
[62/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/sdmmc_periph.c.obj
[63/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/twai_periph.c.obj
[64/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/mcpwm_periph.c.obj
[65/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/touch_sensor_periph.c.obj
[66/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/usb_otg_periph.c.obj
[67/111] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/rtc_io_periph.c.obj
[68/111] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
[69/111] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[70/111] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32s3/efuse_hal.c.obj
[71/111] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj
[72/111] Building C object esp-idf/esp_bootloader_format/CMakeFiles/__idf_esp_bootloader_format.dir/esp_bootloader_desc.c.obj
[73/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[74/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
[75/111] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
[76/111] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj
[77/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[78/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[79/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[80/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj
[81/111] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_cache_writeback_esp32s3.S.obj
[82/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32s3.c.obj        
[83/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[84/111] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj
[85/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_wdt.c.obj
[86/111] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_cache_esp32s2_esp32s3.c.obj
[87/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[88/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[89/111] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[90/111] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[91/111] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[92/111] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[93/111] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
[94/111] Linking C static library esp-idf\log\liblog.a
[95/111] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[96/111] Linking C static library esp-idf\esp_rom\libesp_rom.a
[97/111] Linking C static library esp-idf\esp_common\libesp_common.a
[98/111] Linking C static library esp-idf\esp_hw_support\libesp_hw_support.a
[99/111] Linking C static library esp-idf\esp_system\libesp_system.a
[100/111] Linking C static library esp-idf\efuse\libefuse.a
[101/111] Linking C static library esp-idf\bootloader_support\libbootloader_support.a
[102/111] Linking C static library esp-idf\esp_bootloader_format\libesp_bootloader_format.a
[103/111] Linking C static library esp-idf\spi_flash\libspi_flash.a
[104/111] Linking C static library esp-idf\hal\libhal.a
[105/111] Linking C static library esp-idf\micro-ecc\libmicro-ecc.a
[106/111] Linking C static library esp-idf\soc\libsoc.a
[107/111] Linking C static library esp-idf\xtensa\libxtensa.a
[108/111] Linking C static library esp-idf\main\libmain.a
[109/111] Linking C executable bootloader.elf
[110/111] Generating binary image from built executable
esptool.py v4.7.dev1
Creating esp32s3 image...
Merged 2 ELF sections
Successfully created esp32s3 image.
Generated C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/build/bootloader/bootloader.bin
[111/111] cmd.exe /C "cd /D C:\Projects\PROJ\esp-aws-iot\examples\ota\ota_mqtt\build\bootloader\esp-idf\esptool_py && C:\Users\USER\.espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe C:/Users/USER/esp/esp-idf-master/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/build/bootloader/bootloader.bin" 
Bootloader binary size 0x5310 bytes. 0x2cf0 bytes (35%) free.
[965/1002] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/ota_demo_core_mqtt.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/ota_demo_core_mqtt.c.obj
C:\Users\USER\.espressif\tools\xtensa-esp32s3-elf\esp-12.2.0_20230208\xtensa-esp32s3-elf\bin\xtensa-esp32s3-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.2-dev-2164-g3befd5fff7\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -DUNITY_INCLUDE_CONFIG_H -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IC:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/build/config -IC:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main -IC:/Projects/PROJ/esp-aws-iot/libraries/common/logging -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/newlib/platform_include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos/config/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos/config/include/freertos -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos/config/xtensa/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos/FreeRTOS-Kernel/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/freertos/esp_additions/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hw_support/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hw_support/include/soc -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hw_support/include/soc/esp32s3 -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hw_support/port/esp32s3/. -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hw_support/port/esp32s3/private_include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/heap/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/log/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/soc/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/soc/esp32s3 -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/soc/esp32s3/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/hal/esp32s3/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/hal/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/hal/platform_port/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/include/esp32s3 -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_rom/esp32s3 -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_common/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_system/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_system/port/soc -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_system/port/include/private -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/xtensa/esp32s3/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/xtensa/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/xtensa/deprecated_include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/include/apps -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/include/apps/sntp -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/lwip/src/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/port/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/port/freertos/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/port/esp32xx/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/port/esp32xx/include/arch -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/lwip/port/esp32xx/include/sys -IC:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/managed_components/espressif__cbor/port/include -IC:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/managed_components/espressif__esp_secure_cert_mgr/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/spi_flash/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/mbedtls/port/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/mbedtls/mbedtls/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/mbedtls/mbedtls/library -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/mbedtls/esp_crt_bundle/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/nvs_flash/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_partition/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/efuse/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/efuse/esp32s3/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_ringbuf/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/deprecated -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/analog_comparator/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/dac/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/gpio/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/gptimer/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/i2c/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/i2s/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/ledc/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/mcpwm/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/parlio/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/pcnt/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/rmt/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/sdio_slave/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/sdmmc/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/sigma_delta/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/spi/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/temperature_sensor/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/touch_sensor/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/twai/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/uart/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/usb_serial_jtag/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/driver/touch_sensor/esp32s3/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_pm/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_bootloader_format/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_app_format/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader_support/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/bootloader_support/bootloader_flash/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/app_update/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_mm/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/pthread/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_timer/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/app_trace/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_event/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_phy/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_phy/esp32s3/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/vfs/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_netif/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/wpa_supplicant/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/wpa_supplicant/port/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/wpa_supplicant/esp_supplicant/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_coex/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_wifi/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_wifi/wifi_apps/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/unity/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/unity/unity/src -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/cmock/CMock/src -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/console -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/http_parser -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp-tls -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp-tls/esp-tls-crypto -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_adc/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_adc/interface -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_adc/esp32s3/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_adc/deprecated/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_eth/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_gdbstub/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_hid/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/tcp_transport/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_http_client/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_http_server/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_https_ota/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_psram/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_lcd/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_lcd/interface -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/protobuf-c/protobuf-c -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/protocomm/include/common -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/protocomm/include/security -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/protocomm/include/transports -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/esp_local_ctrl/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/espcoredump/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/espcoredump/include/port/xtensa -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/wear_levelling/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/sdmmc/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/fatfs/diskio -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/fatfs/src -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/fatfs/vfs -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/idf_test/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/idf_test/include/esp32s3 -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/ieee802154/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/json/cJSON -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/mqtt/esp-mqtt/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/nvs_sec_provider/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/perfmon/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/spiffs/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/touch_element/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/ulp/ulp_common/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/ulp/ulp_common/include/esp32s3 -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/usb/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/components/wifi_provisioning/include -IC:/Users/USER/esp/esp-idf-master/esp-idf/examples/common_components/protocol_examples_common/include -IC:/Projects/PROJ/esp-aws-iot/libraries/corePKCS11/corePKCS11/source/dependency/3rdparty/pkcs11 -IC:/Projects/PROJ/esp-aws-iot/libraries/corePKCS11/corePKCS11/source/include -IC:/Projects/PROJ/esp-aws-iot/libraries/corePKCS11/config -IC:/Projects/PROJ/esp-aws-iot/libraries/corePKCS11/port -IC:/Projects/PROJ/esp-aws-iot/libraries/corePKCS11/corePKCS11/source/dependency/3rdparty/mbedtls_utils -IC:/Projects/PROJ/esp-aws-iot/libraries/coreJSON/coreJSON/source/include -IC:/Projects/PROJ/esp-aws-iot/libraries/coreJSON -IC:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/ota-for-aws-iot-embedded-sdk/source/include -IC:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/ota-for-aws-iot-embedded-sdk/source/portable -IC:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/config -IC:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/port -IC:/Projects/PROJ/esp-aws-iot/libraries/coreMQTT/coreMQTT/source/include -IC:/Projects/PROJ/esp-aws-iot/libraries/coreMQTT/coreMQTT/source/interface -IC:/Projects/PROJ/esp-aws-iot/libraries/coreMQTT/config -IC:/Projects/PROJ/esp-aws-iot/libraries/coreMQTT/port/network_transport -IC:/Projects/PROJ/esp-aws-iot/libraries/backoffAlgorithm/backoffAlgorithm/source/include -IC:/Projects/PROJ/esp-aws-iot/libraries/common/posix_compat -mlongcalls  -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt=. -fmacro-prefix-map=C:/Users/USER/esp/esp-idf-master/esp-idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/ota_demo_core_mqtt.c.obj -MF esp-idf\main\CMakeFiles\__idf_main.dir\ota_demo_core_mqtt.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/ota_demo_core_mqtt.c.obj -c C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:297:8: error: unknown type name 'osi_sem_t'       
  297 | static osi_sem_t bufferSemaphore;
      |        ^~~~~~~~~
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:302:8: error: unknown type name 'osi_sem_t'       
  302 | static osi_sem_t ackSemaphore;
      |        ^~~~~~~~~
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c: In function 'otaEventBufferFree':
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:593:9: error: implicit declaration of function 'osi_sem_take' [-Werror=implicit-function-declaration]
  593 |     if( osi_sem_take( &bufferSemaphore, 0 ) == 0 )
      |         ^~~~~~~~~~~~
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:596:18: error: implicit declaration of function 'osi_sem_give' [-Werror=implicit-function-declaration]
  596 |         ( void ) osi_sem_give( &bufferSemaphore );
      |                  ^~~~~~~~~~~~
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c: In function 'aws_iot_demo_main':
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:1793:9: error: implicit declaration of function 'osi_sem_new' [-Werror=implicit-function-declaration]
 1793 |     if( osi_sem_new( &bufferSemaphore, 0x7FFFU, 1 ) != 0 )
      |         ^~~~~~~~~~~
C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/main/ota_demo_core_mqtt.c:1853:13: error: implicit declaration of function  
osi_sem_free'; did you mean 'esp_aes_free'? [-Werror=implicit-function-declaration]
 1853 |         if( osi_sem_free( &bufferSemaphore ) != 0 )
      |             ^~~~~~~~~~~~
      |             esp_aes_free
cc1.exe: some warnings being treated as errors
[970/1002] Building C object esp-idf/ota-for-aws-iot-embedded-sdk/C...embedded-sdk.dir/ota-for-aws-iot-embedded-sdk/source/ota_cbor.c.obj
C:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/ota-for-aws-iot-embedded-sdk/source/ota_cbor.c: In function 'OTA_CBOR_Decode_GetStreamResponseMessage':
C:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/ota-for-aws-iot-embedded-sdk/source/ota_cbor.c:135:42: warning: passing argument 2 of 'cbor_value_get_int' from incompatible pointer type [-Wincompatible-pointer-types]
  135 |                                          ( int32_t * ) pFileId );
      |                                          ^~~~~~~~~~~~~~~~~~~~~
      |                                          |
      |                                          int32_t * {aka long int *}
In file included from C:/Projects/PROJ/esp-aws-iot/examples/ota/ota_mqtt/managed_components/espressif__cbor/port/include/cbor.h:1,
                 from C:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/ota-for-aws-iot-embedded-sdk/source/ota_cbor.c:31:
c:\projects\PROJ\esp-aws-iot\examples\ota\ota_mqtt\managed_components\espressif__cbor\tinycbor\src\cbor.h:437:75: note: expected 'int *' but argument is of type 'int32_t *' {aka 'long int *'}
  437 | CBOR_INLINE_API CborError cbor_value_get_int(const CborValue *value, int *result)
      |                                                                      ~~~~~^~~~~~
C:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/ota-for-aws-iot-embedded-sdk/source/ota_cbor.c:154:42: warning: passing argument 2 of 'cbor_value_get_int' from incompatible pointer type [-Wincompatible-pointer-types]
  154 |                                          ( int32_t * ) pBlockId );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~
      |                                          |
      |                                          int32_t * {aka long int *}
c:\projects\PROJ\esp-aws-iot\examples\ota\ota_mqtt\managed_components\espressif__cbor\tinycbor\src\cbor.h:437:75: note: expected 'int *' but argument is of type 'int32_t *' {aka 'long int *'}
  437 | CBOR_INLINE_API CborError cbor_value_get_int(const CborValue *value, int *result)
      |                                                                      ~~~~~^~~~~~
C:/Projects/PROJ/esp-aws-iot/libraries/ota-for-aws-iot-embedded-sdk/ota-for-aws-iot-embedded-sdk/source/ota_cbor.c:173:42: warning: passing argument 2 of 'cbor_value_get_int' from incompatible pointer type [-Wincompatible-pointer-types]
  173 |                                          ( int32_t * ) pBlockSize );
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                          |
      |                                          int32_t * {aka long int *}
c:\projects\PROJ\esp-aws-iot\examples\ota\ota_mqtt\managed_components\espressif__cbor\tinycbor\src\cbor.h:437:75: note: expected 'int *' but argument is of type 'int32_t *' {aka 'long int *'}
  437 | CBOR_INLINE_API CborError cbor_value_get_int(const CborValue *value, int *result)
      |                                                                      ~~~~~^~~~~~
[982/1002] Building C object esp-idf/coreMQTT/CMakeFiles/__idf_coreMQTT.dir/coreMQTT/source/core_mqtt.c.obj
ninja: build stopped: subcommand failed.

 *  The terminal process "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command ninja " terminated with exit code: 1. 

This was for the build target ESP32-S3, but just to be sure I also tried to build it for the regular ESP32 and this gave the same results.

Ideas? :slight_smile:

@bena

The esp-aws-iot repo is tied to particular versions of ESP-IDF (see README.md). Currently it only supports up to ESP-IDF v5.0. Thus the build failures are expected.

You will need to wait for the next release of esp-aws-iot when it upgrades to a newer release of ESP-IDF, though I’m not sure when that will be. Could you open an issue esp-aws-iot regarding when the next release date will be?

Hi @Dazza0,

Thanks for the reply, I launched an issue on esp-aws-iot (can’t post the link because I am a new user).

In the meanwhile I found a work-around for my project so I can keep using ESP-IDF v5.0, so I am out of the woods (for now).

Thank you for reporting back!