User Tools

Site Tools


haussteuerung:esphome:esptool

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
haussteuerung:esphome:esptool [2025/10/17 15:06] – ↷ Page moved from haussteuerung:esptool to haussteuerung:esphome:esptool dominikhaussteuerung:esphome:esptool [2025/12/12 17:48] (current) dominik
Line 1: Line 1:
 ====== esptool ====== ====== esptool ======
  
 +===== Flash löschen =====
   * Tool \\ https://github.com/espressif/esptool \\ https://github.com/espressif/esptool/releases   * Tool \\ https://github.com/espressif/esptool \\ https://github.com/espressif/esptool/releases
   * Flash löschen \\ ''esptool.exe -p COM17 erase_flash''   * 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'' \\ <code bash>
 +...
 +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
 +...                                                    
 +</code>
 +  * 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 \\ <code bash>
 +(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.
 +</code>
 +  * Das entfernt das JTAG Interface **für IMEMR**! Dieser Prozess ist nicht mehr umkehrbar! 
 +  * Testen mit ''espefuse -p COM38 summary'' \\ -> <code bash>
 +DIS_PAD_JTAG (BLOCK0)                              
 +Set this bit to disable JTAG in the hard way. JTAG = True R/W (0b1)
 +is disabled permanently
 +</code>
 +  * **DONE** -> Pins sind jetzt normal nutzbar
haussteuerung/esphome/esptool.txt · Last modified: by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki