Closed Arielhh closed 1 year ago
Hi - I had a similar issue, and I was able to flash it by taking the ESP IDF flash command line and adding the flag to use the ROM flash option --no-stub
The default behavior is to try to upload a small extra stub then communicate with that to perform the flash.
I may have also specified different reset options for before/after and done a complete flash erase.
I suggest flashing with a known working example, even if it is just a trivial ESP_LOGI in app_main
xxxxxxx@embedded-dev:~/workspace/tembed$ esptool.py --help
usage: esptool [-h] [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6}] [--port PORT] [--baud BAUD] [--before {default_reset,usb_reset,no_reset,no_reset_no_sync}] [--after {hard_reset,soft_reset,no_reset,no_reset_stub}] [--no-stub] [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]] [--connect-attempts CONNECT_ATTEMPTS]
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version} ...
esptool.py v4.4 - Espressif chips ROM Bootloader Utility
positional arguments:
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}
Run esptool.py {command} -h for additional help
load_ram Download an image to RAM and execute
dump_mem Dump arbitrary memory to disk
read_mem Read arbitrary memory location
write_mem Read-modify-write to arbitrary memory location
write_flash Write a binary blob to flash
run Run application code in flash
image_info Dump headers from an application image
make_image Create an application image from binary files
elf2image Create an application image from ELF file
read_mac Read MAC address from OTP ROM
chip_id Read Chip ID from OTP ROM
flash_id Read SPI flash manufacturer and device ID
read_flash_status Read SPI flash status register
write_flash_status Write SPI flash status register
read_flash Read SPI flash content
verify_flash Verify a binary blob against flash
erase_flash Perform Chip Erase on SPI flash
erase_region Erase a region of the flash
merge_bin Merge multiple raw binary files into a single file for later flashing
get_security_info Get some security-related data
version Print esptool version
options:
-h, --help show this help message and exit
--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6}, -c {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6}
Target chip type
--port PORT, -p PORT Serial port device
--baud BAUD, -b BAUD Serial port baud rate used when flashing/reading
--before {default_reset,usb_reset,no_reset,no_reset_no_sync}
What to do before connecting to the chip
--after {hard_reset,soft_reset,no_reset,no_reset_stub}, -a {hard_reset,soft_reset,no_reset,no_reset_stub}
What to do after esptool.py is finished
--no-stub Disable launching the flasher stub, only talk to ROM bootloader. Some features will not be available.
--trace, -t Enable trace-level output of esptool.py interactions.
--override-vddsdio [{1.8V,1.9V,OFF}]
Override ESP32 VDDSDIO internal voltage regulator (use with care)
--connect-attempts CONNECT_ATTEMPTS
Number of attempts to connect, negative or 0 for infinite. Default: 7.
This is using ESP-IDF v5.0
Hi cydergoth, Thanks for your answer, I am not using the ESP IDF . I am using the Arduino IDE. do you have any solution that i can implement using the Arduino IDE?
Hi - esptool should be available with the Arduino IDE too. You have to run it from the command line however.
On Fri, Jan 20, 2023, 5:31 PM Arielhh @.***> wrote:
Hi cydergoth, Thanks for your answer, I am not using the ESP IDF . I am using the Arduino IDE. do you have any solution that i can implement using the Arduino IDE?
— Reply to this email directly, view it on GitHub https://github.com/Xinyuan-LilyGO/T-Embed/issues/11#issuecomment-1399074146, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPWAWXZ6IYLU5C4DBAERNTWTMN6VANCNFSM6AAAAAAT7NKYXI . You are receiving this because you commented.Message ID: @.***>
For reference this is the command which I used:
esptool.py --no-stub -b 460800 --before default_reset --after hard_reset --chip esp32s3 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/esp_idf_v5.bin
Where esp_idf_v5.bin
is the compiled binary file from my project
The middle button in the encoder is the BOOT button. The one on the side is the RST button. Can be used in combination
Please reopen it if there are any further issues
How is it possible to reset the device so it will be possible to upload a program? on the T-Display S3 you have to press Boot and Reset at the same time and then leave the reset button. How it can be done in this device?
Thanks,