I’ve been trying to get a ULP project running for a while and have failed to get a build to get past the ULP assemply step.
So I cloned one of the examples on github, at https://github.com/krzychb/ulp-loop. This sample does not require any external hardware so I thought it would be the ideal sample to test my build setup. I would have expected it to build without error. I installed ESP-IDF v3.3 a few days ago after it was labeled ‘stable’ as well at the ULP build tools, v2.28.51-esp-20190801 (which I’m guessing was released on 9/1/2019, which would make it about a week old), set up the PATH and COMPONENT_PATH environment variables to point to the right directories etc. That turned out to be a problem as many if not all the tools in that ULP tools update had new file names. For instance, ‘esp32ulp-elf-as.exe’ was now ‘esp32s2ulp-elf-as.exe’. Necessary files were not found with the new file names. It’s nice to see you planning for the new chip, but this update just does not work with the idf v3.3 tools. The error messages are pretty weird too. So I installed the previous release of ULP tools, and the only other one I could find on githum, v2.28.51-esp32ulp-20180809 with the expectation that all would be well.
Without modifying krzychb’s ulp-loop or its make files in any way, It fails to build in exactly the same way with exactly the same error messages as my project. (My main component in C, consisting of several files but without ULP hooks, compiles and runs without error.)
Below are excerpts from a log of my build run with https://github.com/krzychb/ulp-loop. This time the build failed in a new way at the same place.
After running ‘make menuconfig’, I get:
Code: Select all
GENCONFIG
/bin/sh: esp32ulp-elf-as: command not found
Building ULP app ulp_main
ULP assembler version:
WARNING: ULP assembler version is not supported.
Expected to see version: 2.28.51.20170517
Please check ESP-IDF ULP setup instructions and update the toolchain, or proceed at your own risk.
App "ulp-example" version: 67e0e1e
When I continue the build to see what will happen, I get:
Code: Select all
$ make app
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
CC build/app_trace/app_trace.o
CC build/app_trace/host_file_io.o
. a lot more apparently successful compiles… until...
.
Code: Select all
CC build/lwip/port/esp32/netif/wlanif.o
CC build/lwip/port/esp32/debug/lwip_debug.o
AR build/lwip/liblwip.a
/bin/sh: esp32ulp-elf-as: command not found
Building ULP app ulp_main
ULP assembler version:
WARNING: ULP assembler version is not supported.
Expected to see version: 2.28.51.20170517
Please check ESP-IDF ULP setup instructions and update the toolchain, or proceed at your own risk.
CPP main/ulp/loop_blink.S
ULP_AS build/main/loop_blink.ulp.o
make[1]: esp32ulp-elf-as: Command not found
make[1]: *** [/home/Steve/esp/esp-idf/components/ulp/component_ulp_common.mk:54: loop_blink.ulp.o] Error 127
make: *** [c:/msys32/home/Steve/esp/esp-idf/make/project.mk:552: component-main-build] Error 2