Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can not compile TinyUSB in PlatformIO framework arduino,espidf for ESP-S2 #485

Open
Jeroen88 opened this issue Dec 30, 2024 · 1 comment
Labels
Bug Something isn't working

Comments

@Jeroen88
Copy link

Operating System

Linux

Arduino IDE version

PLATFORM: Espressif 32 (6.9.0) > WEMOS LOLIN S2 Mini

Board

lolin_s2_mini

ArduinoCore version

framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b

TinyUSB Library version

3.1.3

Sketch as ATTACHED TXT

include <Arduino.h>
#include <Adafruit_TinyUSB.h>

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  delay(5000);
  Serial.println("\n\nStarted using TinyUSB");
}

void loop() {
  // put your main code here, to run repeatedly:
}

Compiled Log as ATTACHED TXT

Processing lolin_s2_mini (platform: espressif32; board: lolin_s2_mini; framework: arduino, espidf)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin_s2_mini.html
PLATFORM: Espressif 32 (6.9.0) > WEMOS LOLIN S2 Mini
HARDWARE: ESP32S2 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, 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-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b 
 - framework-espidf @ 3.40407.240606 (4.4.7) 
 - tool-cmake @ 3.16.4 
 - tool-esptoolpy @ 1.40501.0 (4.5.1) 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 1.23800.240113 (2.38.0) 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s2 @ 8.4.0+2021r2-patch5
Warning! Arduino framework as an ESP-IDF component doesn't handle the `variant` field! The default `esp32` variant will be used.
Reading CMake configuration...
Warning! Flash memory size mismatch detected. Expected 4MB, found 2MB!
Please select a proper value in your `sdkconfig.defaults` or via the `menuconfig` target!
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 38 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Adafruit TinyUSB Library @ 3.4.2
Building in release mode
Compiling .pio/build/lolin_s2_mini/src/main.cpp.o
Archiving .pio/build/lolin_s2_mini/esp-idf/app_trace/libapp_trace.a
Indexing .pio/build/lolin_s2_mini/esp-idf/app_trace/libapp_trace.a
Archiving .pio/build/lolin_s2_mini/esp-idf/app_update/libapp_update.a
Indexing .pio/build/lolin_s2_mini/esp-idf/app_update/libapp_update.a
Archiving .pio/build/lolin_s2_mini/esp-idf/asio/libasio.a
Indexing .pio/build/lolin_s2_mini/esp-idf/asio/libasio.a
In file included from .pio/libdeps/lolin_s2_mini/Adafruit TinyUSB Library/src/tusb_option.h:240,
                 from .pio/libdeps/lolin_s2_mini/Adafruit TinyUSB Library/src/Adafruit_TinyUSB.h:33,
                 from src/main.cpp:2:
.pio/libdeps/lolin_s2_mini/Adafruit TinyUSB Library/src/tusb_config.h:47:14: fatal error: ../../arduino_tinyusb/include/tusb_config.h: No such file or directory
     #include "../../arduino_tinyusb/include/tusb_config.h"
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Compiling .pio/build/lolin_s2_mini/bootloader_support/src/bootloader_common.c.o
*** [.pio/build/lolin_s2_mini/src/main.cpp.o] Error 1
================================================================================ [FAILED] Took 4.32 seconds ================================================================================

 *  The terminal process "platformio 'run'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

What happened ?

It will not compile:

In file included from .pio/libdeps/lolin_s2_mini/Adafruit TinyUSB Library/src/tusb_option.h:240,
                 from .pio/libdeps/lolin_s2_mini/Adafruit TinyUSB Library/src/Adafruit_TinyUSB.h:33,
                 from src/main.cpp:2:
.pio/libdeps/lolin_s2_mini/Adafruit TinyUSB Library/src/tusb_config.h:47:14: fatal error: ../../arduino_tinyusb/include/tusb_config.h: No such file or directory
     #include "../../arduino_tinyusb/include/tusb_config.h"
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

After taking a deep dive into the include files, like HardwareSerial.h, USBCDC,h and tusb_option.h my best guess is that the "two directories up" path (../../) for tusb_config.h points to a correct location for the ESP32 Arduino core but not for the PlatformIO espidf. But I might be completely wrong.

How to reproduce ?

Create a new PlaformIO project with a platfomio.ini like this:

[env:lolin_s2_mini]
platform = espressif32
board = lolin_s2_mini
framework = arduino, espidf

lib_deps = 
    adafruit/Adafruit TinyUSB Library@^3.1.3

build_flags = 
    -DUSE_TINYUSB

monitor_speed = 115200

in sdkconf.lolin_s2_mini set

CONFIG_FREERTOS_HZ=1000
CONFIG_AUTOSTART_ARDUINO=y

Take the above sketch and press 'Build'

I do not know if the build flag does make any difference

Debug Log

No logging yet since it does not compile.

Screenshots

No response

@Jeroen88 Jeroen88 added the Bug Something isn't working label Dec 30, 2024
@hathach
Copy link
Member

hathach commented Jan 17, 2025

please specify your exact arduino-esp32 version https://github.com/espressif/arduino-esp32/releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants