Page 1 of 2

Setting Target esp32s2 Fails

Posted: Sun Jan 17, 2021 6:22 pm
by markjuggles
I re-re-re-re-re-installed the ESP-IDF but cannot get the target changed to esp32s2.

Code: Select all

C:\esp\projects\hello_world>idf.py set-target esp32s2
Adding "set-target"'s dependency "fullclean" to list of commands with default set of options.
Executing action: fullclean
Executing action: set-target
Set Target to: esp32s2, new sdkconfig created. Existing sdkconfig renamed to sdkconfig.old.
Running cmake in directory c:\esp\projects\hello_world\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32s2 -DCCACHE_ENABLE=1 c:\esp\projects\hello_world"...
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.29.2.windows.3")
CMake Error at C:/esp/esp-idf/tools/cmake/targets.cmake:19 (message):
  IDF_TARGET in CMake cache does not match IDF_TARGET environment variable.
  To change the target, clear the build directory and sdkconfig file, and
  build the project again
Call Stack (most recent call first):
  C:/esp/esp-idf/tools/cmake/project.cmake:35 (__target_init)
  CMakeLists.txt:5 (include)


-- Configuring incomplete, errors occurred!
cmake failed with exit code 1
Building the project will succeed but flashing it fails because I have an esp32s2 chip.

Code: Select all

A fatal error occurred: This chip is ESP32-S2 not ESP32. Wrong --chip argument?
CMake Error at run_serial_tool.cmake:50 (message):
  C:/esp/.espressif/python_env/idf4.3_py3.9_env/Scripts/python.exe
  C:/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 failed

My environment is the latest Python, the latest git, today's ESP-IDF master branch, and esp-idf-tools-setup-2.3.

git clone --recursive https://github.com/espressif/esp-idf.git

Can anyone tell me how to create a working ESP32S2 build environment?

Thank you

Re: Setting Target esp32s2 Fails

Posted: Sun Jan 17, 2021 7:05 pm
by chegewara
markjuggles wrote:
Sun Jan 17, 2021 6:22 pm
CMake Error at C:/esp/esp-idf/tools/cmake/targets.cmake:19 (message):
IDF_TARGET in CMake cache does not match IDF_TARGET environment variable.
To change the target, clear the build directory and sdkconfig file, and
build the project again
Try to delete build folder in hello-world project, then set-target again.

Re: Setting Target esp32s2 Fails

Posted: Sun Jan 17, 2021 8:12 pm
by markjuggles
Same results.

Code: Select all

C:\esp\projects\hello_world>rm -rf build

C:\esp\projects\hello_world>idf.py set-target esp32s2
Adding "set-target"'s dependency "fullclean" to list of commands with default set of options.
Executing action: fullclean
Build directory 'c:\esp\projects\hello_world\build' not found. Nothing to clean.
Executing action: set-target
Set Target to: esp32s2, new sdkconfig created. Existing sdkconfig renamed to sdkconfig.old.
Running cmake in directory c:\esp\projects\hello_world\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32s2 -DCCACHE_ENABLE=1 c:\esp\projects\hello_world"...
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.29.2.windows.3")
CMake Error at C:/esp/esp-idf/tools/cmake/targets.cmake:19 (message):
  IDF_TARGET in CMake cache does not match IDF_TARGET environment variable.
  To change the target, clear the build directory and sdkconfig file, and
  build the project again
Call Stack (most recent call first):
  C:/esp/esp-idf/tools/cmake/project.cmake:35 (__target_init)
  CMakeLists.txt:5 (include)


-- Configuring incomplete, errors occurred!
cmake failed with exit code 1

Re: Setting Target esp32s2 Fails

Posted: Sun Jan 17, 2021 8:44 pm
by markjuggles
Since following the instructions step by step wasn't working, I tried something different.

idf.py set-target esp32s2 # still fails
set IDF_TARGET=esp32s2 # just guessing
idf.py menuconfig
idf.py build
idf.py -p com15 flash
idf.py -p com15 monitor

It works!!!!

So hello_world is running. I will try a real networking project.... Wish me luck.

Re: Setting Target esp32s2 Fails

Posted: Sun Jan 17, 2021 8:45 pm
by chegewara
Do you have by accident sdkconfig.default in project folder?

Re: Setting Target esp32s2 Fails

Posted: Sun Jan 17, 2021 10:00 pm
by markjuggles
There is a "sdkconfig.defaults" file.

I don't know which step created it but it wasn't in the original "esp-idf\examples\get-started\hello_world" folder.

Re: Setting Target esp32s2 Fails

Posted: Sun Jan 17, 2021 11:53 pm
by chegewara
markjuggles wrote:
Sun Jan 17, 2021 10:00 pm
There is a "sdkconfig.defaults" file.

I don't know which step created it but it wasn't in the original "esp-idf\examples\get-started\hello_world" folder.
Is this set in sdkconfig.defaults:

Code: Select all

CONFIG_IDF_TARGET=

Re: Setting Target esp32s2 Fails

Posted: Mon Jan 18, 2021 2:16 am
by markjuggles
No, after getting the project to work by setting the environment manually, the file contained this:

Code: Select all

# Enable FATFS read only with long filename support
# for loading Cert/CA/etc from filesystem
# (if enabled in config)
CONFIG_FATFS_READONLY=y
CONFIG_FATFS_CODEPAGE_437=y
CONFIG_FATFS_LFN_HEAP=y

# Enable TLS asymmetric in/out content length
CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
Going back to the 'blink' project which I had not configured via the environment, there was also a "sdkconfig.defaults" file but it only contained this:

Code: Select all

#

Re: Setting Target esp32s2 Fails

Posted: Mon Jan 18, 2021 5:07 am
by ESP_Angus
Hi Mark,

I'm glad you were able to get the project to build, and sorry for all the hassles encountered.
IDF_TARGET in CMake cache does not match IDF_TARGET environment variable.
To change the target, clear the build directory and sdkconfig file, and
build the project again
This error, and the success you had with "set IDF_TARGET=esp32s2" seems to suggest that your system already had an environment variable named IDF_TARGET set. This isn't part of the getting started guide for recent ESP-IDF versions, is it possible this variable was set somehow while following an earlier/different set of steps?

If you open a new Command Prompt, can you get it to build without setting this variable? If you run "echo %IDF_TARGET%" in the same window, what do you see?

Re: Setting Target esp32s2 Fails

Posted: Mon Jan 18, 2021 1:19 pm
by markjuggles
I have evaluated several WiFi chips and have two products in production with competing radios. The ESP32 has the best price but by far the most challenging development environment.

Trying to re-build with a clean environment:

Created a CMD window.
Ran 'esp-idf\export.bat'.

C:\esp\projects\esp-aws-iot\aws-projects\subscribe_publish>idf.py build
Executing action: all (aliases: build)
Project sdkconfig was generated for target 'esp32s2', but environment variable IDF_TARGET is set to 'esp32'. Run 'idf.py set-target esp32' to generate new sdkconfig file for target esp32.

C:\esp\projects\esp-aws-iot\aws-projects\subscribe_publish>echo %IDF_TARGET%
esp32