netstv wrote on September 20, 2019:
First off, I do have the esp32 default FreeRTOS working, but the requirement has come down from the requirements god, that I must use the latest FreeRTOS from Amazon. So I know I have the toolchain all setup properly etc.
My hardware is the ESP32-Ethernet-Kit_A_V1.1
I have been following the instructions here:
[https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_espressif.html]
darkLightning:esp stv$ git clone https://github.com/aws/amazon-freertos.git
I am on the latest stable code from the repo which from the README is the release branch. So I do the following:
git clone https://github.com/aws/amazon-freertos.git
Cloning into 'amazon-freertos'...
remote: Enumerating objects: 151, done.
remote: Counting objects: 100% (151/151), done.
remote: Compressing objects: 100% (103/103), done.
remote: Total 68838 (delta 56), reused 64 (delta 37), pack-reused 68687
Receiving objects: 100% (68838/68838), 192.30 MiB | 11.15 MiB/s, done.
Resolving deltas: 100% (34900/34900), done.
Checking out files: 100% (13609/13609), done.
darkLightning:esp stv$ cd amazon-freertos/
Then I switch to the release branch (NOTE: I didn’t upgrade the submodules, because it doesn’t seem that the release branch likes that )
darkLightning:amazon-freertos stv$ git co release
Branch 'release' set up to track remote branch 'release' from 'origin'.
Switched to a new branch 'release'
Now edit things like the doc said. And run the python setup, after editing the file
darkLightning:amazon-freertos stv$ vi tools/aws_config_quick_start/configure.json
darkLightning:amazon-freertos stv$ cd tools/aws_config_quick_start
darkLightning:aws_config_quick_start stv$ python SetupAWS.py setup
And then build the makefiles…
darkLightning:amazon-freertos stv$ cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -S . -B build
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/stv/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Found Git: /usr/bin/git (found version "2.21.0 (Apple Git-120)")
-- Checking Python dependencies...
Python requirements from /Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/requirements.txt are satisfied.
-- Building for target esp32
And then I do the make all -j4
darkLightning:build stv$ make all -j4
Scanning dependencies of target afr_3rdparty_tinycbor
Scanning dependencies of target afr_kernel
Scanning dependencies of target idf_component_ulp
Scanning dependencies of target idf_component_soc
[ 0%] Building C object libraries/3rdparty/CMakeFiles/afr_3rdparty_tinycbor.dir/tinycbor/cborpretty.c.obj
[ 0%] Building C object vendors/espressif/boards/esp32/esp-idf/ulp/CMakeFiles/idf_component_ulp.dir/ulp.c.obj
[ 1%] Building C object vendors/espressif/boards/esp32/esp-idf/soc/CMakeFiles/idf_component_soc.dir/esp32/cpu_util.c.obj
[ 1%] Building C object vendors/espressif/boards/esp32/esp-idf/ulp/CMakeFiles/idf_component_ulp.dir/ulp_macro.c.obj
[ 1%] Building C object CMakeFiles/afr_kernel.dir/freertos_kernel/event_groups.c.obj
[ 2%] Building C object vendors/espressif/boards/esp32/esp-idf/soc/CMakeFiles/idf_component_soc.dir/esp32/gpio_periph.c.obj
[ 2%] Building C object libraries/3rdparty/CMakeFiles/afr_3rdparty_tinycbor.dir/tinycbor/cborencoder.c.obj
[ 2%] Building C object vendors/espressif/boards/esp32/esp-idf/soc/CMakeFiles/idf_component_soc.dir/esp32/rtc_clk.c.obj
[ 3%] Linking C static library libulp.a
[ 3%] Building C object libraries/3rdparty/CMakeFiles/afr_3rdparty_tinycbor.dir/tinycbor/cborencoder_close_container_checked.c.obj
[ 3%] Building C object CMakeFiles/afr_kernel.dir/freertos_kernel/list.c.obj
[ 3%] Built target idf_component_ulp
[ 3%] Building C object libraries/3rdparty/CMakeFiles/afr_3rdparty_tinycbor.dir/tinycbor/cborerrorstrings.c.obj
[
........
And it stops at:
Scanning dependencies of target idf_component_micro-ecc
[ 8%] Building C object vendors/espressif/boards/esp32/esp-idf/spi_flash/CMakeFiles/idf_component_spi_flash.dir/flash_mmap.c.obj
[ 8%] Building C object vendors/espressif/boards/esp32/esp-idf/micro-ecc/CMakeFiles/idf_component_micro-ecc.dir/micro-ecc/uECC.c.obj
[ 8%] Linking C static library libfreertos.a
[ 9%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/rmt.c.obj
[ 9%] Built target idf_component_freertos
[ 9%] Building C object vendors/espressif/boards/esp32/esp-idf/spi_flash/CMakeFiles/idf_component_spi_flash.dir/flash_ops.c.obj
Scanning dependencies of target idf_component_bootloader_support
[ 9%] Building C object vendors/espressif/boards/esp32/esp-idf/bootloader_support/CMakeFiles/idf_component_bootloader_support.dir/src/bootloader_clock.c.obj
[ 9%] Building C object vendors/espressif/boards/esp32/esp-idf/spi_flash/CMakeFiles/idf_component_spi_flash.dir/partition.c.obj
/Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/components/spi_flash/partition.c: In function 'load_partitions':
/Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/components/spi_flash/partition.c:180:66: error: argument to 'sizeof' in 'strncpy' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
strncpy(item->info.label, (const char*) it->label, sizeof(it->label));
^
[ 10%] Linking C static library libmicro-ecc.a
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/bootloader_support/CMakeFiles/idf_component_bootloader_support.dir/src/bootloader_common.c.obj
cc1: some warnings being treated as errors
make[2]: *** [vendors/espressif/boards/esp32/esp-idf/spi_flash/CMakeFiles/idf_component_spi_flash.dir/partition.c.obj] Error 1
make[1]: *** [vendors/espressif/boards/esp32/esp-idf/spi_flash/CMakeFiles/idf_component_spi_flash.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/components/bootloader_support/src/bootloader_common.c: In function 'bootloader_common_erase_part_type_data':
/Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/components/bootloader_support/src/bootloader_common.c:129:65: error: argument to 'sizeof' in 'strncpy' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
strncpy(label, (char *)&partition->label, sizeof(partition->label));
^
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/rtc_module.c.obj
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/bootloader_support/CMakeFiles/idf_component_bootloader_support.dir/src/bootloader_flash.c.obj
[ 10%] Built target idf_component_micro-ecc
cc1: some warnings being treated as errors
make[2]: *** [vendors/espressif/boards/esp32/esp-idf/bootloader_support/CMakeFiles/idf_component_bootloader_support.dir/src/bootloader_common.c.obj] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/sdio_slave.c.obj
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/sdmmc_host.c.obj
make[1]: *** [vendors/espressif/boards/esp32/esp-idf/bootloader_support/CMakeFiles/idf_component_bootloader_support.dir/all] Error 2
/Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/components/driver/rtc_module.c: In function 'touch_pad_filter_start':
/Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/components/driver/rtc_module.c:964:15: warning: passing argument 5 of 'xTimerCreate' from incompatible pointer type [-Wincompatible-pointer-types]
NULL, touch_pad_filter_cb);
^~~~~~~~~~~~~~~~~~~
In file included from /Users/stv/work/esp/amazon-freertos/vendors/espressif/boards/esp32/aws_demos/application_code/espressif_code/freertos/include/freertos/timers.h:1,
from /Users/stv/work/esp/amazon-freertos/vendors/espressif/esp-idf/components/driver/rtc_module.c:36:
/Users/stv/work/esp/amazon-freertos/freertos_kernel/include/timers.h:232:33: note: expected 'TimerCallbackFunction_t' {aka 'void (*)(struct tmrTimerControl *)'} but argument is of type 'void (*)(void *)'
TimerCallbackFunction_t pxCallbackFunction ) PRIVILEGED_FUNCTION;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/sdmmc_transaction.c.obj
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/sdspi_crc.c.obj
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/sdspi_host.c.obj
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/sdspi_transaction.c.obj
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/sigmadelta.c.obj
[ 10%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/spi_common.c.obj
[ 11%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/spi_master.c.obj
[ 11%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/spi_slave.c.obj
[ 11%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/timer.c.obj
[ 11%] Building C object vendors/espressif/boards/esp32/esp-idf/driver/CMakeFiles/idf_component_driver.dir/uart.c.obj
[ 11%] Linking C static library libdriver.a
[ 11%] Built target idf_component_driver
make: *** [all] Error 2
Then I thought it could be a -j4 think, so without it I get …
Scanning dependencies of target afr_pkcs11_implementation
[ 13%] Building C object CMakeFiles/afr_pkcs11_implementation.dir/vendors/espressif/boards/esp32/ports/pkcs11/iot_pkcs11_pal.c.obj
[ 13%] Building C object CMakeFiles/afr_pkcs11_implementation.dir/libraries/abstractions/pkcs11/mbedtls/iot_pkcs11_mbedtls.c.obj
/Users/stv/work/esp/amazon-freertos/libraries/abstractions/pkcs11/mbedtls/iot_pkcs11_mbedtls.c: In function 'C_CreateObject':
/Users/stv/work/esp/amazon-freertos/libraries/abstractions/pkcs11/mbedtls/iot_pkcs11_mbedtls.c:1979:21: warning: unused variable 'pxSession' [-Wunused-variable]
P11SessionPtr_t pxSession = prvSessionPointerFromHandle( xSession );
^~~~~~~~~
/Users/stv/work/esp/amazon-freertos/libraries/abstractions/pkcs11/mbedtls/iot_pkcs11_mbedtls.c: In function 'prvCreatePublicKey':
/Users/stv/work/esp/amazon-freertos/libraries/stv/pkcs11/mbedtls/iot_pkcs11_mbedtls.c:1897:22: error: 'lDerKeyLength' may be used uninitialized in this function [-Werror=maybe-uninitialized]
xPalHandle = PKCS11_PAL_SaveObject( pxLabel,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pxDerKey + ( MAX_LENGTH_KEY - lDerKeyLength ),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lDerKeyLength );
~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [CMakeFiles/afr_pkcs11_implementation.dir/libraries/abstractions/pkcs11/mbedtls/iot_pkcs11_mbedtls.c.obj] Error 1
make[1]: *** [CMakeFiles/afr_pkcs11_implementation.dir/all] Error 2
make: *** [all] Error 2
Any ideas on how to fix this I’d appreciate it. I’m hesitant to touch the code because this “should” works as it’s the stable branch.
-stv