I'm currently trying to bring up an esp32cam board using pio with framework=espidf.
I'm setting up the project according to the guide here https://github.com/espressif/esp32-camera. I took into account all the mentioned hints to bring it up in this constellation. But I'm ending always with the linking errors below:
Code: Select all
> Executing task: C:\Users\grobot\.platformio\penv\Scripts\platformio.exe run <
Processing esp32cam (platform: espressif32; board: esp32cam; framework: espidf)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32cam.html
PLATFORM: Espressif 32 (3.5.0) > AI Thinker ESP32-CAM
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-espidf 3.40302.0 (4.3.2)
- tool-cmake 3.16.4
- tool-esptoolpy 1.30100.210531 (3.1.0)
- tool-idf 1.0.1
- tool-mconf 1.4060000.20190628 (406.0.0)
- tool-ninja 1.9.0
- toolchain-esp32ulp 1.22851.191205 (2.28.51)
- toolchain-riscv32-esp 8.4.0+2021r2-patch2
- toolchain-xtensa-esp32 8.4.0+2021r2-patch2
- toolchain-xtensa-esp32s2 8.4.0+2021r2-patch2
WARNING: You are using pip version 22.0.3; however, version 22.0.4 is available.
You should consider upgrading via the 'C:\Users\grobot\.platformio\penv\Scripts\python.exe -m pip install --upgrade pip' command.
Reading CMake configuration...
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 1 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <esp32-camera> 2.0.0
Building in release mode
Linking .pio\build\esp32cam\firmware.elf
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(ov2640.o): in function `set_xclk':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/sensors/ov2640.c:502: undefined reference to `xclk_timer_conf'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(nt99141.o): in function `set_xclk':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/sensors/nt99141.c:932: undefined reference to `xclk_timer_conf'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(ov3660.o): in function `set_xclk':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/sensors/ov3660.c:965: undefined reference to `xclk_timer_conf'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(ov5640.o): in function `set_xclk':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/sensors/ov5640.c:1042: undefined reference to `xclk_timer_conf'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(esp_camera.o):(.literal.camera_probe+0x1c): undefined reference to `camera_enable_out_clock'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(esp_camera.o):(.literal.camera_probe+0x20): undefined reference to `camera_disable_out_clock'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(esp_camera.o): in function `camera_probe':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/esp_camera.c:138: undefined reference to `camera_enable_out_clock'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/esp_camera.c:169: undefined reference to `camera_disable_out_clock'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/esp_camera.c:198: undefined reference to `camera_disable_out_clock'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(esp_camera.o): in function `esp_camera_deinit':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/esp_camera.c:211: undefined reference to `camera_disable_out_clock'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(bf3005.o):(.literal.set_xclk+0x4): undefined reference to `xclk_timer_conf'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(bf3005.o): in function `set_xclk':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/sensors/bf3005.c:461: undefined reference to `xclk_timer_conf'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(ov7725.o): in function `set_xclk':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/sensors/ov7725.c:486: undefined reference to `xclk_timer_conf'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_start_frame+0x4): undefined reference to `ll_cam_start'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_start_frame+0x8): undefined reference to `ll_cam_do_vsync'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_dma_config+0x38): undefined reference to `ll_cam_dma_sizes'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_dma_config+0x3c): undefined reference to `ll_cam_get_dma_align'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_init+0x14): undefined reference to `ll_cam_set_pin'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_init+0x18): undefined reference to `ll_cam_config'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_stop+0x0): undefined reference to `ll_cam_vsync_intr_enable'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_stop+0x4): undefined reference to `ll_cam_stop'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_deinit+0x0): undefined reference to `ll_cam_deinit'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_config+0x24): undefined reference to `ll_cam_set_sample_mode'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_config+0x28): undefined reference to `ll_cam_init_isr'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o):(.literal.cam_task+0x10): undefined reference to `ll_cam_memcpy'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_start_frame':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:79: undefined reference to `ll_cam_start'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:81: undefined reference to `ll_cam_do_vsync'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_dma_config':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:240: undefined reference to `ll_cam_dma_sizes'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:255: undefined reference to `ll_cam_get_dma_align'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_init':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:315: undefined reference to `ll_cam_set_pin'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:317: undefined reference to `ll_cam_config'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_stop':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:329: undefined reference to `ll_cam_vsync_intr_enable'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:329: undefined reference to `ll_cam_stop'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_deinit':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:425: undefined reference to `ll_cam_deinit'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_config':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:343: undefined reference to `ll_cam_set_sample_mode'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:374: undefined reference to `ll_cam_init_isr'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_start':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:381: undefined reference to `ll_cam_vsync_intr_enable'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_task':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:134: undefined reference to `ll_cam_stop'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:141: undefined reference to `ll_cam_memcpy'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:145: undefined reference to `ll_cam_stop'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:147: undefined reference to `ll_cam_stop'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:160: undefined reference to `ll_cam_memcpy'
c:/users/grobot/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32cam\libce6\libesp32-camera.a(cam_hal.o): in function `cam_take':
D:\Projects\esp32cam\esp32cam_1/.pio/libdeps/esp32cam/esp32-camera/driver/cam_hal.c:464: undefined reference to `ll_cam_memcpy'
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\esp32cam\firmware.elf] Error 1
============================================================================= [FAILED] Took 23.09 seconds =============================================================================
The terminal process "C:\Users\grobot\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.
Thanks!