====== 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