Open Yeharold opened 2 years ago
N8 and R8 are different things. N8 means 8MB QSPI Flash, R8 means 8MB OPI PSRAM.
Try without -DBOARD_HAS_PSRAM
and if it boots, I'll tell you what else to change.
This is for ESP32 Only! Remove please: -mfix-esp32-psram-cache-issue
Additional to what @me-no-dev said. Actual https://github.com/platformio/platform-espressif32.git does not yet support the S3. If you want to try with platformio you can use my fork. I use a ESP32-S3 with 8 MB flash and 8 MB PSRAM with actual Arduino master. I does work fine! (If you found the correct combination of the flash types)
Mandantory. Use esptool.py v3.3. Only this version has the flash size patch for the S3.
N8 and R8 are different things. N8 means 8MB QSPI Flash, R8 means 8MB OPI PSRAM. Try without
-DBOARD_HAS_PSRAM
and if it boots, I'll tell you what else to change. This is for ESP32 Only! Remove please:-mfix-esp32-psram-cache-issue
thank u for your answer,My boards N8 connect to 8 MB PSRAM, R8 connect to 8MB FLASH. remove the config your give, the issue is not fixed
Additional to what @me-no-dev said. Actual https://github.com/platformio/platform-espressif32.git does not yet support the S3. If you want to try with platformio you can use my fork. I use a ESP32-S3 with 8 MB flash and 8 MB PSRAM with actual Arduino master. I does work fine! (If you found the correct combination of the flash types)
thank you for your help so much, use your fork solve my problem. divce work fine .
Mandantory. Use esptool.py v3.3. Only this version has the flash size patch for the S3.
Follow your fork, partition table error has been fixed. but I also have a problem with esptool.py v3.3, when the upload process start, esptool.py connect my device time too short to config strapping pin(boot and rts),
Reduce upload speed. If this does not work try to put device manually in Upload mode. If this is not working try a different USB cable and maybe a extern power supply. This problem is not caused from the framework or Platformio Since it is a DIY board you have to search the problem here (Logic to put device in Boot mode)
@UnexpectedMaker No it is not related. S3 does compile with my Platformio fork and flashing via VSC is working too. The Arduino issue is probably that the reference install.json
has no S3 entry.
@UnexpectedMaker No it is not related. S3 does compile with my Platformio fork and flashing via VSC is working too. The Arduino issue is probably that the reference
install.json
has no S3 entry.
Ok, nps! Removing links other issue :)
I have the same problem. I tought it was because of PIO. PIO ISSUE
With 4mb csv it is working fine ( except my data folder does not fit into the fs ) and if i use default_16mb.csv it will boot loop. ( even with default 8mb csv )
Iam using ESP32-WROVER-E ( 16mb flash 8mb external ram )
I tried with this fork from @Jason2866 and i got a different boot loop serial output:
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:344
load:0x40078000,len:13328
=> 0x40078000: ?? ??:0
load:0x40080400,len:3488
=> 0x40080400: _init at ??:?
entry 0x400805d0
=> 0x400805d0: ?? ??:0
ets Jul 29 2019 12:21:46
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:344
load:0x40078000,len:13328
=> 0x40078000: ?? ??:0
load:0x40080400,len:3488
=> 0x40080400: _init at ??:?
entry 0x400805d0
=> 0x400805d0: ?? ??:0
ets Jul 29 2019 12:21:46
If i erase the flash and upload the data folder again, i get a different serial output:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
Does work with
[env:esp32s3]
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/829/framework-arduinoespressif32-v4.4.1-3010c4571f.tar.gz
board = esp32-s3-devkitc-1
framework = arduino
upload_speed = 921600
monitor_speed = 115200
board_build.partitions=default_8MB.csv
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
hello rgb
> Executing task: platformio run --target upload --environment esp32s3 <
Processing esp32s3 (platform: https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip; board: esp32-s3-devkitc-1; framework: arduino)
-----------------------------------------------------------------------------------------------
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 (2.0.3) > Espressif ESP32-S3-DevKitC-1
HARDWARE: ESP32S3 240MHz, 512KB RAM, 8MB Flash
DEBUG: Current (esp-prog) External (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.3
- tool-esptoolpy @ 1.30300.220323 (3.3.0)
- tool-mkfatfs @ 2.0.1
- tool-mklittlefs @ 1.203.210628 (2.3)
- tool-mkspiffs @ 2.230.0 (2.30)
- toolchain-esp32ulp @ 1.22851.191205 (2.28.51)
- toolchain-xtensa-esp32s3-arm @ 8.4.0+2021r2-patch3
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 32 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/esp32s3/src/main.cpp.o
Generating partitions .pio/build/esp32s3/partitions.bin
Archiving .pio/build/esp32s3/libFrameworkArduinoVariant.a
Indexing .pio/build/esp32s3/libFrameworkArduinoVariant.a
Compiling .pio/build/esp32s3/FrameworkArduino/Esp.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/HWCDC.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/IPv6Address.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/Print.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/StreamString.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/USB.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/USBCDC.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/USBMSC.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/WString.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/base64.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/cbuf.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/main.cpp.o
Compiling .pio/build/esp32s3/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/esp32s3/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/esp32s3/libFrameworkArduino.a
Indexing .pio/build/esp32s3/libFrameworkArduino.a
Linking .pio/build/esp32s3/firmware.elf
Retrieving maximum program size .pio/build/esp32s3/firmware.elf
Checking size .pio/build/esp32s3/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [ ] 1.8% (used 9596 bytes from 524288 bytes)
Flash: [ ] 3.7% (used 124321 bytes from 3342336 bytes)
Building .pio/build/esp32s3/firmware.bin
esptool.py v3.3
Creating esp32s3 image...
Merged 2 ELF sections
Successfully created esp32s3 image.
Configuring upload protocol...
AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: /dev/cu.wchusbserial11340
Uploading .pio/build/esp32s3/firmware.bin
esptool.py v3.3
Serial port /dev/cu.wchusbserial11340
Connecting....
Chip is ESP32-S3
Features: WiFi, BLE
Crystal is 40MHz
MAC: f4:12:fa:43:62:5c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00030fff...
Flash params set to 0x023f
Compressed 12640 bytes to 8909...
Writing at 0x00000000... (100 %)
Wrote 12640 bytes (8909 compressed) at 0x00000000 in 0.3 seconds (effective 307.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 129...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (129 compressed) at 0x00008000 in 0.1 seconds (effective 472.1 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 625.9 kbit/s)...
Hash of data verified.
Compressed 134272 bytes to 84079...
Writing at 0x00010000... (16 %)
Writing at 0x000182fd... (33 %)
Writing at 0x00020286... (50 %)
Writing at 0x00025808... (66 %)
Writing at 0x0002ae43... (83 %)
Writing at 0x0002ff07... (100 %)
Wrote 134272 bytes (84079 compressed) at 0x00010000 in 2.0 seconds (effective 537.6 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
================================= [SUCCESS] Took 8.16 seconds =================================
Environment Status Duration
------------- -------- ------------
esp32s3 SUCCESS 00:00:08.163
================================= 1 succeeded in 00:00:08.163 =================================
Das Terminal wird von Aufgaben wiederverwendet, drücken Sie zum Schließen eine beliebige Taste.
my problem was solved by replacing board_build.flash_size = 16MB
with board_upload.flash_size = 16MB
here is my issue : https://github.com/platformio/platform-espressif32/issues/788
my problem was solved by replacing
board_build.flash_size = 16MB
withboard_upload.flash_size = 16MB
here is my issue : platformio/platform-espressif32#788
I had been looking for hours to see if it was a code problem when upgrading to a new version, but it turns out it was this. Thank you very much for your help.
No problem. I also searched for days. xd
I stopped the boot loop problem by adding the "board_upload.flash_size = 8MB"
But I am still getting file system errors:
ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x1 (POWERON),boot:0x3a (SPI_FAST_FLASH_BOOT) SPIWP:0xee Octal Flash Mode Enabled For OPI Flash, Use Default Flash Boot Mode mode:SLOW_RD, clock div:1 load:0x3fcd0108,len:0x78 load:0x403b6000,len:0x95c load:0x403ba000,len:0x2718 SHA-256 comparison failed: Calculated: fbadc2bc0d050432a3cff9776fbf2db407a913320099d747343aaea934f79933 Expected: 8abaa7e3d5266e80aa38747066b4dacdd0b0484dfe110af1596c38f9e39564ba Attempting to boot anyway... entry 0x403b61a8 [ 77][I][esp32-hal-psram.c:96] psramInit(): PSRAM enabled [ 80][E][esp32-hal-misc.•’ª’êþClientID = ESPPLC-223124 [ 494][E][LittleFS.cpp:119] format(): Formatting LittleFS failed! Error: -1 [ 494][E][LittleFS.cpp:94] begin(): Mounting LittleFS failed! Error: -1 LittleFS Mount Failed
Here is my .ini file:
[env:esp32dev] ;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3.zip platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip ;platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/829/framework-arduinoespressif32-v4.4.1-3010c4571f.tar.gz board = esp32-s3-devkitc-1 board_upload.flash_size = 8MB board_build.f_flash = 80000000L board_build.partitions=default_8MB.csv build_flags = -DBOARD_HAS_PSRAM -DCORE_DEBUG_LEVEL=5 framework = arduino upload_port = COM18 board_build.filesystem = littlefs monitor_port = COM[5] monitor_speed = 115200
If I enable "platform_packages " I get a lot of "fatal error: freertos/FreeRTOS.h: No such file or directory" errors. Weird
[env:esp32s3] platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/829/framework-arduinoespressif32-v4.4.1-3010c4571f.tar.gz board = esp32-s3-devkitc-1 framework = arduino upload_speed = 921600 monitor_speed = 115200 board_build.partitions=default_8MB.csv
Have you tried only with:
platform = espressif32
framework = arduino
in the ini?
Have you tried only with:
platform = espressif32 framework = arduino
in the ini?
1 cd to your platform install dir: C:\Users\xxx.platformio\platforms,and remove your espressif32 or espressif32@xx(delete the all espressif32 folders) platform 2 cd to your package install dir: C:\Users\xxx.platformio\packages,remove all "framework-arduinoespressif32" or framework-arduinoespressif32@xx folder 3 open your exist project .ini [env:esp32s3] platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/829/framework-arduinoespressif32-v4.4.1-3010c4571f.tar.gz board = esp32-s3-devkitc-1 framework = arduino
;this setting will reinstall espressif32 、framework-arduinoespressif32 and related tools
5 when installation finished:
only with your setting will work
Mandantory. Use esptool.py v3.3. Only this version has the flash size patch for the S3.
Follow your fork, partition table error has been fixed. but I also have a problem with esptool.py v3.3, when the upload process start, esptool.py connect my device time too short to config strapping pin(boot and rts),
1 open this file
C:\Users\xx.platformio\packages\tool-esptoolpy\esptool.py
2 set more conntect try:
So clearing out my install directory helped. I don't get compile errors. But my FS will not init.
Ini file:
[env:esp32dev] ;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3.zip platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/829/framework-arduinoespressif32-v4.4.1-3010c4571f.tar.gz board = esp32-s3-devkitc-1 board_upload.flash_size = 8MB ;board_build.f_flash = 80000000L ;board_build.partitions=default_8MB.csv build_flags = -DBOARD_HAS_PSRAM -DCORE_DEBUG_LEVEL=5 framework = arduino upload_port = COM18 board_build.filesystem = littlefs monitor_port = COM[5] monitor_speed = 115200 lib_deps = knolleary/PubSubClient@^2.8.0 https://github.com/husarnet/AsyncTCP.git https://github.com/me-no-dev/ESPAsyncWebServer.git bblanchon/ArduinoJson @ 6.17 bodmer/TFT_eSPI@^2.4.61 bitbank2/PNGdec@^1.0.1 adafruit/Adafruit NeoPixel@^1.10.4
This is for an ESP32-S3-WROOM-2
Have you tried only with:
platform = espressif32 framework = arduino
in the ini?
I have, but that seems to add more compile errors.
I couldn't review the .ini
due to its formatting. If true for others, expand below for a reformatted version.
NOTE: The original showed monitor_port = COM[5]
; the square brackets seemed incorrect, so I removed them above.
Actual build (based on release core 2.0.3). I removed redundant not needed entrys and uncommented the 8MB partition scheme
[platformio]
framework = arduino
platform = https://github.com/tasmota/platform-espressif32/releases/download/v.2.0.3/platform-espressif32-v.2.0.3.zip
[env:esp32-s3dev]
board = esp32-s3-devkitc-1
board_build.filesystem = littlefs
board_build.partitions=default_8MB.csv
build_flags =
-DCORE_DEBUG_LEVEL=5
upload_port = COM18
monitor_port = COM5
monitor_speed = 115200
lib_deps =
knolleary/PubSubClient@^2.8.0
https://github.com/husarnet/AsyncTCP.git
https://github.com/me-no-dev/ESPAsyncWebServer.git bblanchon/ArduinoJson @ 6.17
bodmer/TFT_eSPI@^2.4.61
bitbank2/PNGdec@^1.0.1
adafruit/Adafruit NeoPixel@^1.10.4`
Thanks, I will try that. I will get back to you tonight.
I am getting this error now:
Warning! Ignore unknown configuration option
frameworkin section [platformio] Warning! Ignore unknown configuration option
platformin section [platformio] Processing esp32-s3dev (board: esp32-s3-devkitc-1) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Error: Please specify platform for 'esp32-s3dev' environment The terminal process "C:\Users\richc\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.
Ahh yes. Mistake. Should look like
[common]
framework = arduino
platform = https://github.com/tasmota/platform-espressif32/releases/download/v.2.0.3/platform-espressif32-v.2.0.3.zip
[env:esp32-s3dev]
board = esp32-s3-devkitc-1
board_build.filesystem = littlefs
board_build.partitions=default_8MB.csv
build_flags =
-DCORE_DEBUG_LEVEL=5
upload_port = COM18
monitor_port = COM5
monitor_speed = 115200
lib_deps =
knolleary/PubSubClient@^2.8.0
https://github.com/husarnet/AsyncTCP.git
https://github.com/me-no-dev/ESPAsyncWebServer.git bblanchon/ArduinoJson @ 6.17
bodmer/TFT_eSPI@^2.4.61
bitbank2/PNGdec@^1.0.1
adafruit/Adafruit NeoPixel@^1.10.4`
I am still getting an error "no platform selected" (platform for 'esp32-s3dev')
Thoughts?
I also tried updating PIO since the latest "beta" fix is about compile flags. Still not working. I did try this:
' [env:esp32-s3dev] framework = arduino platform = https://github.com/tasmota/platform-espressif32/releases/download/v.2.0.3/platform-espressif32-v.2.0.3.zip board = esp32-s3-devkitc-1 board_build.filesystem = littlefs board_build.partitions=default_8MB.csv build_flags = -DCORE_DEBUG_LEVEL=5 upload_port = COM18 monitor_port = COM5 monitor_speed = 115200 lib_deps = knolleary/PubSubClient@^2.8.0 https://github.com/husarnet/AsyncTCP.git https://github.com/me-no-dev/ESPAsyncWebServer.git bblanchon/ArduinoJson @ 6.17 bodmer/TFT_eSPI@^2.4.61 bitbank2/PNGdec@^1.0.1 adafruit/Adafruit NeoPixel@^1.10.4 ' The above compiles but I don't have a file system (FS) If i try flash mode OPI / 8MB / Partition 8MB / PSRAM = OPI PSRAM, it works in Arduino IDE. I have a FS. I don't think I have a OTA update partition, but I am not to worried about that right now.
@richcj10 I think it is the wrong place for your problem, since Arduino IDE works for you? Imho problems with Platformio should be addressed in Platformio github.
EDIT: I think this issues moved away from the orig. problem. Thats solved. Now the discussion is off-topic and Platformio related.
@richcj10 you probably need build.arduino.memory_type = opi_opi
Make a boards.json for platformio. Create a folder boards
in root of your project
Name the json like esp32s3_opi.json
and save in folder boards
You use your own board as usual, so board = esp32s3_opi
The json
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld",
"memory_type": "opi_opi"
},
"core": "esp32",
"extra_flags": "-DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "dio",
"mcu": "esp32s3",
"variant": "esp32s3",
"partitions": "default_8MB.csv"
},
"connectivity": [
"wifi",
"bluetooth",
"ethernet"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"espidf",
"arduino"
],
"name": "Espressif Generic ESP32-S3 8M OPI Flash, 8MB OPI PSRAM",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/",
"vendor": "Espressif"
}
Maybe you have to change the "flash_mode": "dio",
to "flash_mode": "opi",
too
I have no S3 with OPI so i cant test
@me-no-dev It is like i thought in https://github.com/espressif/arduino-esp32/discussions/6426
Thanks for the help! It still is boot looping at the bootloader.
I did notice this that I thought was weird:
Configuring flash size... Warning: Could not auto-detect Flash size (FlashID=0x3980c2, SizeID=0x39), defaulting to 4MB
I don't see that statement in the Arduino debug log for uploading.
I did a diff of the platformio-build-esp32s3.py and found these differences:
"-u", "include_esp_phy_override", Arduino uses ("IDF_VER", '\"v4.4.1-1-gb8050b365e\"'), vs ("IDF_VER", '\"v4.4-367-gc29343eb94\"'),
Changing out the files did not change the upload error.
Also esptool.py is 100% match. Weird.
I have an esp32-s3-wroom-1 M0N8R8 which I think is just the N8R8 version. Not sure what the M0 is for. In any case I had one hell of a time figuring out how to get psram working on it in platformio. Using ps_malloc would cause it to go into a continuous reboot loop. This thread helped me head in the right direction so I am posting my results here. This is what I figured out after many days/hours of searching and trial and error. My board profile...
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld",
"memory_type": "qspi_opi"
},
"core": "esp32",
"extra_flags": "-DBOARD_HAS_PSRAM",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "dio",
"mcu": "esp32s3",
"variant": "esp32s3",
"partitions": "partitions/default_8MB.csv"
},
"connectivity": [
"wifi"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif ESP32-S3-DevKitC-1 N8R8 8MB QD FLASH 8MB OT PSRAM",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 524288,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html",
"vendor": "Espressif"
}
Notice the "memory_type": "qspi_opi". This was the only thing that worked for this board. NOT opi_opi, qspi_qspi, or opi_qspi. Tried them all without success. Notice here the memory designation. Flash: 8 MB QD, PSRAM: 8 MB OT. You may need to change this for your board's memory types depending on what the reference guide above says about your particular board. I was able to verify that all Flash and PSRAM is working after using this board definition with the following code.
#include <Arduino.h>
void setup() {
log_d("Total heap: %d", ESP.getHeapSize());
log_d("Free heap: %d", ESP.getFreeHeap());
log_d("Total PSRAM: %d", ESP.getPsramSize());
log_d("Free PSRAM: %d", ESP.getFreePsram());
}
void loop() {}
As far as monitoring this is what I got on my ini file. Works for me though there might be better options..
monitor_speed = 115200
monitor_rts = 0
monitor_dtr = 0
Looking forward to testing this on my unit. :)
@code-is-art Would you share your .ini file? I am still having issues. Did your ESP32 upload state this: "Warning: Could not auto-detect Flash size (FlashID=0x3980c2, SizeID=0x39), defaulting to 4MB"?
@richcj10 when this defaulting to 4MB
happens you will end in a bootloop.
There is nothing else needed in a platformio.ini file. The above boards.json has anything needed defined. Heads up. In a standard setup this "partitions": "partitions/default_8MB.csv"
needs to be changed to "partitions": "default_8MB.csv"
Board
ESP32 S3
Device Description
ESP32 S3(FN8 chip or FR8 chip) have 8MB Flash , DIY Board reference to hardware manul
Hardware Configuration
[env:esp32s3] platform = https://github.com/platformio/platform-espressif32.git board = esp32-s3-devkitc-1 framework = arduino upload_port = COM3 upload_speed = 921600 monitor_speed = 115200 board_build.partitions=default_8MB.csv build_flags = -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DCORE_DEBUG_LEVEL=5
Version
latest master (checkout manually)
IDE Name
PlatformIO
Operating System
win10
Flash frequency
80Mhz
PSRAM enabled
yes
Upload speed
921600
Description
DIY board ESP32 S3(FN8 chip or FR8 chip) have 8MB Flash ,when I select partition table default_8MB.csv, Build and upload .My device ESP32 S3(FN8 chip or FR8 chip) rebooting continuously.
Sketch
Debug Message
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide