Search code examples
esp32platformio

Source .pio/build/esp32dev/https_server.crt.S' not found


I have this issue with PlatformIO, Vscode and esp32:

*** [.pio/build/esp32dev/.pio/build/esp32dev/https_server.crt.S.o] Source .pio/build/esp32dev/https_server.crt.S' not found, needed by target .pio/build/esp32dev/.pio/build/esp32dev/https_server.crt.S.o'.

This is my platformio.ini

[env:esp32dev]
platform = espressif32

board = esp32dev
monitor_speed = 115200

; Set the CPU frequency to 240 MHz for optimal performance
board_build.f_cpu = 240000000L

framework = arduino, espidf
upload_speed = 921600

; Configure flash settings
board_build.f_flash = 40000000
board_build.flash_mode = qio
board_build.flash_size = 4MB
board_build.cpu_freq = 240MHz
board_build.partitions = partitions.csv
board_build.mcu = esp32
board_build.psram = false

board_upload.flash_erase = true

; WiFi debug flags
build_flags =
    -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
    -DARDUINO_RUNNING_CORE=1
    -DESP32

; Libraries for the project
lib_deps =
    adafruit/Adafruit BME280 Library
    bblanchon/ArduinoJson
    Links2004/WebSockets
    WiFi

; Events run on core 1
build_unflags = -DARDUINO_RUNNING_CORE=0

I don't use a esp server/webserver/websocket server and don't need in certifications.


Solution

  • I was able to solve by by just removing the espidf from platformio.ini

    From:

    framework = arduino, espidf
    

    To:

    framework = arduino
    

    And after it there is need to update the main.cpp file.

    From:

    void loopTask(void *pvParameters) {
      while (true) {
        loop();
      }
    }
    
    extern "C" void app_main() {
      setup();
      
      xTaskCreatePinnedToCore(
        loopTask,      // Task function
        "LoopTask",    // Task name
        10000,         // Stack size (bytes)
        NULL,          // Task parameter
        1,             // Task priority
        &LoopTaskHandler,
        1              // Core to run the task on (1 = core 1)
      );
    
      disableCore1WDT();
    }
    
    void setup() {...}
    void loop() {...}
    

    To:

    void setup() {...}
    void loop() {...}
    

    The last action is needed because when you leave arduino only in platformio.ini, the arduino framework already has that loop task and app_main under the hood.