User Tools

Site Tools


haussteuerung:esphome:esptool

esptool

Flash löschen

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
haussteuerung/esphome/esptool.txt · Last modified: by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki