Hi, I was referring to AWS OTA FreeRTOS MQTT example available at AWS site.
Wanted to know availability of:
- description for files used in project
- flow of program for OTA
Please suggest document for above
Hi, I was referring to AWS OTA FreeRTOS MQTT example available at AWS site.
Wanted to know availability of:
Please suggest document for above
Hello @ravi,
Here are a couple of relevant links for the OTA library.
I recommend going through the library documentation to find information on what functions and files exist. I also recommend that you look at the demo applications as an example of how to use the library.
refering AWS code, getting below error:
cmake -DVENDOR=espressif -DBOARD=esp32_devkitc -DCOMPILER=xtensa-esp32 -G Ninja -S . -B …\build
– Configuring done
– Generating done
– Build files have been written to: C:/gau/AWS/ESP32/freertos-1643010662146/build
cmake --build …\build
C:\gau\AWS\ESP32\freertos-1643010662146\FreeRTOS>cmake --build …\build
[0/2] Re-checking globbed directories…
[2/1651] Building C object CMakeFiles/afr_crypto.dir/vendo…pressif/esp-idf/components/mbedtls/port/esp32/bignum.c.obj
FAILED: CMakeFiles/afr_crypto.dir/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c.obj
C:\Users\RHONAKAM.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DAFR_ESP_LWIP -DESP_PLATFORM -DIDF_VER=“v4.3.1-dirty” -DMBEDTLS_CONFIG_FILE=“C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/include/mbedtls/esp_config.h” -D_GNU_SOURCE -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/freertos_plus/standard/crypto/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/xtensa/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/soc/soc/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/soc/src/esp32/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/pkcs11 -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls_config -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls_utils -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/lwip/include/apps -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/lwip/include/apps/sntp -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/lwip/lwip/src/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/lwip/port/esp32/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/lwip/port/esp32/include/arch -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/lwip/lwip/src/include/compat -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/freertos_kernel/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/app_update/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/bootloader_support/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/esp32/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/esp_event/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/efuse/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/driver/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/heap/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/log/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/nvs_flash/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/pthread/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/soc/soc/esp32/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/soc/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/spi_flash/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/vfs/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/esp_ringbuf/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/boards/esp32/…/components/freertos/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/xtensa/esp32/include/xtensa -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/xtensa/esp32/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/esp_rom/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/esp_timer/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/esp_common/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/esp_system/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/tcpip_adapter/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/boards/esp32/aws_demos/config_files/default_pkcs11_config -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/freertos_kernel/portable/ThirdParty/GCC/Xtensa_ESP32/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/demos/include -IC:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/boards/esp32/aws_demos/config_files -Iconfig -mlongcalls -Wno-maybe-uninitialized -std=gnu99 -Wno-old-style-declaration -Wno-stringop-overflow -Wno-bool-operation -Wno-sizeof-pointer-div -Wno-nonnull -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -Wno-parentheses -Wno-sizeof-pointer-memaccess -Wno-clobbered -Wno-format-overflow -Wno-stringop-truncation -Wno-misleading-indentation -Wno-cast-function-type -Wno-implicit-fallthrough -Wno-unused-const-variable -Wno-switch-unreachable -Wno-format-truncation -Wno-memset-elt-size -Wno-int-in-bool-context -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -MD -MT CMakeFiles/afr_crypto.dir/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c.obj -MF CMakeFiles\afr_crypto.dir\vendors\espressif\esp-idf\components\mbedtls\port\esp32\bignum.c.obj.d -o CMakeFiles/afr_crypto.dir/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c.obj -c C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c:31:8: error: unknown type name ‘_lock_t’
static _lock_t mpi_lock;
^~~~~~~
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c: In function ‘esp_mpi_enable_hardware_hw_op’:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c:44:5: error: implicit declaration of function ‘_lock_acquire’ [-Werror=implicit-function-declaration]
_lock_acquire(&mpi_lock);
^~~~~~~~~~~~~
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c: In function ‘esp_mpi_disable_hardware_hw_op’:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/esp32/bignum.c:62:5: error: implicit declaration of function ‘_lock_release’; did you mean ‘__sync_lock_release’? [-Werror=implicit-function-declaration]
_lock_release(&mpi_lock);
^~~~~~~~~~~~~
__sync_lock_release
cc1.exe: some warnings being treated as errors
[5/1651] Building C object CMakeFiles/afr_pkcs11_implement…endors/espressif/boards/ports/pkcs11/core_pkcs11_pal.c.obj
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/boards/ports/pkcs11/core_pkcs11_pal.c: In function ‘PKCS11_PAL_FindObject’:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/boards/ports/pkcs11/core_pkcs11_pal.c:233:17: warning: unused variable ‘pxZeroedData’ [-Wunused-variable]
CK_BYTE_PTR pxZeroedData = NULL;
^~~~~~~~~~~~
[8/1651] Building C object CMakeFiles/afr_tls.dir/vendors/espressif/esp-idf/components/mbedtls/port/mbedtls_debug.c.obj
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/mbedtls_debug.c:18:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:25: warning: “CLOCK_MONOTONIC” redefined
#define CLOCK_MONOTONIC (clockid_t)4
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:22,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/mbedtls_debug.c:18:
c:\users\rhonakam.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\time.h:293: note: this is the location of the previous definition
#define CLOCK_MONOTONIC ((clockid_t) 4)
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/mbedtls_debug.c:18:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:26: warning: “CLOCK_BOOTTIME” redefined
#define CLOCK_BOOTTIME (clockid_t)4
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:22,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/mbedtls/port/mbedtls_debug.c:18:
c:\users\rhonakam.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\time.h:303: note: this is the location of the previous definition
#define CLOCK_BOOTTIME ((clockid_t) 7)
[9/1651] Building C object CMakeFiles/afr_tls.dir/libraries/freertos_plus/standard/tls/src/iot_tls.c.obj
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/freertos_plus/standard/tls/src/iot_tls.c:39:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:25: warning: “CLOCK_MONOTONIC” redefined
#define CLOCK_MONOTONIC (clockid_t)4
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:22,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/freertos_plus/standard/tls/src/iot_tls.c:39:
c:\users\rhonakam.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\time.h:293: note: this is the location of the previous definition
#define CLOCK_MONOTONIC ((clockid_t) 4)
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/freertos_plus/standard/tls/src/iot_tls.c:39:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:26: warning: “CLOCK_BOOTTIME” redefined
#define CLOCK_BOOTTIME (clockid_t)4
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:22,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/freertos_plus/standard/tls/src/iot_tls.c:39:
c:\users\rhonakam.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\time.h:303: note: this is the location of the previous definition
#define CLOCK_BOOTTIME ((clockid_t) 7)
[10/1651] Building C object CMakeFiles/afr_pkcs11_implemen…rePKCS11/source/portable/mbedtls/core_pkcs11_mbedtls.c.obj
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/abstractions/pkcs11/corePKCS11/source/portable/mbedtls/core_pkcs11_mbedtls.c:46:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:25: warning: “CLOCK_MONOTONIC” redefined
#define CLOCK_MONOTONIC (clockid_t)4
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:22,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/abstractions/pkcs11/corePKCS11/source/portable/mbedtls/core_pkcs11_mbedtls.c:46:
c:\users\rhonakam.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\time.h:293: note: this is the location of the previous definition
#define CLOCK_MONOTONIC ((clockid_t) 4)
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/abstractions/pkcs11/corePKCS11/source/portable/mbedtls/core_pkcs11_mbedtls.c:46:
C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:26: warning: “CLOCK_BOOTTIME” redefined
#define CLOCK_BOOTTIME (clockid_t)4
In file included from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/vendors/espressif/esp-idf/components/newlib/platform_include/time.h:22,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform_time.h:77,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/3rdparty/mbedtls/include/mbedtls/platform.h:68,
from C:/gau/AWS/ESP32/freertos-1643010662146/FreeRTOS/libraries/abstractions/pkcs11/corePKCS11/source/portable/mbedtls/core_pkcs11_mbedtls.c:46:
c:\users\rhonakam.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\time.h:303: note: this is the location of the previous definition
#define CLOCK_BOOTTIME ((clockid_t) 7)
[11/1651] Building C object CMakeFiles/afr_tls.dir/vendors/espressif/esp-idf/components/mbedtls/port/esp_bignum.c.obj
ninja: build stopped: subcommand failed.
Please suggest how to resolve
Hi Ravi, I have two questions:
Hi, Code is taken from AWS console IoT core…build by using ESP IDF command. Build was done directly without providing AWS credentials.
Hi @ravi,
Some questions:
idf.py
?Lastly, could you try cloning the repository at https://github.com/aws/amazon-freertos with its submodules and then try the build from there?
You’ll want
git clone https://github.com/aws/amazon-freertos.git --recurse-submodules
to make sure the submodules are cloned
A note for traceability - I saw this on the AWS forums before finding this post.
The replies here already have more detail and explanation so probably best to continue debugging here.