-
Notifications
You must be signed in to change notification settings - Fork 7.5k
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
esp32-2.0.15+esp32-2.0.16 Arduino boards breaks code from running on esp32-s3 (lilygo-t-dongle) #9618
Comments
The change done in IDF to |
is this also the case with 3.0.0-rc2? |
Yes, since it is wrong in IDF branch release/v5.1 https://github.com/espressif/esp-idf/blob/442a7980835731c0a720bcfd8d3ff2f7acd01835/components/soc/esp32s3/include/soc/soc.h#L37 |
Thanks for your reply, I tried your modded code and unfortunately that still breaks the dongle from being able to run after being compiled and uploaded. Commenting out that line and the dongle works again. |
@mrdude2478 Looks like a specific issue with the code used. Without this define it shouldnt work at all. Probably something special is done |
Well the code works fine in 2.0.14 and previous boards code, it works fine in 2.0.16 with that line commented out? I just tried the new updated RC that's posted in the releases and now my dongle shows up as this: Instead of being a ESP32S3 Dev Module. (not that it's related to my fault). In the meantime I will just go back to using 2.0.14 as I don't get any issues with that. |
Works fine with older core does not help anything. The used code may does some stuff which is not compatible. |
I appreciate you are trying to help and I am thankful you have read this error in the code. I am not very technical and don't understand about chip registers etc, all I can say about the issue I am having has been said above. For Lilygo-t-dongle (esp32-s3) the last boards code which worked without errors was in 2.0.14, ever since this line of code was added to soc.h This breaks the dongle code from being able to run, commenting that line out - the code runs just fine so I guess that there's some sort of issue with the addresses being used in it that overwrites something in the code when trying to run, I am just guessing that though, all I can really do is report the fault and hope that someone with knowledge about such things can fix it. |
been using S3 all day today and have no issues at least with 3.0.0-RC2. The addresses are not really used in Arduino (unless to print out some SPI info) but I run in debug mode that prints everything and do not have the problem. I am also interested why would it be an issue to cause board not to boot. |
That dongle I am using has a winbond w25q32 flash attached it via esp32-s3 spi pins, but you can't print out any debug code if the dongle won't boot. |
@mrdude2478 Do you have a link to the code which fails? |
Yep, here you go. If you need the libraries I am using, let me know and I'll post those as well. |
@mrdude2478 Sorry cant compile since there are dependencies to libs not mentioned where to find |
@me-no-dev This lines in Arduino arduino-esp32/cores/esp32/Esp.cpp Lines 73 to 77 in 50ef6f4
does set the REG_SPI_BASE(i) base correctly. After release of Arduino core 2.0.14the missing REG_SPI_BASE(i) settings are done in IDF 4.4 and 5.1 (sadly wrong) so the correct ones in Arduino are not used anymore.
|
@Jason2866 how can we test this? |
The function |
which chips should we verify? S3, C3 and? |
@Jason2866 The function getFlashChipMode seems to work fine for me as shown, also here are the libraries you probably need to compile it. This works fine for me, as you can see from the webserver screenshot that's running on the dongle with the line commented out as mention in previous posts. |
all except the esp32. afair that's the only one with correct setting. |
Some digging in the example code. There are two bugs. One i have mentioned in IDF AND one in the used The done changes in the file are not compatible/correct for general use.
The |
Thanks for looking into this, i restored the original 2.0.16 soc.h file, and then commented out this line in TFT_eSPI\Processors\TFT_eSPI_ESP32_S3.h: After compiling/uploading the code to the board it's still broken by using the orignal soc.h. The only thing that is working for me is to use older 2.0.14 boards files, or to comment out the line of code in 2.0.16 and to leave TFT_eSPI\Processors\TFT_eSPI_ESP32_S3.h as it is. It's probably a problem with the way the TFT_eSPI library works which is maintained by Bodmer. Anyway thanks for looking, I guess I have a workaround for now and hopefully others that are having issues can come across this post and see what the issue is. |
tft_espi fixed i guess "\Documents\Arduino\libraries\TFT_eSPI\User_Setup_Select.h" in here comment #include <User_Setup.h> this and uncomment this line #include <User_Setups/Setup206_LilyGo_T_Display_S3.h> |
Board
lilygo-t-dongle-s3
Device Description
ESP32-s3 dev module
Hardware Configuration
Dongle has a winbond - W25Q32 chip + small st3775 lcd screen built in:
https://github.com/Xinyuan-LilyGO/T-Dongle-S3
Version
latest master (checkout manually)
IDE Name
Arduino IDE 1.8.19
Operating System
Windows 10
Flash frequency
QUI 80 mhz
PSRAM enabled
no
Upload speed
921600
Description
Sketch works fine, compiles and runs fine using esp32 board definitions version 2.0.14.
When the board is updated via Arduino board manager to a greater version 2.0.15+2.0.16 the sketch compiles fine and uploads but the dongle doesn't run the code anymore. I traced the fault to this file:
C:\Users\someuser\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.16\tools\sdk\esp32s3\include\soc\esp32s3\include\soc\soc.h
A new entry was added to line 122:
#define REG_SPI_BASE(i) (((i)>=2) ? (DR_REG_SPI2_BASE + (i-2) * 0x1000) : (0)) // GPSPI2 and GPSPI3
This line when commented out lets my code run fine on my dongle again using the 2.0.15+2.0.16, somehow though that line of code breaks the lilygo-t-dongle from being able to run the compiled and uploaded code.
Sketch
Debug Message
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: