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

ESP32S3 - ULP RISCV example ds18b20_onewire does not build (IDFGH-7075) #8691

Closed
andrew-elder opened this issue Mar 30, 2022 · 8 comments
Closed
Assignees
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally

Comments

@andrew-elder
Copy link

Environment

  • Development Kit: ESP32-S3-DevKitM-1
  • Module or chip used: ESP32-S3-MINI-1
  • IDF version: "master" v5.0-dev-2046-g5963de1caf
  • Build System: idf.py
  • Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2021r2-patch3) 8.4.0
  • Operating System: Linux
  • Using an IDE?: No

Problem Description

ESP32S3 ULP compile for RISCV does not work.

I'm trying to get RISCV ULP code to compile and run on an ESP32S3. My own code gave include file errors, so I looped back to try a reference example. I used this example ds18b20_onewire. It compiles correctly for ESP32S2, but not ESP32S3.

Expected Behavior

Compilation without errors for ESP32S3.

Actual Behavior

Observe

/home/logix/projects/krado/sw/ds18b20_onewire/main/ulp/main.c:18:10: fatal error: ulp_riscv/ulp_riscv.h: No such file or directory
 #include "ulp_riscv/ulp_riscv.h"
          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Steps to reproduce

Copy the ds18b20_onewire example.

Edit sdkconfig.defaults so that it contains

CONFIG_IDF_TARGET="esp32s3"
# Enable ULP
CONFIG_ESP32S3_ULP_COPROC_ENABLED=y
CONFIG_ESP32S3_ULP_COPROC_RISCV=y
CONFIG_ESP32S3_ULP_COPROC_RESERVE_MEM=4096
# Set log level to Warning to produce clean output
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
CONFIG_BOOTLOADER_LOG_LEVEL=2
CONFIG_LOG_DEFAULT_LEVEL_WARN=y
CONFIG_LOG_DEFAULT_LEVEL=2

then

  1. idf.py fullclean
  2. idf.py set-target esp32s3
  3. idf.py build

Observe the compilation error.

@espressif-bot espressif-bot added the Status: Opened Issue is new label Mar 30, 2022
@github-actions github-actions bot changed the title ESP32S3 - ULP RISCV example ds18b20_onewire does not builld ESP32S3 - ULP RISCV example ds18b20_onewire does not builld (IDFGH-7075) Mar 30, 2022
@andrew-elder andrew-elder changed the title ESP32S3 - ULP RISCV example ds18b20_onewire does not builld (IDFGH-7075) ESP32S3 - ULP RISCV example ds18b20_onewire does not build (IDFGH-7075) Mar 30, 2022
@andrew-elder
Copy link
Author

And then there is this code in the "gpio" example

if(NOT IDF_TARGET STREQUAL "esp32s2")
    #IDF-4514
    message(FATAL_ERROR "DO NOT BUILD THIS APP FOR ANY TARGET OTHER THAN ESP32-S2 OTHERWISE YOU MAY BRICK YOUR DEVICE")
    return()
endif()

@andrew-elder
Copy link
Author

I see https://esp32.com/viewtopic.php?t=21906 that ULP is not supported yet. See related #7963, Any updates on when it will be supported?

@ESP-Marius
Copy link
Collaborator

Hi @andrew-elder ,

As you've noticed the ULP examples are currently not supported on S3, even the ULP API is currently disabled (see 2efd009 for context)

There is a fix in review for the bug mentioned above, as soon as that is merged then we'll add S3 support to these examples. If we dont encounter any issues with the proposed fix then I would estimate that we should be able to add support pretty quickly (as in sometime in April)

For reference: you can see which targets an example supports by looking at the table at the top of the examples readme.md.

@andrew-elder
Copy link
Author

@ESP-Marius - it's been a couple of months. Any updates?

@wuyuanyi135
Copy link
Contributor

wuyuanyi135 commented Jun 4, 2022

I am also designing a product that requires ulp support. Can I have the estimated release date of the fix?

If I am using the ulp without sleep. Is it safe to bypass the error check and continue to use the feature?

@ESP-Marius
Copy link
Collaborator

Sorry for the long wait guys. We've been unable to go back to our office in Shanghai for the last few months due to Covid restrictions, which unfortunately slowed down things a lot. But now we are finally back, and the MR for the above mentioned bug is ready to merge, and an MR for re-enable ULP is under review.

Should be able to get these two merged before the end of the week.

@ESP-Marius
Copy link
Collaborator

If I am using the ulp without sleep. Is it safe to bypass the error check and continue to use the feature?

Unfortunately not, as it could damage the chip permanently.

@wuyuanyi135
Copy link
Contributor

@ESP-Marius Very pleased to hear that things are going back to normal and the problem will finally get fixed. Stay safe!

@espressif-bot espressif-bot added Resolution: NA Issue resolution is unavailable Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: Opened Issue is new Resolution: NA Issue resolution is unavailable labels Jun 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally
Projects
None yet
Development

No branches or pull requests

4 participants