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

Request: ESP32-S3 ULP support in PlatformIO. #1144

Open
peteDDD opened this issue Jul 7, 2023 · 39 comments
Open

Request: ESP32-S3 ULP support in PlatformIO. #1144

peteDDD opened this issue Jul 7, 2023 · 39 comments

Comments

@peteDDD
Copy link

peteDDD commented Jul 7, 2023

ULP example code does not build for ESP32-S3 under PlatformIO

see: https://community.platformio.org/t/asking-again-getting-ulp-tool-example-espidf-ulp-pulse-to-work/34639

@Jason2866
Copy link
Contributor

@Jason2866
Copy link
Contributor

Oh just noticed, there are the old examples in the repo. In my fork I have updated to the recent ones from espressif.
So yes there is action necessary

@peteDDD
Copy link
Author

peteDDD commented Jul 7, 2023 via email

@Jason2866
Copy link
Contributor

@peteDDD
Copy link
Author

peteDDD commented Jul 7, 2023 via email

@peteDDD
Copy link
Author

peteDDD commented Jul 8, 2023 via email

@Jason2866
Copy link
Contributor

Jason2866 commented Jul 9, 2023

Do you have copied the whole example folder with everything in there?
You have nothing to configure in menuconfig. All needed settings are in sdkconfig.defaults.esp32s3. Only set the S3 as env you want to compile. Hit compile button. That's all.

Do not make a new project. Use open folder from VSC to select the example project.
You don't need anything from espressif IDF. Everything needed will be installed and used from Platformio.

@peteDDD
Copy link
Author

peteDDD commented Jul 9, 2023 via email

@Jason2866
Copy link
Contributor

Mhh, do you have a config which uses different drives?
One part is done on [3/13] Generating D:/a/platform-espressif32/platform-espressif32/examples/espidf-ulp-riscv/ulp/main.c
All other is on drive c:/Users/runneradmin/
This one makes me believe something weird with your path(s) is going on
CMakeFiles/ulp_main.dir/C_/Users/runneradmin/

Do you have whitespaces or special chars in a path?
Do you use a network or cloud drive?

Whitespaces and special chars WILL make issues.
Cloud drives can make troubles.

@peteDDD
Copy link
Author

peteDDD commented Jul 9, 2023 via email

@peteDDD
Copy link
Author

peteDDD commented Jul 9, 2023 via email

@Jason2866
Copy link
Contributor

The are in the IDF framework which is located in .platformio/packages/framework-espidf/components/ulp/ulp_riscv/
The used framework source:
https://github.com/tasmota/esp-idf/tree/release/v4.4/components/ulp/include/esp32s3

@peteDDD
Copy link
Author

peteDDD commented Jul 9, 2023 via email

@Jason2866
Copy link
Contributor

Just tried. Both of this config do work:

[platformio]
src_dir = main

[env:esp32dev]
platform = espressif32 @ ^5.4.0
framework = espidf
board = esp32dev

[env:esp32-s2]
platform = espressif32 @ ^5.4.0
framework = espidf
board = esp32-s2-saola-1

[env:esp32-s3]
platform = espressif32 @ ^5.4.0
framework = espidf
board = esp32-s3-devkitc-1

and

[platformio]
src_dir = main

[env:esp32dev]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.06.04/platform-espressif32.zip
framework = espidf
board = esp32dev

[env:esp32-s2]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.06.04/platform-espressif32.zip
framework = espidf
board = esp32-s2-saola-1

[env:esp32-s3]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.06.04/platform-espressif32.zip
framework = espidf
board = esp32-s3-devkitc-1

@valeros
Copy link
Member

valeros commented Jul 10, 2023

Hi @peteDDD, if I'm not mistaken, the ulp_main.h file is autogenerated and should be located somewhere in your build directory, e.g. .pio\build\YOUR_ENV\esp-idf\main\ulp_main. Anyway, after all previous steps you tried, what error message do you see?

@peteDDD
Copy link
Author

peteDDD commented Jul 10, 2023

Valeros. My understanding is the same... ulp_main.h should be autogenerated and located in the build directory. But it is nowhere to be found on my computer.

The error is simply "cannot open source file for that the #include statements for "esp32s2/ulp.h" and for "ulp_main.h"
(pretty standard sort of error that I know how to fix... when the files actually exist and can be found)

@peteDDD
Copy link
Author

peteDDD commented Jul 10, 2023

Hi Jason,
Thanks again for your perseverance in helping me.

I tried the approach of this platformio.ini
`[platformio]
src_dir = main

[env:esp32-s3]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.06.04/platform-espressif32.zip
framework = espidf
board = esp32-s3-devkitc-1`

and got the same results...

Processing esp32-s3 (platform: https://github.com/tasmota/platform-espressif32/releases/download/2023.06.04/platform-espressif32.zip; framework: espidf; board: esp32-s3-devkitc-1) ---------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (2023.6.4) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) 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 @ 2.0.10
  • framework-espidf @ 3.40405.0 (4.4.5)
  • tool-cmake @ 3.21.3
  • tool-esptoolpy @ 1.40602.0 (4.6.2)
  • tool-idf @ 1.0.1
  • tool-mconf @ 1.4060000.20190628 (406.0.0)
  • tool-mklittlefs @ 1.203.210628 (2.3)
  • tool-mkspiffs @ 2.230.0 (2.30)
  • tool-ninja @ 1.9.0
  • toolchain-esp32ulp @ 1.23500.220830 (2.35.0)
  • toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
  • toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
    Reading CMake configuration...
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 0 compatible libraries
    Scanning dependencies...
    No dependencies
    Building in release mode
    Generating ULP configuration
    *** [.pio\build\esp32-s3.pio\build\esp32-s3\ulp_main.bin.o] Source C:\Users\peted\Documents\PlatformIO\Projects\ULP2\.pio\build\esp32-s3\ulp_main.bin.S' not found, needed by target .pio\build\esp32-s3.pio\build\esp32-s3\ulp_main.bin.o'.
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/Users/peted/.platformio/packages/toolchain-esp32ulp/bin/esp32ulp-elf-as.exe
    -- The C compiler identification is GNU 8.4.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: C:/Users/peted/.platformio/packages/[email protected]+2021r2-patch5/bin/xtensa-esp32s3-elf-gcc.exe - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Building ULP app ulp_main for esp32s3
    -- ULP assembler version: 2.35_20220830
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/owner/Documents/PlatformIO/Projects/ULP2/.pio/build/esp32-s3/esp-idf/main/ulp_main
    ============================================================== [FAILED] Took 7.19 seconds ==============================================================`

I also tried:

`
[platformio]
src_dir = main

[env:esp32-s3]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.06.04/platform-espressif32.zip
framework = espidf
board = esp32-s3-devkitc-1
lib_ldf_mode = deep
lib_extra_dirs =
c:\Users\peted\Documents\PlatformIO\Projects\ULP2.pio\build\esp32-s3\esp-idf
;\main\ulp_main
`

and got the same results.

@valeros
Copy link
Member

valeros commented Jul 10, 2023

@peteDDD Please share here the contents of your CMakeLists.txt from the main folder.

@peteDDD
Copy link
Author

peteDDD commented Jul 10, 2023 via email

@valeros
Copy link
Member

valeros commented Jul 10, 2023

set(ulp_s_sources "ulp/pulse_cnt.S" "ulp/wake_up.S")

Where did you get that example? This line should contain proper relative paths as shown in our example in this repository:

set(ulp_s_sources "../ulp/pulse_cnt.S" "../ulp/wake_up.S")

@peteDDD
Copy link
Author

peteDDD commented Jul 10, 2023 via email

@Jason2866
Copy link
Contributor

Jason2866 commented Jul 10, 2023

@valeros Both variants do work. Your example is not S3 ready. The main source code ulp_example_main.c is only for ESP32 not for S2/S3.

@Jason2866
Copy link
Contributor

The updated code from espressif

/* ULP Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/

#include <stdio.h>
#include "esp_sleep.h"
#include "nvs.h"
#include "nvs_flash.h"
#include "soc/rtc_cntl_reg.h"
#include "soc/sens_reg.h"
#include "soc/rtc_periph.h"
#include "driver/gpio.h"
#include "driver/rtc_io.h"

#if CONFIG_IDF_TARGET_ESP32
#include "esp32/ulp.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/ulp.h"
#elif CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/ulp.h"
#endif

#include "ulp_main.h"

extern const uint8_t ulp_main_bin_start[] asm("_binary_ulp_main_bin_start");
extern const uint8_t ulp_main_bin_end[]   asm("_binary_ulp_main_bin_end");

static void init_ulp_program(void);
static void update_pulse_count(void);

void app_main(void)
{
    esp_sleep_wakeup_cause_t cause = esp_sleep_get_wakeup_cause();
    printf("cause %d\n", cause);
    if (cause != ESP_SLEEP_WAKEUP_ULP) {
        printf("Not ULP wakeup, initializing ULP\n");
        init_ulp_program();
    } else {
        printf("ULP wakeup, saving pulse count\n");
        update_pulse_count();
    }

    printf("Entering deep sleep\n\n");
    ESP_ERROR_CHECK( esp_sleep_enable_ulp_wakeup() );
    esp_deep_sleep_start();
}

static void init_ulp_program(void)
{
    esp_err_t err = ulp_load_binary(0, ulp_main_bin_start,
            (ulp_main_bin_end - ulp_main_bin_start) / sizeof(uint32_t));
    ESP_ERROR_CHECK(err);

    /* GPIO used for pulse counting. */
    gpio_num_t gpio_num = GPIO_NUM_0;
    int rtcio_num = rtc_io_number_get(gpio_num);
    assert(rtc_gpio_is_valid_gpio(gpio_num) && "GPIO used for pulse counting must be an RTC IO");

    /* Initialize some variables used by ULP program.
     * Each 'ulp_xyz' variable corresponds to 'xyz' variable in the ULP program.
     * These variables are declared in an auto generated header file,
     * 'ulp_main.h', name of this file is defined in component.mk as ULP_APP_NAME.
     * These variables are located in RTC_SLOW_MEM and can be accessed both by the
     * ULP and the main CPUs.
     *
     * Note that the ULP reads only the lower 16 bits of these variables.
     */
    ulp_debounce_counter = 3;
    ulp_debounce_max_count = 3;
    ulp_next_edge = 0;
    ulp_io_number = rtcio_num; /* map from GPIO# to RTC_IO# */
    ulp_edge_count_to_wake_up = 10;

    /* Initialize selected GPIO as RTC IO, enable input, disable pullup and pulldown */
    rtc_gpio_init(gpio_num);
    rtc_gpio_set_direction(gpio_num, RTC_GPIO_MODE_INPUT_ONLY);
    rtc_gpio_pulldown_dis(gpio_num);
    rtc_gpio_pullup_dis(gpio_num);
    rtc_gpio_hold_en(gpio_num);

#if CONFIG_IDF_TARGET_ESP32
    /* Disconnect GPIO12 and GPIO15 to remove current drain through
     * pullup/pulldown resistors on modules which have these (e.g. ESP32-WROVER)
     * GPIO12 may be pulled high to select flash voltage.
     */
    rtc_gpio_isolate(GPIO_NUM_12);
    rtc_gpio_isolate(GPIO_NUM_15);
#endif // CONFIG_IDF_TARGET_ESP32

    esp_deep_sleep_disable_rom_logging(); // suppress boot messages

    /* Set ULP wake up period to T = 20ms.
     * Minimum pulse width has to be T * (ulp_debounce_counter + 1) = 80ms.
     */
    ulp_set_wakeup_period(0, 20000);

    /* Start the program */
    err = ulp_run(&ulp_entry - RTC_SLOW_MEM);
    ESP_ERROR_CHECK(err);
}

static void update_pulse_count(void)
{
    const char* namespace = "plusecnt";
    const char* count_key = "count";

    ESP_ERROR_CHECK( nvs_flash_init() );
    nvs_handle_t handle;
    ESP_ERROR_CHECK( nvs_open(namespace, NVS_READWRITE, &handle));
    uint32_t pulse_count = 0;
    esp_err_t err = nvs_get_u32(handle, count_key, &pulse_count);
    assert(err == ESP_OK || err == ESP_ERR_NVS_NOT_FOUND);
    printf("Read pulse count from NVS: %5d\n", pulse_count);

    /* ULP program counts signal edges, convert that to the number of pulses */
    uint32_t pulse_count_from_ulp = (ulp_edge_count & UINT16_MAX) / 2;
    /* In case of an odd number of edges, keep one until next time */
    ulp_edge_count = ulp_edge_count % 2;
    printf("Pulse count from ULP: %5d\n", pulse_count_from_ulp);

    /* Save the new pulse count to NVS */
    pulse_count += pulse_count_from_ulp;
    ESP_ERROR_CHECK(nvs_set_u32(handle, count_key, pulse_count));
    ESP_ERROR_CHECK(nvs_commit(handle));
    nvs_close(handle);
    printf("Wrote updated pulse count to NVS: %5d\n", pulse_count);
}

@Jason2866
Copy link
Contributor

Since the default (platformio) folder structure is used this part is not needed at all

# 2. Specify all assembly source files.
#    Files should be placed into a separate directory (in this case, ulp/),
#    which should not be added to COMPONENT_SRCS.
set(ulp_s_sources "../ulp/pulse_cnt.S" "../ulp/wake_up.S")
#

Just try and comment the line. Compile will be successful

@peteDDD
Copy link
Author

peteDDD commented Jul 10, 2023 via email

@valeros
Copy link
Member

valeros commented Jul 11, 2023

@peteDDD You've already tried a lot, but I'd like ask you to follow these steps:

  1. Remove all previous platform packages espressif* in this folder C:/Users/YOUR_USER/.platformio/platforms
  2. Download this example espidf-ulp-pulse-test.zip and compile it
  3. Share here the error message if any

@peteDDD
Copy link
Author

peteDDD commented Jul 11, 2023

Valeros,
Thank you. Seems to be about the same results. Prior to compiling, #include "ulp_main.h" shows "cannot open source".
Here is the output of the build.

`Executing task: C:\Users\peted.platformio\penv\Scripts\platformio.exe run

Processing esp32-s3-devkitc-1 (platform: espressif32; framework: espidf; board: esp32-s3-devkitc-1)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (6.3.2) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) 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-espidf @ 3.50002.230601 (5.0.2)
  • tool-cmake @ 3.16.4
  • tool-esptoolpy @ 1.40501.0 (4.5.1)
  • tool-idf @ 1.0.1
  • tool-mconf @ 1.4060000.20190628 (406.0.0)
  • tool-ninja @ 1.9.0
  • toolchain-esp32ulp @ 1.23500.220830 (2.35.0)
  • toolchain-riscv32-esp @ 11.2.0+2022r1
  • toolchain-xtensa-esp32s3 @ 11.2.0+2022r1
    Reading CMake configuration...
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 0 compatible libraries
    Scanning dependencies...
    No dependencies
    Building in release mode
    Generating ULP configuration
    *** [.pio\build\esp32-s3-devkitc-1.pio\build\esp32-s3-devkitc-1\ulp_main.bin.o] Source C:\Users\peted\Documents\PlatformIO\Projects\espidf-ulp-pulse-test\.pio\build\esp32-s3-devkitc-1\ulp_main.bin.S' not found, needed by target .pio\build\esp32-s3-devkitc-1.pio\build\esp32-s3-devkitc-1\ulp_main.bin.o'.
    -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.41.0.windows.1")
    fatal: not a git repository (or any of the parent directories): .git
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/Users/peted/.platformio/packages/toolchain-esp32ulp/bin/esp32ulp-elf-as.exe
    -- The C compiler identification is GNU 11.2.0
    -- Check for working C compiler: C:/Users/peted/.platformio/packages/toolchain-xtensa-esp32s3/bin/xtensa-esp32s3-elf-gcc.exe
    -- Check for working C compiler: C:/Users/peted/.platformio/packages/toolchain-xtensa-esp32s3/bin/xtensa-esp32s3-elf-gcc.exe -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Building ULP app ulp_main
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/owner/Documents/PlatformIO/Projects/espidf-ulp-pulse-test/.pio/build/esp32-s3-devkitc-1/esp-idf/src/ulp_main
    ================================================================================ [FAILED] Took 11.51 seconds ================================================================================`

@valeros
Copy link
Member

valeros commented Jul 11, 2023

Thanks, could you please also run your project in verbose mode and attach logs here? Just open the terminal window in the IDE and run the following commands one by one:

# Clean the project before build
pio run -t clean

# Run in verbose mode
pio run -v -j1

@peteDDD
Copy link
Author

peteDDD commented Jul 11, 2023

While that build is working (takes a really long time in verbose mode), I am wondering... the ulp_main.h, doesn't that just need to have in it the mapping of the ulp and main processor variables and if so, couldn't I just write that and put it in src? Somsthing like:
extern uint32_t ulp_edge_count;

@peteDDD
Copy link
Author

peteDDD commented Jul 11, 2023

Holly cow! Success!!! But why did it suddenly work???

loglog.txt

@peteDDD
Copy link
Author

peteDDD commented Jul 11, 2023

BUT... on next run to upload... failed the same way.

So, I ran the clean and run again (without verbose logging) and was back to the same failure.

SO... repeated clean and verbose build... and it builds.

Now I guess I need to do a verbose upload.

@peteDDD
Copy link
Author

peteDDD commented Jul 11, 2023

Verbose upload compiled and uploaded.
When funning, the monitor shows the processor going to ULP deep sleep but nothing happens after that.
No number of IO0 button presses trigger a wakeup and report.
Tried on two different ESP32S3 boards.
Checked in menuconfig that the ULP was enabled and set to FSM with 1024 bytes of RTC slow memory reserved.

great progress.... but still not quite there. Thank you!
I eager for more ideas.

One note. The building seems to be pretty non-repeatable. I have to go back and do a clean and a verbose build each time. Any other approach, such as just doing a verbose upload, does fails. Perhaps Platformio is going out and downloading more "meta" files that we have to clear out.

@Jason2866
Copy link
Contributor

Jason2866 commented Jul 11, 2023

@valeros For me it does only compile when the main source code is in folder main. Your example setup does fail to compile. This one works for me.
espidf-ulp-pulse-test.zip

Edit with platform = espressif32 @ ^6.3.2 it fails now too. With Github Actions it compiles successful with IDF 5.0.2 ?!
Edit2: The example does fail with plain IDF 5.0.2. So it is not a Platformio bug
Same error

/Users/hans/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin/esp32ulp-elf-ld: invalid length for memory region ram

@Jason2866
Copy link
Contributor

Jason2866 commented Jul 11, 2023

So this one works for me with Plain IDF 5.1 and espressif32 @ ^6.3.2 and platform = espressif32 @ ^5.4.0

espidf-ulp-pulse-test.zip

@peteDDD @valeros

@peteDDD
Copy link
Author

peteDDD commented Jul 12, 2023 via email

@valeros
Copy link
Member

valeros commented Jul 13, 2023

@peteDDD If possible, I'd like to look into a dependency tree generated on your machine. Please open the terminal in the IDE and follow these steps:

# Clean the project before build
pio run -t clean

# Set some special SCons flags
set SCONSFLAGS=--tree=prune

# Run the project and redirect the output to a file
pio run > esp32s3ulp-deptree-prune.txt

# Clean variable
set SCONSFLAGS=

Please share here the esp32s3ulp-deptree-prune.txt file.

@stale
Copy link

stale bot commented Aug 13, 2023

This issue has been automatically marked as stale because it has not had recent activity. Please provide more details or it will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 13, 2023
@peteDDD
Copy link
Author

peteDDD commented Aug 26, 2023

Well life got a little out of hand for a while there, but I am finally back to this.

Summary of where I am now...
1: Today I downloaded espidf-ulp-pulse-test.zip which Jason2866 posted here on 11 July. The only change I made was to add monitor_speed = 115200 to the platformio.ini
2: This compiles and loads.
3: I have tried to run this on two different ESP32S3 boards. One is the genuine Espressif ESP32-S3-DevKitC-1U and one is an aliexpress knock-off with a wider footprint and more flash.
4: On the Expressif card, I get the following on the monitor... and then nothing else, no matter how many times I press the pin0 boot botton.
[CODE]
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3810,len:0x11e0
load:0x403c9700,len:0xa54
load:0x403cc700,len:0x2cc4
entry 0x403c9894
Not ULP wakeup, initializing ULP
Entering deep sleep
[/CODE]

On the knockoff ESP32-S3, I get the following:

[CODE]
`ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x0 (DOWNLOAD(USB/UART0))
waiting for download
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3810,len:0x11e0
load:0x403c9700,len:0xa54
load:0x403cc700,len:0x2cc4
entry 0x403c9894
␛[0;33mW (90) spi_flash: Detected size(16384k) larger than the size in the binary image header(8192k). Using the size in the binary image header.␛[0m
Not ULP wakeup, initializing ULP
Entering deep sleep
[/CODE]

5: @valeros you asked for the esp32s3ulp-deptree-prune.txt, It is attached.

While running the pio run to generate the deptree, it completed, but I got the following messages (my entries included here also for completeness):
[CODE]
PS C:\Users\peted\Downloads\espidf-ulp-pulse-test\espidf-ulp-pulse-test> pio run -t clean
Processing esp32-s3 (platform: espressif32 @ ^6.3.2; framework: espidf; board: esp32-s3-devkitc-1)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled vVerbose mode can be enabled via -v, --verbose option
Removing .pio\build\esp32-s3
Done cleaning
===================================================================================================================================================================================================== [SUCCESS] Took 0.99 seconds =====================================================================================================================================================================================================
PS C:\Users\peted\Downloads\espidf-ulp-pulse-test\espidf-ulp-pulse-test> set SCONSFLAGS=--tree=prune
PS C:\Users\peted\Downloads\espidf-ulp-pulse-test\espidf-ulp-pulse-test> pio run > esp32s3ulp-deptree-prune.txt
fatal: not a git repository (or any of the parent directories): .git
[/CODE]

6: I also reconfigured my platformio.ini and uploaded the project to an ESP32 card (TTGO T-Display) and got similar behavior in that I got nothing beyond the "Entering deep sleep" message.

Thanks again for all the help and patience. Any ideas on why none of these processors is exiting the deep sleep?

esp32s3ulp-deptree-prune.txt

@peteDDD @valeros @Jason2866

@stale stale bot removed the stale label Aug 26, 2023
Copy link

stale bot commented Dec 15, 2023

This issue has been automatically marked as stale because it has not had recent activity. Please provide more details or it will be closed if no further activity occurs. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants