====== esptool ======
===== Flash löschen =====
* Tool \\ https://github.com/espressif/esptool \\ https://github.com/espressif/esptool/releases
* Flash löschen \\ ''esptool.exe -p COM17 erase_flash''
===== JTAG Pin frei machen =====
Bei dem ESP32 S3 (möglich auch andere) sind die Pins 39-42 durch ein JTAG Interface im Default belegt. Das braucht man aber eigentlich gar nicht - zumal auch das JTAG noch über USB geht ...
* Als erstes braucht man ''esptool'' (das enthält auch ''espefuse'')
* Ordner anlegen und in den Ordner wechseln
* ''python -m venv .''
* ''Scripts\activate''
* ''python.exe -m pip install --upgrade pip''
* ''pip install esptool''
* Jetzt den ESP per USB COM Port an den Rechner anschließen und den Port finden
* Die aktuelle Konfig auslesen: ''espefuse.py -p COM38 summary'' \\
...
Jtag fuses:
SOFT_DIS_JTAG (BLOCK0) Set these bits to disable JTAG in the soft way (od = 0 R/W (0b000) d number 1 means disable ). JTAG can be enabled in HMAC module
DIS_PAD_JTAG (BLOCK0) Set this bit to disable JTAG in the hard way. JTAG = False R/W (0b0) is disabled permanently
STRAP_JTAG_SEL (BLOCK0) Set this bit to enable selection between usb_to_jt = False R/W (0b0) ag and pad_to_jtag through strapping gpio3 when both reg_dis_usb_jtag and reg_dis_pad_jtag are equal to 0
...
* Wir suchen **''DIS_PAD_JTAG''** und das sollte auf **False** stehen. Dann sind die **Pins BELEGT** !
* ''espefuse -p COM38 burn_efuse DIS_PAD_JTAG'' aufrufen \\
(esptool) D:\Projekte\Wetterstation\esptool>espefuse -p COM38 burn_efuse DIS_PAD_JTAG
espefuse v5.1.0
Connecting....
Detecting chip type... ESP32-S3
Warning: Deprecated: Command 'burn_efuse' is deprecated. Use 'burn-efuse' instead.
=== Run "burn-efuse" command ===
The eFuses to burn:
from BLOCK0
- DIS_PAD_JTAG
Burning eFuses:
- 'DIS_PAD_JTAG' (Set this bit to disable JTAG in the hard way. JTAG is disabled permanently) 0b0 -> 0b1
Check all blocks for burn...
idx, BLOCK_NAME, Conclusion
[00] BLOCK0 is not empty
(written ): 0x0000000000000100000000000000d1f50000000000000000
(to write): 0x000000000000000000000000000000000008000000000000
(coding scheme = NONE)
.
This is an irreversible operation!
Type 'BURN' (all capitals) to continue.
BURN
BURN BLOCK0 - OK (all write block bits are set)
Reading updated eFuses...
Checking eFuses...
Successful.
* Das entfernt das JTAG Interface **für IMEMR**! Dieser Prozess ist nicht mehr umkehrbar!
* Testen mit ''espefuse -p COM38 summary'' \\ ->
DIS_PAD_JTAG (BLOCK0)
Set this bit to disable JTAG in the hard way. JTAG = True R/W (0b1)
is disabled permanently
* **DONE** -> Pins sind jetzt normal nutzbar