Bord tal-Iżvilupp tal-ESP32 Dev Kitc
Informazzjoni dwar il-Prodott
Speċifikazzjonijiet
- Prodott: ESP32
- Gwida għall-Ipprogrammar: ESP-IDF
- Verżjoni tar-Rilaxx: v5.0.9
- Manifattur: Espressif Systems
- Data ta’ Ħruġ: 16 ta’ Mejju, 2025
Istruzzjonijiet għall-Użu tal-Prodott
1. Ibda
Qabel ma tibda bl-ESP32, iffamiljarizza ruħek mal-
li ġej:
1.1 Introduzzjoni
Tgħallem dwar il-funzjonalitajiet u l-kapaċitajiet bażiċi tal-
ESP32.
1.2 Dak li għandek bżonn
Kun żgur li għandek il-ħardwer u s-softwer meħtieġa:
- Ħardwer: Iċċekkja l-lista tal-ħardwer meħtieġ
komponenti. - Software: Installa s-softwer meħtieġ
komponenti.
1.3 Installazzjoni
Segwi dawn il-passi biex tinstalla l-IDE u tissettja l-
ambjent:
- IDE: Installa l-IDE rakkomandat għal
l-ipprogrammar tal-ESP32. - Installazzjoni manwali: Issettja manwalment il-
ambjent jekk meħtieġ.
1.4 Ibni l-Ewwel Proġett Tiegħek
Oħloq u ibni l-proġett inizjali tiegħek billi tuża l-ESP32.
1.5 Iddiżinstalla l-ESP-IDF
Jekk meħtieġ, tgħallem kif tneħħi l-ESP-IDF minn tiegħek
sistema.
2. Referenza tal-API
Irreferi għad-dokumentazzjoni tal-API għal informazzjoni dettaljata dwar
protokolli tal-applikazzjoni, immaniġġjar tal-iżbalji, u konfigurazzjoni
strutturi.
Mistoqsijiet Frekwenti (FAQ)
M: Kif nista' nsolvi problemi komuni bl-ESP32?
A: Irreferi għas-sezzjoni tas-soluzzjoni tal-problemi fil-gwida tal-ipprogrammar
jew żur il-manifattur websit għal riżorsi ta' appoġġ.
M: Nista' nuża ESP-IDF ma' mikrokontrolluri oħra?
A: ESP-IDF huwa ddisinjat speċifikament għal ESP32, iżda tista' ssib
kompatibilità ma' mikrokontrolluri Espressif oħra.
ESP32
Gwida tal-Programmazzjoni ESP-IDF
Rilaxx v5.0.9 Espressif Systems 16 ta' Mejju, 2025
Werrej
Werrej
i
1 Ibda
3
1.1 Introduzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Dak li Għandek Bżonn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Ħardwer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Softwer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Installazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Installazzjoni Manwali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Ibni l-Ewwel Proġett Tiegħek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.5 Iddiżinstalla ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2 Referenza tal-API
45
2.1 Konvenzjonijiet tal-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.1 Immaniġġjar tal-iżbalji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.2 Strutturi ta' konfigurazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.3 APIs Privati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.4 Komponenti f'eż.ampil-proġetti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.5 Stabbiltà tal-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 Protokolli ta' Applikazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.1 Port ASIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2 ESP-Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.3 ESP-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.4 ESP-TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.5 Klijent HTTP ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.2.6 Kontroll Lokali tal-ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.2.7 Konnessjoni tal-Iskjavi Serjali tal-ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.2.8 Pakkett ta' Ċertifikat ESP x509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.2.9 Server HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.2.10 Server HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
2.2.11 ICMP Echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2.2.12 Servizz mDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.13 Mbed TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.14 Saff tan-Netwerk tal-IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3 API tal-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.1 Bluetooth® Komuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.2 Bluetooth® b'Enerġija Baxxa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
2.3.3 Bluetooth® Klassiku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2.3.4 Kontrollur u HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
2.3.5 ESP-BLE-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
2.3.6 APIs tal-ospitanti bbażati fuq NimBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
2.4 Referenza tal-Kodiċijiet ta' Żball . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
2.5 APIs tan-Netwerking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.1 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.2 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
2.5.3 Ħajta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
i
2.5.4 ESP-NETIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 Saff tan-Netwerk IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Saff tal-Applikazzjoni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 API tal-Periferali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Sewwieq tal-Modalità Oneshot tal-Konvertitur Analogu għal Diġitali (ADC). . . . . . . . . . . . . . . . . 977 2.6.2 Sewwieq tal-Modalità Kontinwa tal-Konvertitur Analogu għal Diġitali (ADC). . . . . . . . . . . . . . . 986 2.6.3 Sewwieq tal-Kalibrazzjoni tal-Konvertitur Analogu għal Diġitali (ADC). . . . . . . . . . . . . . . . . . . 993 2.6.4 Siġra tal-Arloġġ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Konvertitur Diġitali għal Analogu (DAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO u RTC GPIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Tajmer għal Skop Ġenerali (GPTimer). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Ċirkwit Interintegrat (I2C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Ħoss Inter-IC (I2S). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Kontroll tal-LED (LEDC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Modulatur tal-Wisa' tal-Impuls tal-Kontroll tal-Mutur (MCPWM). . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Kontatur tal-Impulsi (PCNT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Trasmettitur ta' Kontroll mill-Bogħod (RMT). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 Rekwiżiti tal-Ġbid 'il Fuq SD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 Sewwieq tal-Ospitanti SDMMC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 Sewwieq tal-Ospitanti SD SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 Sewwieq Skjav tal-Kard SDIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Modulazzjoni Sigma-Delta (SDM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 Sewwieq Prinċipali tal-SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 Sewwieq tal-Iskjavi tal-SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Element Sikur). . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Senser tal-Mess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Interfaċċja tal-Karozzi b'Żewġ Wajers (TWAI). . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Riċevitur/Trasmettitur Asinkronu Universali (UART). . . . . . . . . . . . . . . . . . 1317 2.7 Konfigurazzjoni tal-Proġett. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Introduzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Menù tal-Konfigurazzjoni tal-Proġett. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 L-użu ta' sdkconfig.defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Regoli tal-Ifformattjar tal-Kconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Kompatibilità b'lura tal-Għażliet ta' Kconfig. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Referenza tal-Għażliet ta' Konfigurazzjoni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 API tal-Provvediment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Komunikazzjoni bil-Protokoll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Proviżjonament Unifikat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Proviżjonament tal-Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 API tal-Ħażna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileAppoġġ tas-Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Utilità tal-Manifattura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Librerija tal-Ħażna Mhux Volatili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 Utilità tal-Ġeneratur tal-Partizzjoni NVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 Sewwieq SD/SDIO/MMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filesistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Virtwali fileKomponent tas-sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 API tal-Livellar tal-Ilbies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 API tas-Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Format tal-Immaġni tal-App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Traċċar fil-Livell tal-Applikazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Funzjoni ta' sejħa b'munzell estern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Reviżjoni taċ-Ċippa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Konsoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 Maniġer tal-eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Kodiċijiet ta' Żball u Funzjonijiet ta' Għajnuna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii
2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Librerija tal-Loops tal-Avvenimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Aktar minnview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Karatteristiċi Supplimentari) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Allokazzjoni tal-Memorja tal-Heap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Debugging tal-Memorja tal-Heap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Timer ta' Riżoluzzjoni Għolja (ESP Timer) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 APIs Interni u Instabbli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Sejħa Inter-Proċessur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Allokazzjoni ta' interruzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Librerija tar-reġistrazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 APIs tas-Sistema Varji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Aġġornamenti Over The Air (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Monitor tal-Prestazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Ġestjoni tal-Enerġija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 Appoġġ għat-Threads POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Ġenerazzjoni ta' Numri każwali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Modi ta' Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 Kapaċitajiet tas-SoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Ħin tas-Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 L-API tal-allokazzjoni tal-himem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 Programmazzjoni tal-Koproċessur ULP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Organizzaturi tal-Għassiesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161
3 Referenza tal-Hardware
2167
3.1 Paragun tas-Serje ta' Ċippijiet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167
3.1.1 Dokumenti Relatati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170
4 Gwidi tal-API
2171
4.1 Librerija tat-Traċċar fil-Livell tal-Applikazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.1 Fuqview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.2 Modi ta' Operazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.3 Għażliet ta' Konfigurazzjoni u Dipendenzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2172
4.1.4 Kif Tuża Din il-Librerija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173
4.2 Fluss tal-Istartjar tal-Applikazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181
4.2.1 L-ewwel stagbootloader elettroniku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.2 It-tieni stagbootloader elettroniku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.3 L-istartjar tal-applikazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183
4.3 Bluetooth® Klassiku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.3.1 Fuqview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.4 Bluetooth® b'Enerġija Baxxa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.1 Fuqview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.2 Ibda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191
4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2240
4.5 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284
4.5.1 Kompatibilità tal-Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.2 Livell tar-Reġistru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.3 Irrisettjar tal-fabbrika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.4 Ibbutjar mill-Firmware tat-Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.5 Irrevoka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.6 Korp ta' sorveljanza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.7 Daqs tal-Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.8 Bidu veloċi minn Deep Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.9 Bootloader apposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.6 Sistema tal-Bini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.1 Fuqview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.2 L-Użu tas-Sistema tal-Bini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289
iii
4.6.3 EżampIl-Proġett . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Proġett CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Komponenti CMakeLists Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Konfigurazzjoni tal-Komponenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Definizzjonijiet tal-Preproċessur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Rekwiżiti tal-Komponenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Partijiet li Jissostitwixxu l-Proġett . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Komponenti ta' Konfigurazzjoni Biss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Debugging tas-CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Eż.ampil-Komponent CMakeLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Defaults tal-sdkconfig tad-dwana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Argumenti Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Il-Bini tal-Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Il-Kitba ta' Komponenti Puri tas-CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 L-Użu ta' Proġetti tas-CMake ta' Partijiet Terzi bil-Komponenti . . . . . . . . . . . . . . . . . . . . 2306 4.6.18 L-Użu ta' Libreriji Mibnija minn Qabel bil-Komponenti . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 L-Użu ta' ESP-IDF fi Proġetti CMake Personalizzati . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing & Builds Inkrementali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Metadata tas-Sistema tal-Bini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Partijiet Interni tas-Sistema tal-Bini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Migrazzjoni minn ESP-IDF GNU Make System . . . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Core Dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 'Il fuq minnview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Konfigurazzjonijiet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Issejvja l-core dump għal flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Ipprintja core dump għal UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Funzjonijiet ROM f'Backtraces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Dumping ta' varjabbli fuq talba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Tħaddim ta' espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Wake Stubs ta' Sleep Profond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Regoli għall-Wake Stubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Implimentazzjoni ta' Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Tagħbija tal-Kodiċi fil-Memorja RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Tagħbija tad-Dejta fil-Memorja RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 Kontroll tas-CRC għal Wake Stubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Eż.ample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Immaniġġjar tal-Iżbalji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 'Il fuq minnview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Kodiċijiet ta' żball . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Konverżjoni ta' kodiċijiet ta' żball f'messaġġi ta' żball . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 Makro ESP_ERROR_CHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 Makro ESP_ERROR_CHECK_WITHOUT_ABORT . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 Makro ESP_RETURN_ON_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 Makro ESP_GOTO_ON_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 Makro ESP_RETURN_ON_FALSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 Makro ESP_GOTO_ON_FALSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 Iċċekkja l-Makros Eż.amples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Mudelli ta' mmaniġġjar ta' żbalji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 Eċċezzjonijiet tas-C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 'il fuq minnview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Introduzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 Kunċetti ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Bini ta' Netwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Ġestjoni ta' Netwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Trażmissjoni tad-Dejta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Bdil tal-Kanal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv
4.10.8 Prestazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Noti ulterjuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Immaniġġjar tal-Avvenimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Avvenimenti tal-Wi-Fi, Ethernet, u IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Avvenimenti tal-Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Avvenimenti tal-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Żbalji Fatali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 'Il fuq minnview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Immaniġġjar tal-Paniku. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Dump tar-Reġistru u Backtrace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 Stub tal-GDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 Ħin ta' Skadenza tal-Watchdog tal-RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Żbalji fil-Meditazzjoni tal-Guru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Żbalji Fatali Oħra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Kriptaġġ tal-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Introduzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 eFuses Rilevanti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Proċess ta' Kriptaġġ tal-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Konfigurazzjoni tal-Encryption tal-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Ħsarat Possibbli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 Status tal-Encryption tal-Flash tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Qari u Kitba ta' Dejta f'Flash Kriptata. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Aġġornament tal-Flash Kriptat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Id-diżattivazzjoni tal-Flash Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Punti Ewlenin Dwar il-Kriptaġġ tal-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Limitazzjonijiet tal-Flash Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Kriptaġġ tal-Flash u Boot Sikur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Karatteristiċi Avvanzati. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Dettalji Tekniċi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Astrazzjoni tal-Ħardwer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Arkitettura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 Saff LL (Livell Baxx). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Saff tal-Astrazzjoni tal-Ħardwer). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Interruzzjonijiet ta' Livell Għoli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Livelli ta' Interruzzjoni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Noti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Introduzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Kif Jaħdem? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 L-Għażla ta' JTAG Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Setup ta' OpenOCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Konfigurazzjoni tal-Mira tal-ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Tnedija tad-Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Debugging Eż.amples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Il-Bini ta' OpenOCD mis-Sorsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Pariri u Partikolaritajiet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Dokumenti Relatati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Ġenerazzjoni ta' Skript tal-Linker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 'Il fuq minnview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Bidu Mgħaġġel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Ġenerazzjoni Interna tal-Iskript tal-Linker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 APIs Appoġġjati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 API tas-Sockets tal-BSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 Appoġġ għall-IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 modifiki tad-dwana esp-lwip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v
4.18.7 Ottimizzazzjoni tal-Prestazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Tipi ta' Memorja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (RAM tad-Data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (RAM ta' Istruzzjoni) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (kodiċi eżegwit mill-flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (dejta maħżuna fil-flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Memorja bil-mod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC Memorja FAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 Rekwiżit Kapaċi tad-DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 Buffer tad-DMA fl-istack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Modi tal-munzell OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Kif Tikteb Applikazzjoni OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 Ir-Router tal-Bordura OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Tabelli tal-Partizzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 'Il fuq minnview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Tabelli ta' Partizzjoni Integrati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Ħolqien ta' Tabelli Personalizzati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Ġenerazzjoni ta' Tabella ta' Partizzjoni Binarja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Verifiki tad-Daqs tal-Partizzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Flaxxjar tat-tabella tal-partizzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Għodda tal-Partizzjoni (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Prestazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Kif Tottimizza l-Prestazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Gwidi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 Kalibrazzjoni tal-RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Kalibrazzjoni parzjali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Kalibrazzjoni sħiħa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Ebda kalibrazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 Dejta ta' inizjalizzazzjoni tal-PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 Referenza tal-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Boot Sikur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Sfond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Proċess ta' Boot Sikur Fuqview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Ċwievet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Daqs tal-Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Kif Tippermetti Secure Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Bootloader tas-Softwer li Jista' Jiġi Flashed Mill-Ġdid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Ġenerazzjoni taċ-Ċavetta tal-Iffirmar tas-Secure Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Iffirmar Remot ta' Stampi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 L-Aħjar Prattiki ta' Boot Sikur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Dettalji Tekniċi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Boot Sikur u Kriptaġġ tal-Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Verifika tal-App Iffirmata Mingħajr Boot Sikur tal-Ħardwer . . . . . . . . . . . . . . . . . . 2478 4.24.13 Karatteristiċi Avvanzati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Ibbutjar Sikur V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Sfond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Avvanzattages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Proċess ta' Boot Sikur V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Format tal-Blokk tal-Firma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Kuxxinett Sikur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Verifika ta' Blokk ta' Firma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Verifika ta' Immaġni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Daqs tal-Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 Użu tal-eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Kif Tippermetti Secure Boot V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Restrizzjonijiet wara li s-Secure Boot ikun attivat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Ġenerazzjoni taċ-Ċavetta tal-Iffirmar tas-Secure Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi
4.25.13 Iffirmar Remot ta' Stampi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 L-Aħjar Prattiki ta' Boot Sikur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Dettalji Tekniċi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Boot Sikur u Kriptaġġ tal-Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Verifika tal-App Iffirmata Mingħajr Boot Sikur tal-Ħardwer . . . . . . . . . . . . . . . . . . 2484 4.25.18 Karatteristiċi Avvanzati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Appoġġ għal RAM Esterna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Introduzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Ħardwer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Konfigurazzjoni tar-RAM Esterna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Restrizzjonijiet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Nuqqas ta' inizjalizzazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Reviżjonijiet taċ-Ċippa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Ħażna Lokali tat-Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Fuqview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 API Nattiva FreeRTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 API Pthread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Għodda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 Immaġni tad-Docker tal-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 Installer tal-Windows tal-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 Maniġer tal-Komponenti tal-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Għodod li jistgħu jitniżżlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Ittestjar tal-Unità fl-ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Każijiet ta' Test Normali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Każijiet ta' Test b'ħafna apparati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Multi-stagKażijiet tat-Test e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Testijiet għal Miri Differenti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Bini ta' Applikazzjoni tat-Test tal-Unità. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Tħaddim ta' Testijiet tal-Unità. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Kodiċi tal-Ħin b'Tajmer Ikkumpensat bil-Cache. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Simulazzjonijiet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Ittestjar tal-Unità fuq Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Testijiet tas-Softwer Inkorporat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Testijiet tal-Unità IDF fuq Host Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Sewwieq tal-Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 Lista tal-Karatteristiċi tal-Wi-Fi tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Kif Tikteb Applikazzjoni tal-Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 Kodiċi ta' Żball tal-API tal-Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 Inizjalizzazzjoni tal-Parametri tal-API tal-Wi-Fi tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 Mudell ta' Programmazzjoni tal-Wi-Fi tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 Deskrizzjoni tal-Avveniment tal-Wi-Fi tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 Xenarju Ġenerali tal-Istazzjon Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 Xenarju Ġenerali tal-AP tal-Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 Skennjar tal-Wi-Fi tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 Xenarju ta' Konnessjoni tal-Istazzjon Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 L-Istazzjon Wi-Fi ESP32 Jikkonnettja Meta Jinstabu Diversi APs. . . . . . . . . . . . . 2543 4.31.12 Konnessjoni mill-ġdid mal-Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Ħin ta' Skadenza tal-Beacon tal-Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 Konfigurazzjoni tal-Wi-Fi tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy Connect™ (DPP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Ġestjoni tan-Netwerk mingħajr Fili. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Kejl tar-Riżorsi tar-Radju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Tranżizzjoni BSS Mgħaġġla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 Modalità ta' ffrankar tal-enerġija tal-Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 Rata tat-Trasmissjoni tal-Wi-Fi tal-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
4.31.21 Tibgħat Pakkett Wi-Fi 80211 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Modalità Sniffer tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Antenni Multipli tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Informazzjoni dwar l-Istat tal-Kanal tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Informazzjoni dwar l-Istat tal-Kanal tal-Wi-Fi Ikkonfigura . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 Wi-Fi QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi AMSDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 Framment tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 Persuna Reġistrata fil-WPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Użu tal-Buffer tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Kif Ittejjeb il-Prestazzjoni tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Konfigurazzjoni tal-Menù tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Issolvi l-Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Sigurtà tal-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 Karatteristiċi ta' Sigurtà tal-ESP32 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Frejms ta' Ġestjoni Protetti (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Intrapriża . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Personali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 Koeżistenza RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Aktar minnview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Xenarju ta' Koeżistenza Appoġġjat għall-ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Mekkaniżmu u Politika ta' Koeżistenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Kif Tuża l-Karatteristika ta' Koeżistenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Bini Riproduċibbli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Introduzzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Raġunijiet għal bini mhux riproduċibbli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 L-attivazzjoni ta' bini riproduċibbli fl-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Kif jinkisbu bini riproduċibbli . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Bini riproduċibbli u debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Fatturi li xorta jaffettwaw il-bini riproduċibbli . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Gwida għall-Utent tal-Modalità ta' Enerġija Baxxa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578
5 Gwidi tal-Migrazzjoni
2579
5.1 Gwida għall-Migrazzjoni tal-ESP-IDF 5.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
5.1.1 Migrazzjoni minn 4.4 għal 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
6 Libreriji u Oqfsa
2611
6.1 Oqfsa tal-Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.1 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.2 AWS IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.3 Azure IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.4 Il-Qalba tal-IoT tal-Google . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.5 Aliyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.6 Joylink IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.7 Tencent IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.8 Tencentyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.9 Baidu IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2 Oqfsa Espressivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.1 Qafas għall-Iżvilupp tal-Awdjo Espressif . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.2 ESP-CSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.3 Librerija Espressif DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.4 Qafas ta' Żvilupp ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.5 ESP-WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.6 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.7 Soluzzjoni ESP-IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.8 Protokolli ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
viii
6.2.9 ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2614
Gwida ta' 7 Kontribuzzjonijiet
2615
7.1 Kif Tikkontribwixxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.2 Qabel Ma Tikkontribwixxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.3 Proċess ta' Talba għal Ġbid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.4 Parti Legali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5 Dokumenti Relatati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5.1 Gwida tal-Istil tal-Qafas tal-Iżvilupp tal-IoT ta' Espressif . . . . . . . . . . . . . . . . . . . . . 2616
7.5.2 Installa Hook ta' qabel il-kommissjoni għall-Proġett ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . 2623
7.5.3 Dokumentazzjoni tal-Kodiċi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624
7.5.4 Il-Ħolqien ta' Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629
7.5.5 Mudell ta' Dokumentazzjoni tal-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630
7.5.6 Ftehim tal-Kontributur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632
7.5.7 Gwida tal-Intestatura tad-Drittijiet tal-Awtur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634
7.5.8 Testijiet ESP-IDF bil-Gwida Pytest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635
8 Verżjonijiet ESP-IDF
2645
8.1 Rilaxxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.2 B'Liema Verżjoni Għandi Nibda? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.3 Skema ta' Verżjonijiet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.4 Perjodi ta' Appoġġ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646
8.5 Iċċekkjar tal-Verżjoni Kurrenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647
8.6 Fluss tax-Xogħol tal-Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7 Aġġornament tal-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7.1 Aġġornament għal Rilaxx Stabbli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.2 Aġġornament għal Verżjoni ta' Qabel ir-Rilaxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.3 Aġġornament għall-Fergħa Prinċipali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.4 Aġġornament għal Fergħa ta' Rilaxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650
9 Riżorsi
2651
9.1 Pjattaforma IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.1 X'inhi PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.2 Installazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.3 Konfigurazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.4 Tutorji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.5 Proġett Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.6 Il-Passi li Jmiss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.2 Links Utli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
10 Drittijiet tal-Awtur u Liċenzji
2653
10.1 Drittijiet tal-Awtur tas-Softwer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.1 Komponenti tal-Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.2 Dokumentazzjoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.2 Drittijiet tal-Awtur tal-Kodiċi tas-Sors tar-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.3 Xtensa libhal MIT License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.4 Liċenzja MIT TinyBasic Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.5 Liċenzja TJpgDec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
11 Dwar
2657
12 Ibdel bejn il-Lingwi
2659
Indiċi
2661
Indiċi
2661
ix
x
Werrej
Din hija d-dokumentazzjoni għall-Espressif IoT Development Framework (esp-idf). ESP-IDF huwa l-qafas uffiċjali tal-iżvilupp għall-ESP32, ESP32-S u ESP32-C Series SoCs. Dan id-dokument jiddeskrivi l-użu tal-ESP-IDF mal-ESP32 SoC.
Ibda
Referenza API
Gwidi tal-API
Sistemi Espressif
1 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Werrej
Sistemi Espressif
2 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitolu 1
Ibda
Dan id-dokument huwa maħsub biex jgħinek twaqqaf l-ambjent tal-iżvilupp tas-softwer għall-ħardwer ibbażat fuq iċ-ċippa ESP32 minn Espressif. Wara dan, eżempju sempliċiampHawn ser nuruk kif tuża ESP-IDF (Espressif IoT Development Framework) għall-konfigurazzjoni tal-menu, imbagħad għall-bini u l-flaxxjar tal-firmware fuq bord ESP32.
Nota: Din hija dokumentazzjoni għall-verżjoni stabbli v5.0.9 tal-ESP-IDF. Verżjonijiet oħra tal-ESP-IDF huma wkoll disponibbli.
1.1 Introduzzjoni
ESP32 hija sistema fuq ċippa li tintegra l-karatteristiċi li ġejjin: · Wi-Fi (medda ta' 2.4 GHz) · Bluetooth · Qlub CPU doppji Xtensa® 32-bit LX6 ta' prestazzjoni għolja · Koproċessur b'konsum ta' enerġija ultra baxx · Periferali multipli
Imħaddem b'teknoloġija ta' 40 nm, ESP32 jipprovdi pjattaforma robusta u integrata ħafna, li tgħin biex tissodisfa d-domandi kontinwi għal użu effiċjenti tal-enerġija, disinn kompatt, sigurtà, prestazzjoni għolja, u affidabbiltà. Espressif jipprovdi riżorsi bażiċi ta' ħardwer u softwer biex jgħin lill-iżviluppaturi tal-applikazzjonijiet jirrealizzaw l-ideat tagħhom bl-użu tal-ħardwer tas-serje ESP32. Il-qafas tal-iżvilupp tas-softwer minn Espressif huwa maħsub għall-iżvilupp ta' applikazzjonijiet tal-Internet tal-Oġġetti (IoT) b'Wi-Fi, Bluetooth, ġestjoni tal-enerġija u diversi karatteristiċi oħra tas-sistema.
1.2 Dak li għandek bżonn
1.2.1 Ħardwer
· Bord ESP32. · Kejbil USB – USB A / mikro USB B. · Kompjuter li jħaddem Windows, Linux, jew macOS.
Nota: Bħalissa, xi wħud mill-bordijiet tal-iżvilupp qed jużaw konnetturi USB tat-Tip C. Kun żgur li għandek il-kejbil korrett biex tqabbad il-bord tiegħek!
Jekk għandek waħda mill-bordijiet tal-iżvilupp uffiċjali tal-ESP32 elenkati hawn taħt, tista' tikklikkja fuq il-link biex titgħallem aktar dwar il-hardware.
3
Kapitlu 1. Ibda
ESP32-DevKitS(-R)
Din il-gwida għall-utent tipprovdi informazzjoni dwar ESP32-DevKitS(-R), flashing board ibbażat fuq ESP32 prodott minn Espressif. ESP32-DevKitS(-R) hija taħlita ta' żewġ ismijiet ta' bordijiet: ESP32-DevKitS u ESP32-DevKitS-R. S tfisser springs, u R tfisser WROVER.
ESP32-DevKitS
ESP32-DevKitS-R
Id-dokument jikkonsisti mit-taqsimiet ewlenin li ġejjin: · Introduzzjoni: Jipprovdi ħarsa ġeneraliview ta' ESP32-DevKitS(-R) u struzzjonijiet ta' setup tal-ħardwer/softwer biex tibda. · Referenza tal-Ħardwer: Tipprovdi informazzjoni aktar dettaljata dwar il-ħardwer tal-ESP32-DevKitS(-R)ns. · Dokumenti Relatati: Jagħti links għal dokumentazzjoni relatata.
Nibdew Din it-taqsima tiddeskrivi kif tibda b'ESP32-DevKitS(-R). Tibda bi ftit taqsimiet introduttorji dwar ESP32-DevKitS(-R), imbagħad it-Taqsima Kif Tiflaxxja Bord tipprovdi struzzjonijiet dwar kif twaħħal modulu fuq ESP32-DevKitS(-R), tħejjih, u tifflaxxja l-firmware fuqu.
Fuqview ESP32-DevKitS(-R) hija bord tal-flaxxjar ta' Espressifns iddisinjat speċifikament għal ESP32. Jista' jintuża biex jifflaxxja modulu ESP32 mingħajr ma jissaldja l-modulu mal-provvista tal-enerġija u l-linji tas-sinjali. B'modulu mmuntat, ESP32-DevKitS(-R) jista' jintuża wkoll bħala bord żgħir tal-iżvilupp bħal ESP32-DevKitC.
Il-bordijiet ESP32-DevKitS u ESP32-DevKitS-R ivarjaw biss fid-disinn tal-pinnijiet tar-rebbiegħa biex jaqblu mal-moduli ESP32 li ġejjin.
· ESP32-DevKits: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (PCB & IPEX) ESP32-WROVER-B (PCB & IPEX) ESP32-WROVER-E ESP32-WROVER-IE
Għal informazzjoni dwar il-moduli ta' hawn fuq, jekk jogħġbok irreferi għall-Moduli tas-Serje ESP32.
Deskrizzjoni tal-Komponenti
Sistemi Espressif
4 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Figura 1: ESP32-DevKitS – quddiem
Sistemi Espressif
Figura 2: ESP32-DevKitS-R – quddiem 5
Issottometti Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Pinnijiet tar-Rebbiegħa tal-Komponent Ewlieni Headers Femminili ta' 2.54 mm
Pont USB-għal-UART Konnettur LDO Mikro-USB/Port Mikro-USB Buttuna EN Buttuna tal-Ibbutjar
LED mixgħul
Deskrizzjoni Ikklikkja l-modulu 'l ġewwa. Il-pinnijiet jidħlu fit-toqob imdawra tal-modulu. Dawn il-headers femminili huma konnessi mal-pinnijiet tal-modulu mmuntat fuq din il-bord. Għad-deskrizzjoni tal-headers femminili, jekk jogħġbok irreferi għall-Header Blocks. Pont USB għal UART b'ċippa waħda jipprovdi rati ta' trasferiment sa 3 Mbps.
Volum ta' telf baxx minn 5V sa 3.3Vtagregolatur tal-e (LDO).
Interfaċċja USB. Provvista tal-enerġija għall-bord kif ukoll l-interfaċċja tal-komunikazzjoni bejn kompjuter u l-bord.
Irrisettja buttuna.
Buttuna tat-Tniżżil. Billi żżomm il-buttuna Boot u mbagħad tagħfas EN tinbeda l-modalità tat-Tniżżil tal-Firmware għat-tniżżil tal-firmware permezz tal-port tas-serjali.
Jixgħel meta l-USB jew il-provvista tal-enerġija tkun imqabbda mal-bord.
Kif Tiflaxxja Bord Qabel ma tixgħel l-ESP32-DevKitS(-R) tiegħek, jekk jogħġbok kun żgur li jkun f'kundizzjoni tajba mingħajr sinjali ovvji ta' ħsara.
Ħardwer Meħtieġ · Modulu ESP32 tal-għażla tiegħek · Kejbil USB 2.0 (Standard-A għal Micro-B) · Kompjuter li jħaddem Windows, Linux, jew macOS
Konfigurazzjoni tal-Ħardwer Jekk jogħġbok waħħal modulu tal-għażla tiegħek fuq l-ESP32-DevKitS(-R) tiegħek skont il-passi li ġejjin:
· Poġġi bil-mod il-modulu tiegħek fuq il-bord ESP32-DevKitS(-R). Kun żgur li t-toqob imdawra bil-kastel fuq il-modulu tiegħek huma allinjati mal-labar tar-rebbiegħa fuq il-bord.
· Agħfas il-modulu tiegħek 'l isfel fil-bord sakemm tikklikkja. · Iċċekkja jekk il-brilli tar-rebbiegħa kollha humiex imdaħħla fit-toqob imdawra b'forma ta' kastell. Jekk hemm xi brilli tar-rebbiegħa mhux allinjati,
poġġihom f'toqob imdawwrin bil-pinzetta.
Setup tas-Softwer
Metodu Preferut Il-qafas tal-iżvilupp ESP-IDF jipprovdi mod preferut ta' kif jiġu flaxxjati binarji fuq ESP32-DevKitS(-R). Jekk jogħġbok ipproċedi għal Ibda, fejn it-Taqsima Installazzjoni tgħinek malajr twaqqaf l-ambjent tal-iżvilupp u mbagħad flaxxja applikazzjoni ex.ample fuq l-ESP32-DevKitS(-R) tiegħek.
Metodu Alternattiv Bħala alternattiva, l-utenti tal-Windows jistgħu jifflaxxjaw il-binarji billi jużaw il-Flash Download Tool. Sempliċement niżżlu, neħħih miż-zip, u segwi l-istruzzjonijiet fil-folder tad-doc.
Nota: 1. Biex tifflaxxja l-binarju files, l-ESP32 għandu jkun issettjat għall-modalità tat-Tniżżil tal-Firmware. Dan jista' jsir jew permezz tal-għodda tal-flash awtomatikament, jew billi żżomm il-buttuna Boot u tagħfas il-buttuna EN. 2. Wara li tifflaxxja l-binarju files, il-Flash Download Tool terġa' tibda l-modulu ESP32 tiegħek u tibda l-applikazzjoni flajjata awtomatikament.
Dimensjonijiet tal-Bord Kontenut u Ippakkjar
Sistemi Espressif
6 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda Fig. 3: Dimensjonijiet tal-bord ESP32-DevKitS – wara
Sistemi Espressif
Fig. 4: Dimensjonijiet tal-bord ESP32-DevKitS-R – wara 7
Issottometti Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Ordnijiet bl-imnut Jekk tordna ftitamples, kull ESP32-DevKitS(-R) jiġi f'pakkett individwali jew f'borża antistatika jew fi kwalunkwe ippakkjar skont il-bejjiegħ bl-imnut. Għal ordnijiet bl-imnut, jekk jogħġbok żur https://www.espressif.com/en/contact-us/get-samples.
Ordnijiet bl-Ingrossa Jekk tordna bl-ingrossa, il-bordijiet jiġu f'kaxxi kbar tal-kartun. Għal ordnijiet bl-ingrossa, jekk jogħġbok mur fuq https://www.espressif.com/en/contact-us/sales-questions.
Referenza tal-Hardware
Dijagramma tal-Blokkijiet Dijagramma tal-blokkijiet hawn taħt turi l-komponenti tal-ESP32-DevKitS(-R) u l-interkonnessjonijiet tagħhom.
Figura 5: ESP32-DevKitS(-R) (ikklikkja biex tkabbar)
Għażliet tal-Provvista tal-Enerġija Hemm tliet modi li jeskludu lil xulxin biex tipprovdi l-enerġija lill-bord: · Port Mikro USB, provvista tal-enerġija awtomatika · Pinnijiet tal-header ta' 5V u GND · Pinnijiet tal-header ta' 3V3 u GND
Huwa rrakkomandat li tuża l-ewwel għażla: port mikro USB.
Sistemi Espressif
.
Sinjal tat-Tikketta
L1 3V3 VDD 3V3
L2 EN CHIP_PU
L3 VP SENSOR_VP
SENSUR VN L4_VN
L5 34
GPIO34
L6 35
GPIO35
L7 32
GPIO32
L8 33
GPIO33
ikompli fil-paġna ta' wara
8 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
It-Tabella 1 kompliet mill-paġna preċedenti
.
Sinjal tat-Tikketta
L9 25
GPIO25
L10 26
GPIO26
L11 27
GPIO27
L12 14
GPIO14
L13 12
GPIO12
L14 GND GND
L15 13
GPIO13
L16 D2 SD_DATA2
L17 D3 SD_DATA3
L18 CMD SD_CMD
L19 5V
Esterni 5V
R1 GND GND
R2 23
GPIO23
R3 22
GPIO22
R4 TX U0TXD
R5 RX U0RXD
R6 21
GPIO21
R7 GND GND
R8 19
GPIO19
R9 18
GPIO18
R10 5
GPIO5
R11 17
GPIO17
R12 16
GPIO16
R13 4
GPIO4
R14 0
GPIO0
R15 2
GPIO2
R16 15
GPIO15
R17 D1 SD_DATA1
R18 D0 SD_DATA0
R19 CLK SD_CLK
Blokki tal-Intestatura Għall-immaġni tal-blokki tal-intestatura, jekk jogħġbok irreferi għad-Deskrizzjoni tal-Komponenti.
Dokumenti Relatati
· Skematika ESP32-DevKitS(-R) (PDF) · Skeda Teknika ESP32 (PDF) · Skeda Teknika ESP32-WROOM-32 (PDF) · Skeda Teknika ESP32-WROOM-32D & ESP32-WROOM-32U (PDF) · Skeda Teknika ESP32-SOLO-1 (PDF) · Skeda Teknika ESP32-WROVER (PDF) · Skeda Teknika ESP32-WROVER-B (PDF) · Selettur tal-Prodott ESP
ESP32-DevKitM-1
Din il-gwida għall-utent se tgħinek tibda tuża ESP32-DevKitM-1 u se tipprovdi wkoll informazzjoni aktar dettaljata.
ESP32-DevKitM-1 hija bord ta' żvilupp ibbażat fuq ESP32-MINI-1(1U) prodotta minn Espressif. Il-biċċa l-kbira tal-pins tal-I/O huma mqassma mal-headers tal-pin fuq iż-żewġ naħat għal interfaċċjar faċli. L-utenti jistgħu jew jgħaqqdu periferali b'wajers jumper jew jimmontaw ESP32-DevKitM-1 fuq breadboard.
Sistemi Espressif
9 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
ESP32-DevKitM-1 – quddiem
ESP32-DevKitM-1 – isometriku
Id-dokument jikkonsisti mit-taqsimiet ewlenin li ġejjin: · Introduzzjoni: Jipprovdi ħarsa ġeneraliview tal-ESP32-DevKitM-1 u l-istruzzjonijiet tas-setup tal-ħardwer/softwer biex tibda. · Referenza tal-ħardwer: Tipprovdi informazzjoni aktar dettaljata dwar il-ħardwer tal-ESP32-DevKitM-1ns. · Dokumenti Relatati: Jagħti links għal dokumentazzjoni relatata.
Nibdew Din it-taqsima tiddeskrivi kif tibda bl-ESP32-DevKitM-1. Tibda bi ftit taqsimiet introduttorji dwar l-ESP32-DevKitM-1, imbagħad it-Taqsima Bidu Żvilupp tal-Applikazzjoni tipprovdi struzzjonijiet dwar kif tagħmel is-setup inizjali tal-ħardwer u mbagħad kif tifflaxxja l-firmware fuq l-ESP32-DevKitM-1.
Fuqview Dan huwa bord ta 'żvilupp żgħir u konvenjenti li fih:
· Modulu ESP32-MINI-1, jew ESP32-MINI-1U · Interfaċċja ta' programmar USB-għal-serje li tipprovdi wkoll provvista tal-enerġija għall-bord · pin headers · pushbuttons għal reset u attivazzjoni tal-modalità Firmware Download · ftit komponenti oħra
Kontenut u Ippakkjar
Ordnijiet bl-imnut Jekk tordna ftitamples, kull ESP32-DevKitM-1 jiġi f'pakkett individwali jew f'borża antistatika jew fi kwalunkwe ippakkjar skont il-bejjiegħ tiegħek.
Għal ordnijiet bl-imnut, jekk jogħġbok mur fuq https://www.espressif.com/en/contact-us/get-samples.
Ordnijiet bl-Ingrossa Jekk tordna bl-ingrossa, il-bordijiet jiġu f'kaxxi kbar tal-kartun. Għal ordnijiet bl-ingrossa, jekk jogħġbok mur fuq https://www.espressif.com/en/contact-us/sales-questions.
Deskrizzjoni tal-Komponenti Il-figura li ġejja u t-tabella t'hawn taħt jiddeskrivu l-komponenti ewlenin, l-interfejsijiet u l-kontrolli tal-bord ESP32-DevKitM-1. Nieħdu l-bord b'modulu ESP32-MINI-1 bħala eżempju.ample fit-taqsimiet li ġejjin.
Sistemi Espressif
10 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Figura 6: ESP32-DevKitM-1 – quddiem
Komponent Ewlieni Modulu abbord
Buttuna tal-Ibbutjar LDO minn 5 V sa 3.3 V
Buttuna tar-Reset Port Mikro-USB
Pont USB għal UART LED tal-Enerġija Mixgħula 3.3 V
Konnettur I/O
Deskrizzjoni
Modulu ESP32-MINI-1 jew modulu ESP32-MINI-1U. ESP32-MINI-1 jiġi b'antenna PCB integrata. ESP32-MINI-1U jiġi b'konnettur ta' antenna esterna. Iż-żewġ moduli t-tnejn għandhom pakkett ta' ċippa flash ta' 4 MB. Għal aktar dettalji, jekk jogħġbok ara l-Iskeda tad-Datas ta' ESP32-MINI-1 & ESP32-MINI-1U.
Ir-regolatur tal-enerġija jikkonverti 5 V għal 3.3 V.
Buttuna tat-Tniżżil. Meta żżomm il-buttuna Boot u mbagħad tagħfas Reset tinbeda l-modalità tat-Tniżżil tal-Firmware għat-tniżżil tal-firmware permezz tal-port tas-serjali.
Irrisettja Buttuna
Interfaċċja USB. Provvista ta 'enerġija għall-bord kif ukoll l-interface ta' komunikazzjoni bejn kompjuter u ċ-ċippa ESP32.
Ċippa tal-pont USB-UART waħda tipprovdi rati ta 'trasferiment sa 3 Mbps.
Jixgħel meta l-USB ikun imqabbad mal-bord. Għal aktar dettalji, jekk jogħġbok ara l-iskematiċi f'Dokumenti Relatati. Il-pins GPIO kollha disponibbli (ħlief għall-bus SPI għall-flash) huma maqsuma fil-pin headers fuq il-bord. L-utenti jistgħu jipprogrammaw iċ-ċippa ESP32 biex jippermettu funzjonijiet multipli.
Ibda l-Iżvilupp tal-Applikazzjoni Qabel ma tixgħel l-ESP32-DevKitM-1 tiegħek, jekk jogħġbok kun żgur li jinsab f'kundizzjoni tajba mingħajr sinjali ovvji ta' ħsara.
Ħardwer Meħtieġ · ESP32-DevKitM-1 · Kejbil USB 2.0 (Standard-A għal Micro-B) · Kompjuter li jħaddem Windows, Linux, jew macOS
Konfigurazzjoni tas-Softwer Jekk jogħġbok ipproċedi għal Ibda, fejn it-Taqsima Installazzjoni tgħinek malajr tissettja l-ambjent tal-iżvilupp u mbagħad tifflaxxja eżempju ta' applikazzjoni.ample fuq l-ESP32-DevKitM-1 tiegħek.
Sistemi Espressif
11 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Attenzjoni: Il-bordijiet ESP32-DevKitM-1 manifatturati qabel it-2 ta' Diċembru 2021 għandhom modulu b'qalba waħda installat. Biex tivverifika liema modulu għandek, jekk jogħġbok iċċekkja l-informazzjoni dwar il-markar tal-modulu f'PCN-2021-021. Jekk il-bord tiegħek għandu modulu b'qalba waħda installat, jekk jogħġbok ippermetti l-modalità b'qalba waħda (CONFIG_FREERTOS_UNICORE) fil-menuconfig qabel ma tifflaxxja l-applikazzjonijiet tiegħek.
Dijagramma tal-Blokkijiet ta' Referenza tal-Ħardwer Dijagramma tal-blokkijiet hawn taħt turi l-komponenti tal-ESP32-DevKitM-1 u l-interkonnessjonijiet tagħhom.
Figura 7: ESP32-DevKitM-1
Għażla tas-Sors tal-Enerġija Hemm tliet modi li jeskludu lil xulxin biex tipprovdi l-enerġija lill-bord: · Port Mikro USB, provvista tal-enerġija awtomatika · Pinnijiet tal-header ta' 5V u GND · Pinnijiet tal-header ta' 3V3 u GND
Twissija: · Il-provvista tal-enerġija trid tiġi pprovduta billi tuża waħda u waħda biss mill-għażliet ta' hawn fuq, inkella l-bord u/jew is-sors tal-provvista tal-enerġija jistgħu jiġu mħassra. · Il-provvista tal-enerġija permezz ta' port mikro USB hija rakkomandata.
Deskrizzjonijiet tal-Brilli It-tabella t'hawn taħt tipprovdi l-Isem u l-Funzjoni tal-brilli fuq iż-żewġ naħat tal-bord. Għal konfigurazzjonijiet tal-brilli periferali, jekk jogħġbok irreferi għad-Datasheet tal-ESP32.
Nru.
Isem
Tip
1
GND
P
2
3V3
P
Funzjoni Art Provvista tal-enerġija ta' 3.3 V
ikompli fil-paġna ta' wara
Sistemi Espressif
12 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
It-Tabella 2 kompliet mill-paġna preċedenti
Nru.
Isem
Tip
Funzjoni
3
I36
I
GPIO36, ADC1_CH0, RTC_GPIO0
4
I37
I
GPIO37, ADC1_CH1, RTC_GPIO1
5
I38
I
GPIO38, ADC1_CH2, RTC_GPIO2
6
I39
I
GPIO39, ADC1_CH3, RTC_GPIO3
7
RST
I
Irrisettja; Għoli: jippermettu; Baxxa: qawwa mitfija
8
I34
I
GPIO34, ADC1_CH6, RTC_GPIO4
9
I35
I
GPIO35, ADC1_CH7, RTC_GPIO5
10
IO32
I/O
GPIO32, XTAL_32K_P (input ta' oxxillatur tal-kristall ta' 32.768 kHz),
ADC1_CH4, TOUCH9, RTC_GPIO9
11
IO33
I/O
GPIO33, XTAL_32K_N (32.768 kHz tal-ħruġ tal-oxxillatur tal-kristall),
ADC1_CH5, TOUCH8, RTC_GPIO8
12
IO25
I/O
GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
13
IO26
I/O
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
14
IO27
I/O
GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
15
IO14
I/O
GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,
HS2_CLK, SD_CLK, EMAC_TXD2
16
5V
P
Provvista ta 'enerġija ta' 5 V
17
IO12
I/O
GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ,
HS2_DATA2, SD_DATA2, EMAC_TXD3
18
IO13
I/O
GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID,
HS2_DATA3, SD_DATA3, EMAC_RX_ER
19
IO15
I/O
GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0,
HS2_CMD, SD_CMD, EMAC_RXD3
20
IO2
I/O
GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,
HS2_DATA0, SD_DATA0
21
IO0
I/O
GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,
EMAC_TX_CLK
22
IO4
I/O
GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,
HS2_DATA1, SD_DATA1, EMAC_TX_ER
23
IO9
I/O
GPIO9, HS1_DATA2, U1RXD, SD_DATA2
24
IO10
I/O
GPIO10, HS1_DATA3, U1TXD, SD_DATA3
25
IO5
I/O
GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK
26
IO18
I/O
GPIO18, HS1_DATA7, VSPICLK
27
IO23
I/O
GPIO23, HS1_STROBE, VSPID
28
IO19
I/O
GPIO19, VSPIQ, U0CTS, EMAC_TXD0
29
IO22
I/O
GPIO22, VSPIWP, U0RTS, EMAC_TXD1
30
IO21
I/O
GPIO21, VSPIHD, EMAC_TX_EN
31
TXD0
I/O
GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
32
RXD0
I/O
GPIO3, U0RXD, CLK_OUT2
Dettalji tar-Reviżjoni tal-Ħardwer M'hemm l-ebda verżjonijiet preċedenti disponibbli.
Dokumenti Relatati
· Skema tad-Data ESP32-MINI-1 & ESP32-MINI-1U (PDF) · Skematiċi ESP32-DevKitM-1 (PDF) · Tqassim tal-PCB ESP32-DevKitM-1 (PDF) · Tqassim ESP32-DevKitM-1 (DXF) – Tista' view dan bl-Autodesk Viewonline · Skeda tad-Data tal-ESP32 (PDF) · Selettur tal-Prodott tal-ESP
Għal dokumentazzjoni oħra tad-disinn għall-bord, jekk jogħġbok ikkuntattjana fuq sales@espressif.com.
Sistemi Espressif
13 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Softwer 1.2.2
Biex tibda tuża ESP-IDF fuq ESP32, installa s-softwer li ġej: · Toolchain biex tikkumpila l-kodiċi għall-ESP32 · Ibni għodod – CMake u Ninja biex tibni Applikazzjoni sħiħa għall-ESP32 · ESP-IDF li essenzjalment fih API (libreriji tas-softwer u kodiċi tas-sors) għall-ESP32 u skripts biex tħaddem it-Toolchain
1.3 Installazzjoni
Biex tinstalla s-softwer kollu meħtieġ, noffru xi modi differenti biex niffaċilitaw dan ix-xogħol. Agħżel minn waħda mill-għażliet disponibbli.
1.3.1 IDE
Nota: Nirrakkomandaw ħafna li tinstalla l-ESP-IDF permezz tal-IDE favorit tiegħek.
· Plugin tal-Eclipse · Estensjoni tal-VSCode
1.3.2 Installazzjoni manwali
Għall-proċedura manwali, jekk jogħġbok agħżel skont is-sistema operattiva tiegħek.
Sistemi Espressif
14 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Setup Standard ta' Toolchain għall-Windows
Introduzzjoni ESP-IDF jeħtieġ li jiġu installati xi għodod prerekwiżiti sabiex tkun tista' tibni firmware għal ċipep appoġġjati. L-għodod prerekwiżiti jinkludu Python, Git, cross-compilers, CMake u Ninja build tools. Għal dan il-Getting Started se nużaw il-Command Prompt, imma wara li jiġi installat ESP-IDF tista' tuża Eclipse Plugin jew IDE grafiku ieħor b'appoġġ CMake minflok. Nota: Limitazzjonijiet: – Il-mogħdija tal-installazzjoni ta' ESP-IDF u ESP-IDF Tools m'għandhiex tkun itwal minn 90 karattru. Mogħdijiet ta' installazzjoni twal wisq jistgħu jirriżultaw f'bini li ma jirnexxix. – Il-mogħdija tal-installazzjoni ta' Python jew ESP-IDF m'għandhiex tinkludi spazji bojod jew parentesi. – Il-mogħdija tal-installazzjoni ta' Python jew ESP-IDF m'għandhiex tinkludi karattri speċjali (mhux ASCII) sakemm is-sistema operattiva ma tkunx ikkonfigurata b'appoġġ għal Unicode UTF-8. L-Amministratur tas-Sistema jista' jippermetti l-appoġġ permezz tal-Control Panel – Ibdel il-formati tad-data, il-ħin, jew in-numru – Tab Amministrattiv – Ibdel il-lokal tas-sistema – immarka l-għażla Beta: Uża Unicode UTF-8 għall-appoġġ tal-lingwi madwar id-dinja – Ok u erġa' ibda l-kompjuter.
Installer tal-Għodda ESP-IDF L-aktar mod faċli biex tinstalla l-prerekwiżiti tal-ESP-IDFns huwa li tniżżel wieħed mill-Installaturi tal-Għodda ESP-IDF.
Niżżel l-Installatur tal-Windows
X'inhu l-każ ta' użu għall-Installatur Online u Offline? L-Installatur Online huwa żgħir ħafna u jippermetti l-installazzjoni tar-rilaxxi kollha disponibbli ta' ESP-IDF. L-installatur se jniżżel biss id-dipendenzi meħtieġa inkluż Git Għall-Windows matul il-proċess ta' installazzjoni. L-installatur jaħżen il-fajls imniżżla... files fid-direttorju tal-cache %userprofile%. espresso
L-Installatur Offline ma jeħtieġ l-ebda konnessjoni tan-netwerk. L-installatur fih id-dipendenzi kollha meħtieġa inkluż Git Għall-Windows.
Komponenti tal-installazzjoni L-installatur juża l-komponenti li ġejjin:
· Python Inkorporat · Cross-compilers · OpenOCD · Għodod tal-bini CMake u Ninja · ESP-IDF
L-installatur jippermetti wkoll l-użu mill-ġdid tad-direttorju eżistenti bl-ESP-IDF. Id-direttorju rakkomandat huwa %userprofile%Desktopesp-idf fejn %userprofile% hija d-direttorju tad-dar tiegħek.
Sistemi Espressif
15 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Tnedija tal-Ambjent ESP-IDF Fi tmiem il-proċess tal-installazzjoni tista' tagħżel l-għażla Run ESP-IDF PowerShell Environment jew Run ESP-IDF Command Prompt (cmd.exe). L-installatur se jniedi l-ambjent ESP-IDF fil-pront magħżul. Mexxi ESP-IDF PowerShell Environment:
Fig. 8: Tlestija tal-ESP-IDF Tools Setup Wizard b'Run ESP-IDF PowerShell Environment
Mexxi l-Prompt tal-Kmand tal-ESP-IDF (cmd.exe):
Użu tal-Prompt tal-Kmand Għall-passi li fadal tal-Bidu, se nużaw il-Prompt tal-Kmand tal-Windows. L-Installatur tal-Għodod ESP-IDF joħloq ukoll shortcut fil-menu Start biex iniedi l-Prompt tal-Kmand tal-ESP-IDF. Dan ix-shortcut iniedi l-Prompt tal-Kmand (cmd.exe) u jħaddem l-iskritt export.bat biex jissettja l-varjabbli tal-ambjent (PATH, IDF_PATH u oħrajn). Ġewwa dan il-prompt tal-kmand, l-għodod installati kollha huma disponibbli. Innota li dan ix-shortcut huwa speċifiku għad-direttorju ESP-IDF magħżul fl-Installatur tal-Għodod ESP-IDF. Jekk għandek direttorji multipli tal-ESP-IDF fuq il-kompjuter (pereżempjuampjiġifieri, biex taħdem ma' verżjonijiet differenti ta' ESP-IDF), għandek żewġ għażliet biex tużahom:
1. Oħloq kopja tas-shortcut maħluqa mill-ESP-IDF Tools Installer, u ibdel id-direttorju tax-xogħol tas-shortcut il-ġdid għad-direttorju ESP-IDF li tixtieq tuża.
2. Inkella, mexxi cmd.exe, imbagħad ibdel għad-direttorju ESP-IDF li tixtieq tuża, u mexxi export.bat. Innota li għall-kuntrarju tal-għażla preċedenti, dan il-mod jeħtieġ li Python u Git ikunu preżenti fil-PATH. Jekk tirċievi żbalji relatati ma' Python jew Git li ma jinstabux, uża l-ewwel għażla.
L-Ewwel Passi fuq l-ESP-IDF Issa peress li r-rekwiżiti kollha huma ssodisfati, is-suġġett li jmiss se jiggwidak dwar kif tibda l-ewwel proġett tiegħek.
Sistemi Espressif
16 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda Fig. 9: ESP-IDF PowerShell
Fig. 10: Kif tlesti l-ESP-IDF Tools Setup Wizard b'Run ESP-IDF Command Prompt (cmd.exe)
Sistemi Espressif
17 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Fig. 11: Prompt tal-Kmand tal-ESP-IDF
Sistemi Espressif
18 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Din il-gwida se tgħinek fl-ewwel passi bl-użu tal-ESP-IDF. Segwi din il-gwida biex tibda proġett ġdid fuq l-ESP32 u tibni, tifflaxxja, u timmonitorja l-output tal-apparat. Nota: Jekk għadek ma installajtx ESP-IDF, jekk jogħġbok mur fuq Installazzjoni u segwi l-istruzzjonijiet sabiex tikseb is-softwer kollu meħtieġ biex tuża din il-gwida.
Ibda Proġett Issa lest biex tipprepara l-applikazzjoni tiegħek għall-ESP32. Tista' tibda bil-proġett getstarted/hello_world minn examples direttorju fl-ESP-IDF.
Importanti: Is-sistema ta' bini ESP-IDF ma tappoġġjax spazji fil-mogħdijiet la għall-ESP-IDF u lanqas għall-proġetti.
Ikkopja l-proġett get-started/hello_world fid-direttorju ~/esp: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world hello_world
Nota: Hemm firxa ta' eżempjiample proġetti fl-examples direttorju fl-ESP-IDF. Tista' tikkopja kwalunkwe proġett bl-istess mod kif ippreżentat hawn fuq u tmexxih. Huwa wkoll possibbli li tinbena examples f'posthom mingħajr ma tikkopjahom l-ewwel.
Qabbad l-Apparat Tiegħek Issa qabbad il-bord ESP32 tiegħek mal-kompjuter u ċċekkja taħt liema port serjali l-bord huwa viżibbli. L-ismijiet tal-portijiet serjali jibdew b'COM fil-Windows. Jekk m'intix ċert kif tivverifika l-isem tal-port serjali, jekk jogħġbok irreferi għal Stabbilixxi Konnessjoni Serjali ma' ESP32 għal aktar dettalji.
Nota: Żomm l-isem tal-port handy peress li jkollok bżonnu fil-passi li jmiss.
Ikkonfigura l-Proġett Tiegħek Innaviga lejn id-direttorju hello_world tiegħek, issettja ESP32 bħala l-mira, u mexxi l-utilità tal-konfigurazzjoni tal-proġett menuconfig.
CD tal-Windows %userprofile%esphello_world idf.py issettja l-mira esp32 idf.py menuconfig
Wara li tiftaħ proġett ġdid, l-ewwel għandek tissettja l-mira b'idf.py set-target esp32. Innota li l-bini u l-konfigurazzjonijiet eżistenti fil-proġett, jekk ikun hemm, se jitħassru u jiġu inizjalizzati f'dan il-proċess. Il-mira tista' tiġi ssejvjata fil-varjabbli tal-ambjent biex taqbeż dan il-pass għal kollox. Ara Agħżel iċ-Ċippa fil-Mira: set-target għal aktar informazzjoni. Jekk il-passi preċedenti jkunu saru b'mod korrett, jidher il-menu li ġej: Qed tuża dan il-menu biex tissettja varjabbli speċifiċi għall-proġett, eż., l-isem u l-password tan-netwerk Wi-Fi, il-veloċità tal-proċessur, eċċ. It-twaqqif tal-proġett b'menuconfig jista' jinqabeż għal ohello_wordp, peress li dan l-eż.ample jaħdem bil-konfigurazzjoni default.
Attenzjoni: Jekk tuża l-bord ESP32-DevKitC mal-modulu ESP32-SOLO-1, jew il-bord ESP32-DevKitM-1 mal-modulu ESP32-MIN1-1(1U), jekk jogħġbok attiva l-modalità single core (CONFIG_FREERTOS_UNICORE) fil-menuconfig qabel ma tifflaxxja examples.
Sistemi Espressif
19 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Fig. 12: Konfigurazzjoni tal-proġett – Tieqa ewlenija
Nota: Il-kuluri tal-menù jistgħu jkunu differenti fit-terminal tiegħek. Tista' tbiddel id-dehra bl-għażla –style. Jekk jogħġbok mexxi idf.py menuconfig –help għal aktar informazzjoni.
Jekk qed tuża waħda mill-bordijiet tal-iżvilupp appoġġjati, tista' tħaffef l-iżvilupp tiegħek billi tuża l-Pakkett ta' Appoġġ tal-Bord. Ara Pariri Addizzjonali għal aktar informazzjoni.
Ibni l-Proġett Ibni l-proġett billi tħaddem:
idf.py jibnu
Dan il-kmand se jiġbor l-applikazzjoni u l-komponenti kollha tal-ESP-IDF, imbagħad jiġġenera l-bootloader, il-partition table, u l-binarji tal-applikazzjoni.
$ idf.py build Qed tħaddem cmake fid-direttorju /path/to/hello_world/build Qed tesegwixxi “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… Twissija dwar valuri mhux inizjalizzati. — Instabet Git: /usr/bin/git (instabet verżjoni “2.17.0”) — Qed tinbena komponent aws_iot vojt minħabba l-konfigurazzjoni — Ismijiet tal-komponenti: … — Mogħdijiet tal-komponenti: …
… (aktar linji ta’ output tas-sistema tal-bini)
[527/527] Qed tiġġenera hello_world.bin esptool.py v2.3.1
Il-bini tal-proġett tlesta. Biex tifflaxxja, mexxi dan il-kmand: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin jew mexxi 'idf.py -p PORT flash'
Jekk ma jkunx hemm żbalji, il-bini jintemm billi jiġġenera l-binarju tal-firmware .bin files.
Sistemi Espressif
20 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Iflaxxja fuq l-Apparat Iflaxxja l-binarji li għadek kif bnejt (bootloader.bin, partition-table.bin u hello_world.bin) fuq il-bord ESP32 tiegħek billi tħaddem: idf.py -p PORT [-b BAUD] flash
Ibdel PORT bl-isem tal-port tas-serje tal-bord ESP32 tiegħek. Tista' wkoll tibdel ir-rata tal-baud tal-flasher billi tissostitwixxi BAUD bir-rata tal-baud li għandek bżonn. Ir-rata tal-baud awtomatika hija 460800. Għal aktar informazzjoni dwar l-argumenti idf.py, ara idf.py.
Nota: L-għażla flash tibni u tifflaxxja l-proġett awtomatikament, għalhekk it-tħaddim ta' idf.py build mhuwiex neċessarju.
Iltqajt ma' Problemi Waqt il-Flaxxjar? Jekk tħaddem il-kmand mogħti u tara żbalji bħal "Failed to connectp", jista' jkun hemm diversi raġunijiet għal dan. Waħda mir-raġunijiet tista' tkun il-problemi li jiltaqgħu magħhom esptool.py, l-utilità li tissejjaħ mis-sistema tal-bini biex tirrisettja ċ-ċippa, tinteraġixxi mal-bootloader tar-ROM, u tifflaxxja l-firmware. Soluzzjoni sempliċi waħda li tista' tipprova hija r-risettjar manwali deskritt hawn taħt, u jekk ma jgħinekx tista' ssib aktar dettalji dwar problemi possibbli fis-Sezzjoni Issolvi l-Problemi.
esptool.py jirrisettja l-ESP32 awtomatikament billi jasserixxi l-linji ta' kontroll DTR u RTS taċ-ċippa tal-konvertitur USB għal serjali, jiġifieri, FTDI jew CP210x (għal aktar informazzjoni, ara Stabbilixxi Konnessjoni Serjali ma' ESP32). Il-linji ta' kontroll DTR u RTS huma min-naħa tagħhom konnessi mal-pins GPIO0 u CHIP_PU (EN) ta' ESP32, u b'hekk jinbidlu l-volum.tagIl-livelli ta' DTR u RTS se jibdlu l-ESP32 fil-modalità tat-Tniżżil tal-Firmware. Bħala eż.ampjiġifieri, iċċekkja l-iskema għall-bord tal-iżvilupp ESP32 DevKitC.
B'mod ġenerali, m'għandekx ikollok problemi bil-bordijiet uffiċjali tal-iżvilupp esp-idf. Madankollu, esptool.py mhux kapaċi jirresettja l-ħardwer tiegħek awtomatikament fil-każijiet li ġejjin:
· Il-ħardwer tiegħek m'għandux il-linji DTR u RTS konnessi ma' GPIO0 u CHIP_PU · Il-linji DTR u RTS huma kkonfigurati b'mod differenti · M'hemm l-ebda linji ta' kontroll serjali bħal dawn
Skont it-tip ta' ħardwer li għandek, jista' jkun ukoll possibbli li tpoġġi l-bord ESP32 tiegħek manwalment fil-modalità ta' Tniżżil tal-Firmware (reset).
· Għal bordijiet tal-iżvilupp prodotti minn Espressif, din l-informazzjoni tista' tinstab fil-gwidi tal-bidu jew fil-gwidi tal-utent rispettivi. Pereżempjuampjiġifieri, biex tirrisettja manwalment bord tal-iżvilupp ESP-IDF, żomm il-buttuna Boot (GPIO0) magħfusa u agħfas il-buttuna EN (CHIP_PU).
· Għal tipi oħra ta' ħardwer, ipprova niżżel il-GPIO0.
Operazzjoni Normali Meta jteptep, se tara l-log tal-output simili għal dan li ġej:
... esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Port tas-serje /dev/ttyUSB0 Qed tikkonnettja…….._ Iċ-ċippa hija ESP32D0WDQ6 (reviżjoni 0) Karatteristiċi: WiFi, BT, Dual Core, Skema ta' Kodifikazzjoni Xejn Il-kristall huwa 40MHz MAC: 24:0a:c4:05:b9:14 Qed jittella' stub… Qed jaħdem stub… Stub qed jaħdem… Qed tinbidel ir-rata tal-baud għal 460800 Mibdula.
(ikompli fil-paġna ta' wara)
Sistemi Espressif
21 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
(ikompli mill-paġna ta' qabel) Konfigurazzjoni tad-daqs tal-flash… Ikkompressati 3072 byte għal 103… Kitba f'0x00008000… (100 %) Kiteb 3072 byte (103 ikkompressati) f'0x00008000 f'0.0 sekondi (effettiv 5962.8 kbit/s)… Hash tad-dejta verifikat. Ikkompressati 26096 byte għal 15408… Kitba f'0x00001000… (100 %) Kiteb 26096 byte (15408 ikkompressati) f'0x00001000 f'0.4 sekondi (effettiv 546.7 kbit/s)… Hash tad-dejta verifikat. Ikkompressati 147104 bytes għal 77364… Kitba f'0x00010000… (20 %) Kitba f'0x00014000… (40 %) Kitba f'0x00018000… (60 %) Kitba f'0x0001c000… (80 %) Kitba f'0x00020000… (100 %) Kiteb 147104 bytes (77364 ikkompressati) f'0x00010000 f'1.9 sekondi (effettiv 615.5 kbit/s)… Hash tad-dejta vverifikat.
Tħalli... Resetting iebes permezz tal-pin RTS... Magħmul
Jekk ma jkun hemm l-ebda problema sa tmiem il-proċess tal-flash, il-bord jerġa' jibda u jibda l-applikazzjoni thehello_worldp. Jekk tixtieq tuża l-Eclipse jew il-VS Code IDE minflok ma tħaddem idf.py, agħti ħarsa lejn l-Eclipse Plugin, VSCode Extension.
Immonitorja l-Output Biex tiċċekkja jekk ohello_worldpis tassew qed jaħdem, ittajpja idf.py -p PORT monitor (Tinsiex tissostitwixxi PORT bl-isem tal-port tas-serjali tiegħek).
Dan il-kmand iniedi l-applikazzjoni tal-IDF Monitor:
$ idf.py -p monitor Qed tħaddem idf_monitor fid-direttorju […]/esp/hello_world/build Qed teżegwixxi “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor mixgħul 115200 —– Ħruġ: Ctrl+] | Menù: Ctrl+T | Għajnuna: Ctrl+T segwit minn Ctrl+H –ets 8 ta' Ġunju 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 8 ta' Ġunju 2016 00:22:57 …
Wara li l-logs tal-istartjar u tad-dijanjostika jiskrolljaw 'il fuq, għandek tara oHello world!p stampat mill-applikazzjoni.
... Bongu dinja! Nerġa' nibda f'10 sekondi... Din hija ċippa esp32 b'2 qalba(i) tas-CPU, WiFi/BT/BLE, reviżjoni tas-silikon 1, flash esterna ta' 2MB Daqs minimu tal-heap ħieles: 298968 bytes Nerġa' nibda f'9 sekondi... Nerġa' nibda fi 8 sekondi... Nerġa' nibda f'7 sekondi...
Biex toħroġ mill-monitor IDF uża s-shortcut Ctrl+].
Sistemi Espressif
22 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Jekk il-monitor tal-IDF ifalli ftit wara t-tlugħ, jew, jekk minflok il-messaġġi ta' hawn fuq, tara żibel każwali simili għal dak mogħti hawn taħt, il-bord tiegħek x'aktarx qed juża kristall ta' 26 MHz. Il-biċċa l-kbira tad-disinji tal-bordijiet tal-iżvilupp jużaw 40 MHz, għalhekk l-ESP-IDF juża din il-frekwenza bħala valur awtomatiku.
Jekk għandek problema bħal din, agħmel dan li ġej: 1. Oħroġ mill-monitor. 2. Mur lura għall-menuconfig. 3. Mur għal Component config > Hardware Settings > Main XTAL Config > Main XTAL frequency, imbagħad ibdel CONFIG_XTAL_FREQ_SEL għal 26 MHz. 4. Wara dan, ibni u ifflaxxja l-applikazzjoni mill-ġdid.
Fil-verżjoni attwali tal-ESP-IDF, il-frekwenzi ewlenin tal-XTAL appoġġjati mill-ESP32 huma kif ġej:
· 26 MHz · 40 MHz
Nota: Tista' tgħaqqad il-bini, il-flaxxjar u l-monitoraġġ f'pass wieħed billi tħaddem: idf.py -p PORT flash monitor
Ara wkoll: · IDF Monitor għal shortcuts utli u aktar dettalji dwar l-użu tal-IDF monitor. · idf.py għal referenza sħiħa tal-kmandi u l-għażliet ta' idf.py.
Dak hu kollu li għandek bżonn biex tibda bl-ESP32! Issa lest biex tipprova xi eżempji oħra.amples, jew mur direttament għall-iżvilupp tal-applikazzjonijiet tiegħek stess.
Importanti: Xi wħud mill-eż.ampIl-fajls ma jappoġġjawx l-ESP32 għaliex il-ħardwer meħtieġ mhux inkluż fl-ESP32 u għalhekk ma jistax jiġi appoġġjat. Jekk qed tibni example, jekk jogħġbok iċċekkja r-README file għat-tabella tal-Miri Appoġġjati. Jekk dan huwa preżenti inkluż il-mira ESP32, jew it-tabella ma teżistix xejn, l-eż.ampse jaħdem fuq ESP32.
Għajnuniet Addizzjonali
Kwistjonijiet ta' permess /dev/ttyUSB0 B'xi distribuzzjonijiet tal-Linux, tista' tirċievi l-messaġġ ta' żball Failed to open port /dev/ttyUSB0 meta tkun qed ittejpja l-ESP32. Dan jista' jiġi solvut billi żżid l-utent attwali mal-grupp tad-dialout.
Kompatibilità ma' Python ESP-IDF jappoġġja Python 3.7 jew aktar ġdid. Huwa rakkomandat li taġġorna s-sistema operattiva tiegħek għal verżjoni reċenti li tissodisfa dan ir-rekwiżit. Għażliet oħra jinkludu l-installazzjoni ta' Python minn sorsi jew l-użu ta' sistema ta' ġestjoni tal-verżjonijiet ta' Python bħal pyenv.
Ibda bil-Pakkett ta' Appoġġ tal-Bord Biex tħaffef il-prototipar fuq xi bordijiet tal-iżvilupp, tista' tuża Pakketti ta' Appoġġ tal-Bord (BSPs), li jagħmlu l-inizjalizzazzjoni ta' bord partikolari faċli daqs ftit sejħiet ta' funzjoni.
Sistemi Espressif
23 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
BSP tipikament jappoġġja l-komponenti kollha tal-ħardwer ipprovduti fuq il-bord tal-iżvilupp. Minbarra d-definizzjoni tal-pinout u l-funzjonijiet ta' inizjalizzazzjoni, BSP jiġi b'sewwieqa għall-komponenti esterni bħal sensuri, displays, codecs awdjo eċċ. Il-BSPs huma mqassma permezz tal-IDF Component Manager, għalhekk jistgħu jinstabu fl-IDF Component Registry. Hawnhekk hawn eżempju.ampGwida dwar kif iżżid ESP-WROVER-KIT BSP mal-proġett tiegħek: idf.py add-dependency esp_wrover_kit
Aktar exampInqasijiet ta' użu tal-BSP jistgħu jinstabu fl-eżempji tal-BSPamples folder.
Dokumenti Relatati Għal utenti avvanzati li jixtiequ jippersonalizzaw il-proċess tal-installazzjoni: · Aġġornament tal-għodod ESP-IDF fuq Windows · Stabbiliment ta' Konnessjoni Serjali ma' ESP32 · Plugin Eclipse · Estensjoni VSCode · Monitor IDF
Aġġornament tal-għodod ESP-IDF fuq il-Windows
Installa l-għodod ESP-IDF billi tuża skript Mill-Prompt tal-Kmand tal-Windows, ibdel għad-direttorju fejn huwa installat l-ESPIDF. Imbagħad mexxi:
install.bat
Għal Powershell, ibdel għad-direttorju fejn huwa installat ESP-IDF. Imbagħad mexxi:
installa.ps1
Dan se jniżżel u jinstalla l-għodod meħtieġa biex tuża ESP-IDF. Jekk il-verżjoni speċifika tal-għodda diġà hija installata, ma tittieħed l-ebda azzjoni. L-għodod jitniżżlu u jiġu installati f'direttorju speċifikat matul il-proċess tal-Installatur tal-Għodod ESP-IDF. B'mod awtomatiku, dan huwa C:Usersusername.espressif.
Żid l-għodod ESP-IDF mal-PATH billi tuża skript tal-esportazzjoni L-installatur tal-għodod ESP-IDF joħloq shortcut fil-menu Start għall-oESP-IDF Command Promptp. Dan ix-shortcut jiftaħ tieqa tal-Command Prompt fejn l-għodod kollha diġà jinsabu.
disponibbli. F'xi każijiet, tista' tkun trid taħdem bl-ESP-IDF f'tieqa tal-Prompt tal-Kmand li ma nbdietx bl-użu ta' dik ix-shortcut. Jekk dan huwa l-każ, segwi l-istruzzjonijiet hawn taħt biex iżżid l-għodod tal-ESP-IDF mal-PATH. Fil-prompt tal-kmand fejn għandek bżonn tuża l-ESP-IDF, ibdel għad-direttorju fejn huwa installat l-ESP-IDF, imbagħad eżegwixxi export.bat:
cd %userprofile%espesp-idf export.bat
Inkella fil-Powershell fejn għandek bżonn tuża ESP-IDF, ibdel għad-direttorju fejn huwa installat ESP-IDF, imbagħad eżegwixxi export.ps1:
cd ~/esp/esp-idf export.ps1
Meta dan isir, l-għodod ikunu disponibbli f'dan il-pront tal-kmand.
Stabbilixxi Konnessjoni Serjali mal-ESP32 Din it-taqsima tipprovdi gwida dwar kif tistabbilixxi konnessjoni serjali bejn l-ESP32 u l-PC.
Sistemi Espressif
24 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Qabbad l-ESP32 mal-PC Qabbad il-bord tal-ESP32 mal-PC billi tuża l-kejbil USB. Jekk is-sewwieq tal-apparat ma jiġix installat awtomatikament, identifika ċ-ċippa tal-konvertitur USB għal serial fuq il-bord tal-ESP32 tiegħek (jew dongle tal-konvertitur estern), fittex is-sewwieqa fuq l-internet u installahom. Hawn taħt hawn il-lista taċ-ċipep tal-konvertitur USB għal serial installati fuq il-biċċa l-kbira tal-bordijiet tal-ESP32 prodotti minn Espressif flimkien ma' links għas-sewwieqa:
· CP210x: CP210x USB għal UART Bridge VCP Drivers · FTDI: FTDI Virtual COM Port Drivers Jekk jogħġbok iċċekkja l-gwida tal-utent tal-bord għaċ-ċippa speċifika tal-konvertitur USB għal serial użata. Id-drivers ta' hawn fuq huma primarjament għal referenza. Taħt ċirkostanzi normali, id-drivers għandhom jiġu inklużi ma' sistema operattiva u jiġu installati awtomatikament malli l-bord jiġi konness mal-PC.
Iċċekkja l-port fuq il-Windows Iċċekkja l-lista tal-portijiet COM identifikati fil-Windows Device Manager. Skonnettja l-ESP32 u erġa' qabbdu, biex tivverifika liema port jisparixxi mil-lista u mbagħad jerġa' jidher. Il-figuri hawn taħt juru l-port tas-serje għall-ESP32 DevKitC u l-ESP32 WROVER KIT
Fig. 13: Pont USB għal UART ta' ESP32-DevKitC fil-Windows Device Manager
Iċċekkja l-port fuq Linux u macOS Biex tiċċekkja l-isem tal-apparat għall-port serjali tal-bord ESP32 tiegħek (jew dongle tal-konvertitur estern), mexxi dan il-kmand darbtejn, l-ewwel bil-bord / dongle skonnettjat, imbagħad bid-dongle pplaggjat. Il-port li jidher it-tieni darba huwa dak li għandek bżonn: Linux
ls /dev/tty*
macOS
Sistemi Espressif
25 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Fig. 14: Żewġ Portijiet Serjali USB tal-ESP-WROVER-KIT fil-Maniġer tal-Apparati tal-Windows
Sistemi Espressif
26 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
ls /dev/cu.* Nota: Utenti tal-macOS: jekk ma tarax il-port tas-serjali allura iċċekkja li għandek id-drajvers USB/serjali installati. Ara t-Taqsima Qabbad l-ESP32 mal-PC għal links għad-drajvers. Għal macOS High Sierra (10.13), jista' jkollok ukoll tippermetti espliċitament li d-drajvers jitgħabbew. Iftaħ Preferenzi tas-Sistema -> Sigurtà u Privatezza -> Ġenerali u ċċekkja jekk hemmx messaġġ muri hawn dwar oSoftwer tas-Sistema mill-iżviluppatur lpfejn l-isem tal-iżviluppatur huwa Silicon Labs jew FTDI.
Żieda ta' utent għal dialout fuq Linux L-utent li bħalissa huwa illoggjat għandu jkollu aċċess għall-qari u l-kitba tas-serial port permezz tal-USB. Fuq il-biċċa l-kbira tad-distribuzzjonijiet tal-Linux, dan isir billi żżid l-utent mal-grupp dialout bil-kmand li ġej:
sudo usermod -a -G dialout $USER
fuq Arch Linux dan isir billi żżid l-utent mal-grupp uucp bil-kmand li ġej:
sudo usermod -a -G uucp $USER
Kun żgur li terġa' tidħol biex tippermetti l-permessi ta' qari u tikteb għall-port tas-serje.
Ivverifika l-konnessjoni serjali Issa ivverifika li l-konnessjoni serjali qed taħdem. Tista' tagħmel dan billi tuża programm tat-terminal serjali billi tiċċekkja jekk tirċevix xi output fuq it-terminal wara li tirrisettja l-ESP32. Ir-rata tal-baud awtomatika tal-console fuq l-ESP32 hija 115200.
Windows u Linux F'dan l-eż.ampPereżempju, se nużaw PuTTY SSH Client li huwa disponibbli kemm għal Windows kif ukoll għal Linux. Tista' tuża programmi serjali oħra u tissettja parametri ta' komunikazzjoni bħal hawn taħt. Mexxi t-terminal u ssettja l-port serjali identifikat. Rata ta' baud = 115200 (jekk meħtieġ, ibdel dan għar-rata ta' baud awtomatika taċ-ċippa li qed tintuża), bits tad-dejta = 8, bits ta' waqfien = 1, u parità = N. Hawn taħt hawn eżempjiampScreenshots tal-issettjar tal-port u parametri ta' trasmissjoni bħal dawn (deskritti fil-qosor bħala 115200-8-1-N) fuq Windows u Linux. Ftakar li tagħżel eżattament l-istess port serjali li identifikajt fil-passi ta' hawn fuq. Imbagħad iftaħ il-port serjali fit-terminal u ċċekkja jekk tarax xi log stampat mill-ESP32. Il-kontenut tal-log jiddependi fuq l-applikazzjoni mgħobbija fuq l-ESP32, ara Eż.ampl-Output.
Nota: Agħlaq it-terminal serjali wara li tivverifika li l-komunikazzjoni qed taħdem. Jekk iżżomm is-sessjoni tat-terminal miftuħa, il-port serjali ma jkunx aċċessibbli biex jittella' l-firmware aktar tard.
macOS Biex teħlisek mill-inkwiet li tinstalla programm tas-serial terminal, macOS joffri l-kmand screen. · Kif diskuss f'Check port on Linux and macOS, mexxi:
ls /dev/cu.* · Għandek tara output simili:
/dev/cu.Bluetooth-Incoming-Port /dev/cu.SLAB_USBtoUART USBtoUART7
/dev/cu.SLAB_
· L-output ivarja skont it-tip u n-numru ta' bordijiet imqabbda mal-PC tiegħek. Imbagħad agħżel l-isem tal-apparat tal-bord tiegħek u mexxi (jekk meħtieġ, ibdel o115200 għal-baud rate default taċ-ċippa li qed tintuża):
screen /dev/cu.device_name 115200 Ibdel device_name bl-isem li nstab waqt li tkun qed tħaddem ls /dev/cu.*.
Sistemi Espressif
27 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Fig. 15: Issettjar tal-Komunikazzjoni Serjali f'PuTTY fuq Windows
Sistemi Espressif
28 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Fig. 16: Issettjar tal-Komunikazzjoni Serjali f'PuTTY fuq Linux
Sistemi Espressif
29 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
· Dak li qed tfittex huwa xi log muri mill-iskrin. Il-kontenut tal-log jiddependi fuq l-applikazzjoni mgħobbija fuq l-ESP32, ara Eż.ample Output. Biex toħroġ mis-sessjoni tal-iskrin ittajpja Ctrl-A + .
Nota: Tinsiex toħroġ mis-sessjoni tal-iskrin wara li tivverifika li l-komunikazzjoni qed taħdem. Jekk tonqos milli tagħmel dan u sempliċement tagħlaq it-tieqa tat-terminal, il-port tas-serje ma jkunx aċċessibbli biex ittella' l-firmware aktar tard.
ExampOutput ta' eżempjuampIl-log jidher hawn taħt. Irrisettja l-bord jekk ma tara xejn. ets 8 ta' Ġunju 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 8 ta' Ġunju 2016 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader I (45) boot: ħin tal-kumpilazzjoni 18:48:10
...
Jekk tista' tara output tal-log li jista' jinqara, ifisser li l-konnessjoni tas-serje qed taħdem u int lest biex tipproċedi bl-installazzjoni u finalment ittella' l-applikazzjoni fuq l-ESP32.
Nota: Għal xi konfigurazzjonijiet tal-wajers tal-port serjali, il-pins tas-serje RTS & DTR jeħtieġ li jiġu diżattivati fil-programm tat-terminal qabel ma l-ESP32 jibda u jipproduċi output serjali. Dan jiddependi fuq il-hardware nnifsu, il-biċċa l-kbira tal-bordijiet tal-iżvilupp (inklużi l-bordijiet Espressif kollha) m'għandhomx din il-problema. Il-problema hija preżenti jekk RTS & DTR huma konnessi direttament mal-pins EN & GPIO0. Ara d-dokumentazzjoni tal-esptool għal aktar dettalji.
Jekk wasalt hawn mill-Pass 5. L-Ewwel Passi fuq ESP-IDF meta tinstalla s/w għall-iżvilupp tal-ESP32, allura tista' tkompli bil-Pass 5. L-Ewwel Passi fuq ESP-IDF.
IDF Monitor IDF Monitor huwa prinċipalment programm tat-terminal serjali li jittrażmetti dejta serjali lejn u mill-port serjali tat-tagħmir fil-mira. Jipprovdi wkoll xi karatteristiċi speċifiċi għall-IDF. IDF Monitor jista' jitnieda minn proġett IDF billi tħaddem idf.py monitor.
Shortcuts tat-Tastiera Għal interazzjoni faċli mal-IDF Monitor, uża s-shortcuts tat-tastiera mogħtija fit-tabella.
Sistemi Espressif
30 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Shortcut tat-Tastiera Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (jew A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (jew I)
· Ctrl+H (jew H)
· Ctrl+X (jew X)
Ctrl+C
Azzjoni
Deskrizzjoni
Oħroġ mill-programm Tasta tal-ħruġ tal-menù Ibgħat il-karattru tal-menù nnifsu lir-remote
Ibgħat il-karattru tal-ħruġ innifsu lir-remote
Irrisettja l-mira fil-bootloader biex twaqqaf l-app permezz tal-linja RTS
Irrisettja l-bord fil-mira permezz tal-RTS
Ibni u flashja l-proġett
Ibni u flajpja l-app biss
Waqqaf/erġa' ibda l-istampar tal-output tal-log fuq l-iskrin
Waqqaf/kompli l-output tal-log salvat fuq file
Ħin ta' waqfien/tkomplijaamps
stampar
Uri s-shortcuts kollha tat-tastiera
Agħfas u segwiha b'waħda miċ-ċwievet mogħtija hawn taħt.
Jirrisettja t-target, fil-bootloader permezz tal-linja RTS (jekk imqabbad), sabiex il-bord ma jħaddem xejn. Utli meta jkollok bżonn tistenna li apparat ieħor jibda. Jirrisettja l-bord tat-target u jerġa' jibda l-applikazzjoni permezz tal-linja RTS (jekk imqabbad).
Iwaqqaf idf_monitor biex imexxi l-mira flash tal-proġett, imbagħad jerġa' jibda idf_monitor. Kwalunkwe sors mibdul fileL-s jiġu kkompilati mill-ġdid u mbagħad jerġgħu jiġu flajpjati. Target encrypted-flash jitħaddem jekk idf_monitor ikun inbeda bl-argument -E. Jwaqqaf idf_monitor biex iħaddem il-mira tal-app-flash, imbagħad jerġa' jibda idf_monitor. Simili għall-mira tal-flash, iżda l-app prinċipali biss tinbena u terġa' tiġi flajpjata. Target encrypted-app-flash jitħaddem jekk idf_monitor ikun inbeda bl-argument -E. Jarmi d-dejta serjali kollha li tidħol waqt li jkun attivat. Jippermetti li twaqqaf u teżamina malajr l-output tal-log mingħajr ma tieqaf il-monitor. Joħloq a file fid-direttorju tal-proġett u l-output jinkiteb f'dak file sakemm dan jiġi diżattivat bl-istess shortcut tat-tastiera (jew l-IDF Monitor joħroġ). L-IDF Monitor jista' jistampa l-ħinijietamp fil-bidu ta' kull linja. L-aktar ħinamp il-format jista' jinbidel skont l-iktar ħin possibbliamp-format argument tal-linja tal-kmand.
Ħruġ mill-programm
Interrompi l-applikazzjoni li tkun għaddejja
Iwaqqaf il-Monitor tal-IDF u jħaddem id-debugger tal-proġett GDB biex jiddebuggja l-applikazzjoni waqt ir-runtime. Dan jirrikjedi li l-għażla :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME tkun attivata.
Kwalunkwe ċavetta li tiġi ppressata, għajr Ctrl-] u Ctrl-T, se tintbagħat permezz tal-port serjali.
Karatteristiċi speċifiċi għall-IDF
Dekodifikazzjoni Awtomatika tal-Indirizzi Kull meta ESP-IDF joħroġ indirizz ta' kodiċi eżadeċimali tal-forma 0x4_______, IDF Monitor juża addr2line_ biex ifittex il-post fil-kodiċi tas-sors u jsib l-isem tal-funzjoni.
Jekk app ESP-IDF tiġġarraf u tippanikkja, tiġi prodotta register dump u backtrace, bħal dawn li ġejjin:
Sistemi Espressif
31 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Seħħ żball ta' Meditazzjoni tal-Guru tat-tip StoreProhibited fuq il-qalba 0. L-eċċezzjoni kienet
mhux immaniġġjat.
Dump tar-Reġistru:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
A2
: 0x3ffb136c A3
: 0x00000005 A4
: 0x00000000 A5
:
0x00000000
A6
: 0x00000000 A7
: 0x00000080 A8
: 0x00000000 A9
:
0x3ffb7dd0
A10
: 0x00000003 A11
: 0x00060f23 A12
: 0x00060f20 A13
:
0x3ffba6d0
A14
: 0x00000047 A15
: 0x0000000f SAR
: 0x00000019 SKUZAZZJONI:
0x0000001d
EXCVADDR: 0x00000000 LBEG: 0x4000c46c LEND: 0x4000c477 LCOUNT:
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90
IDF Monitor iżid aktar dettalji mad-dump:
Seħħ żball ta' Meditazzjoni tal-Guru tat-tip StoreProhibited fuq il-qalba 0. L-eċċezzjoni kienet
mhux immaniġġjat.
Dump tar-Reġistru:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
0x400f360d: agħmel_xi_xi_ħaġa_biex_tiġġarraf f'/home/gus/esp/32/idf/examples/ibda/
hello_world/main/./hello_world_main.c:57
(inlinjat minn) inner_dont_crash fuq /home/gus/esp/32/idf/examples/ibda/hello_
dinja/prinċipali/./hello_world_main.c:52
A2
: 0x3ffb136c A3
: 0x00000005 A4
: 0x00000000 A5
:
0x00000000
A6
: 0x00000000 A7
: 0x00000080 A8
: 0x00000000 A9
:
0x3ffb7dd0
A10
: 0x00000003 A11
: 0x00060f23 A12
: 0x00060f20 A13
:
0x3ffba6d0
A14
: 0x00000047 A15
: 0x0000000f SAR
: 0x00000019 SKUZAZZJONI:
0x0000001d
EXCVADDR: 0x00000000 LBEG: 0x4000c46c LEND: 0x4000c477 LCOUNT:
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (inlined minn) inner_dont_crash fuq /home/gus/esp/32/idf/examples/get-started/hello_world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash f'/home/gus/esp/32/idf/examples/get-started/hello_world/main/./hello_world_main.c:47 0x400dbf5e: dont_crash f'/home/gus/esp/32/idf/examples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main fuq /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task fuq /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254
Biex jiddekodifika kull indirizz, IDF Monitor imexxi l-kmand li ġej fl-isfond: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS
Nota: Issettja l-varjabbli tal-ambjent ESP_MONITOR_DECODE għal 0 jew ċempel idf_monitor.py b'linja ta' kmand speċifika
Sistemi Espressif
32 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
għażla: idf_monitor.py –disable-address-decoding biex tiddiżattiva d-dekodifikazzjoni tal-indirizz.
Irrisettjar tal-Mira mal-Konnessjoni B'mod awtomatiku, l-IDF Monitor se jirrisettja l-mira meta jikkonnettja magħha. Ir-risettjar taċ-ċippa fil-mira jsir bl-użu tal-linji serjali DTR u RTS. Biex tevita li l-IDF Monitor jirrisettja l-mira awtomatikament mal-konnessjoni, ċempel l-IDF Monitor bl-għażla –no-reset (eż., idf_monitor.py –no-reset).
Nota: L-għażla –no-reset tapplika l-istess imġiba anke meta tikkonnettja IDF Monitor ma' port partikolari (eż., idf.py monitor –no-reset -p [PORT]).
It-tnedija ta' GDB b'GDBStub GDBStub hija karatteristika utli ta' debugging waqt ir-runtime li taħdem fuq il-mira u tikkonnettja mal-host permezz tal-port tas-serje biex tirċievi kmandi ta' debugging. GDBStub jappoġġja kmandi bħall-qari tal-memorja u l-varjabbli, l-eżami tal-frejms tal-munzell tas-sejħiet eċċ. Għalkemm GDBStub huwa inqas versatili minn JTAG debugging, ma jeħtieġ l-ebda ħardwer speċjali (bħal JTAG (għal pont USB) peress li l-komunikazzjoni ssir kompletament fuq il-port tas-serje. Mira tista' tiġi kkonfigurata biex tħaddem GDBStub fl-isfond billi tissettja l-CONFIG_ESP_SYSTEM_PANIC għal GDBStub waqt ir-runtime. GDBStub se jaħdem fl-isfond sakemm messaġġ Ctrl+C jintbagħat fuq il-port tas-serje u jikkawża li l-GDBStub ikisser (jiġifieri, iwaqqaf l-eżekuzzjoni ta') l-programm, u b'hekk jippermetti lil GDBStub jimmaniġġja l-kmandi tad-debugging. Barra minn hekk, il-maniġġatur tal-paniku jista' jiġi kkonfigurat biex iħaddem GDBStub f'każ ta' ħabta billi tissettja l-CONFIG_ESP_SYSTEM_PANIC għal GDBStub f'każ ta' paniku. Meta sseħħ ħabta, GDBStub joħroġ mudell ta' string speċjali fuq il-port tas-serje biex jindika li qed jaħdem. Fiż-żewġ każijiet (jiġifieri, tibgħat il-messaġġ Ctrl+C, jew tirċievi l-mudell ta' string speċjali), IDF Monitor awtomatikament iniedi GDB sabiex jippermetti lill-utent jibgħat kmandi tad-debugging. Wara li GDB joħroġ, il-mira tiġi rrisettjata permezz tal-linja tas-serje RTS. Jekk din il-linja ma tkunx konnessa, l-utenti jistgħu jirrisettjaw il-mira tagħhom (billi jagħfsu l-buttuna Irrisettja tal-bord).
Nota: Fl-isfond, IDF Monitor imexxi l-kmand li ġej biex iniedi l-GDB:
xtensa-esp32-elf-gdb -ex “issettja l-baud tas-serje BAUD” -ex “il-PORT remot fil-mira” -ex interrupt build/PROJECT.elf :idf_target:`Hello ISEM ċippa`
Filtrazzjoni tal-Output Il-monitor tal-IDF jista' jiġi invokat bħala idf.py monitor –print-filter=”xyz”, fejn –print-filter huwa l-parametru għall-filtrazzjoni tal-output. Il-valur awtomatiku huwa string vojta, li jfisser li kollox jiġi stampat.
Ir-restrizzjonijiet fuq x'għandu jiġi stampat jistgħu jiġu speċifikati bħala serje ta'tag>: oġġetti fejntag> huwa l- tag spag u huwa karattru mis-sett {N, E, W, I, D, V, *} li jirreferi għal livell għall-logging.
Per example, PRINT_FILTER="tag1:W” jaqbel u jistampa biss l-outputs miktuba b'ESP_LOGW(“tag1”, …) jew f'livell ta' verbosità aktar baxx, jiġifieri ESP_LOGE(“tag1″, …). Ma tispeċifikax a jew l-użu ta' * awtomatikament jintuża l-livell Verbose.
Nota: Uża l-logging primarju biex tiddiżattiva fil-kumpilazzjoni l-outputs li m'għandekx bżonn permezz tal-librerija tal-logging. Il-filtrazzjoni tal-output bil-monitor IDF hija soluzzjoni sekondarja li tista' tkun utli biex taġġusta l-għażliet tal-filtrazzjoni mingħajr ma terġa' tikkumpila l-applikazzjoni.
L-app tiegħek tags ma jridx ikun fih spazji, asteriski *, jew kolonni: biex ikun kompatibbli mal-karatteristika tal-iffiltrar tal-output.
Jekk l-aħħar linja tal-output fl-app tiegħek ma tkunx segwita minn carriage return, il-filtrazzjoni tal-output tista' titħawwad, jiġifieri, il-monitor jibda jistampa l-linja u aktar tard jiskopri li l-linja ma kellhiex tinkiteb. Din hija kwistjoni magħrufa u tista' tiġi evitata billi dejjem iżżid carriage return (speċjalment meta l-ebda output ma jsegwi immedjatament wara).
Sistemi Espressif
33 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
ExampRegoli ta' Filtrazzjoni:
· * jista' jintuża biex jaqbel ma' kwalunkwe tagsMadankollu, l-istring PRINT_FILTER=”*:I tag1:E” fir-rigward ta' tag1 jistampa żbalji biss, għax ir-regola għal tag1 għandu prijorità ogħla fuq ir-regola għal *.
· Ir-regola awtomatika (vojta) hija ekwivalenti għal *:V għaliex it-tqabbil ta' kull tag fil-livell Verbose jew aktar baxx ifisser li jaqbel ma' kollox.
· “*:N” mhux biss jrażżan l-outputs mill-funzjonijiet tal-logging, iżda wkoll il-prints magħmula minn printf, eċċ. Biex tevita dan, uża *:E jew livell ta' verbosità ogħla.
· Regoli “tag1:V”, “tag1:v”, “tag1:”, “tag1:*”, u “tag1” huma ekwivalenti. · Regola “tag1:W tag1:E” hija ekwivalenti għal “tag1:E” għaliex kwalunkwe okkorrenza konsegwenti tal-istess tag
l-isem jissostitwixxi dak ta’ qabel. · Regola “tag1:I tag2:W” jistampa biss tag1 fil-livell ta' verbosità tal-Informazzjoni jew aktar baxx u tag2 fit-Twissija
livell ta' verbosità jew aktar baxx. · Regola "tag1:I tag2:W tag3:N” hija essenzjalment ekwivalenti għal dik ta’ qabel għaliex tag3:N jispeċifika
dak tag3 m'għandux jiġi stampat. · tag3:N fir-regola “tag1:I tag2:W tag3:N *:V” hija aktar sinifikanti għaliex mingħajrha tag3:N il-
tagSetgħu ġew stampati 3 messaġġi; l-iżbalji għal tag1 u tag2 se jiġi stampat fil-livell ta' verbosità speċifikat (jew aktar baxx) u kull ħaġa oħra se tiġi stampata awtomatikament.
Eżempju ta' Filtrazzjoni Aktar KumplessaampIs-silta tal-log li ġejja nkisbet mingħajr ebda għażliet ta' filtrazzjoni:
tagħbija:0x40078000,len:13564 entrata 0x40078d4c E (31) esp_image: l-immaġni f'0x30000 għandha byte maġiku invalidu W (31) esp_image: l-immaġni f'0x30000 għandha modalità SPI invalida 255 E (39) boot: Il-partizzjoni tal-app tal-fabbrika mhix bootable I (568) cpu_start: CPU Pro mixgħul. I (569) heap_init: Qed tiġi inizjalizzata. RAM disponibbli għal allokazzjoni dinamika: I (603) cpu_start: Kodiċi tal-utent tal-bidu tas-CPU Pro D (309) light_driver: [light_init, 74]:status: 1, modalità: 2 D (318) vfs: esp_vfs_register_fd_range huwa ta' suċċess għal firxa <54; 64) u VFS ID 1 I (328) wifi: kompitu tas-sewwieq tal-wifi: 3ffdbf84, prio:23, stack:4096, core=0
L-output maqbud għall-għażliet ta' filtrazzjoni PRINT_FILTER=”wifi esp_image:E light_driver:I” huwa mogħti hawn taħt:
E (31) esp_image: l-immaġni f'0x30000 għandha byte maġiku invalidu I (328) wifi: kompitu tas-sewwieq tal-wifi: 3ffdbf84, prio:23, stack:4096, core=0
L-għażliet “PRINT_FILTER="light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V" juru l-output li ġej:
tagħbija:0x40078000,tul:13564 entrata 0x40078d4c I (569) heap_init: Qed tiġi inizjalizzata. RAM disponibbli għal allokazzjoni dinamika: D (309) light_driver: [light_init, 74]:status: 1, mod: 2
Kwistjonijiet Magħrufa bl-IDF Monitor
Kwistjonijiet Osservati fuq il-Windows
· Iċ-ċwievet tal-vleġeġ, kif ukoll xi ċwievet oħra, ma jaħdmux fil-GDB minħabba l-limitazzjonijiet tal-Windows Console. · Kultant, meta oidf.pypexits joħroġ, jista' jieqaf għal sa 30 sekonda qabel ma jerġa' jibda l-IDF Monitor. · Meta ogdbpis jaħdem, jista' jieqaf għal żmien qasir qabel ma jibda jikkomunika mal-GDBStub.
Sistemi Espressif
34 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda s-Setup Standard tal-Toolchain għal-Linux u l-macOS
Installazzjoni Pass Pass Din hija pjan direzzjonali dettaljat li jiggwidak fil-proċess tal-installazzjoni.
Twaqqif tal-Ambjent tal-Iżvilupp Dawn huma l-passi biex tissettja l-ESP-IDF għall-ESP32 tiegħek. · Pass 1. Prerekwiżiti tal-Installazzjoni · Pass 2. Ikseb l-ESP-IDF · Pass 3. Issettja l-għodod · Pass 4. Issettja l-varjabbli tal-ambjent · Pass 5. L-Ewwel Passi fuq l-ESP-IDF
Pass 1. Prerekwiżiti tal-Installazzjoni Sabiex tuża ESP-IDF mal-ESP32, trid tinstalla xi pakketti ta' softwer ibbażati fuq is-Sistema Operattiva tiegħek. Din il-gwida tas-setup se tgħinek tinstalla kollox fuq sistemi bbażati fuq Linux u macOS.
Għall-Utenti tal-Linux Biex tikkumpila bl-użu tal-ESP-IDF ser ikollok bżonn tikseb il-pakketti li ġejjin. Il-kmand li għandu jitħaddem jiddependi fuq liema distribuzzjoni ta' Linux qed tuża:
· Ubuntu u Debian: sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS 7 & 8: sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 għadu appoġġjat iżda l-verżjoni 8 ta' CentOS hija rakkomandata għal esperjenza aħjar għall-utent. · Arch: sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Nota: · Il-verżjoni 3.16 jew aktar ġdida ta' CMake hija meħtieġa għall-użu ma' ESP-IDF. Mexxi otools/idf_tools.py install cmakepto biex tinstalla verżjoni xierqa jekk il-verżjonijiet tas-sistema operattiva tiegħek m'għandhomx waħda. · Jekk ma tarax id-distribuzzjoni Linux tiegħek fil-lista ta' hawn fuq, jekk jogħġbok iċċekkja d-dokumentazzjoni tagħha biex issir taf liema kmand għandek tuża għall-installazzjoni tal-pakkett.
Għall-Utenti tal-macOS, ESP-IDF se juża l-verżjoni ta' Python installata awtomatikament fuq macOS. · Installa CMake & Ninja build: Jekk għandek HomeBrew, tista' tħaddem: brew install cmake ninja dfu-util Jekk għandek MacPorts, tista' tħaddem: sudo port install cmake ninja dfu-util Inkella, ikkonsulta l-paġni ewlenin ta' CMake u Ninja għad-downloads tal-installazzjoni tal-macOS.
Sistemi Espressif
35 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
· Huwa rrakkomandat ħafna li tinstalla wkoll ccache għal builds aktar mgħaġġla. Jekk għandek HomeBrew, dan jista' jsir permezz ta' brew install ccache jew sudo port install ccache fuq MacPorts.
Nota: Jekk jintwera żball bħal dan waqt kwalunkwe pass: xcrun: żball: mogħdija attiva tal-iżviluppatur invalida (/Library/Developer/CommandLineTools), xcrun nieqes fuq: /Library/Developer/CommandLineTools/usr/bin/xcrun
Imbagħad ikollok bżonn tinstalla l-għodod tal-linja tal-kmand XCode biex tkompli. Tista' tinstallahom billi tħaddem xcode-select –install.
Utenti tal-Apple M1 Jekk tuża l-pjattaforma Apple M1 u tara żball bħal dan: TWISSIJA: id-direttorju għall-għodda xtensa-esp32-elf verżjoni esp-2021r2-patch3-8.4.0 huwa preżenti, iżda l-għodda ma nstabitx ŻBALL: l-għodda xtensa-esp32-elf m'għandhiex verżjonijiet installati. Jekk jogħġbok mexxi 'install.sh' biex tinstallaha.
jew: zsh: tip ta' CPU ħażin fl-eżekutibbli: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Imbagħad ikollok bżonn tinstalla Apple Rosetta 2 billi tħaddem /usr/sbin/softwareupdate –install-rosetta –agree-to-license
Installazzjoni ta' Python 3 Abbażi tan-noti tar-rilaxx ta' macOS Catalina 10.15, l-użu ta' Python 2.7 mhux rakkomandat u Python 2.7 mhux se jiġi inkluż awtomatikament fil-verżjonijiet futuri ta' macOS. Iċċekkja liema Python għandek bħalissa: python –version
Jekk l-output huwa bħal Python 2.7.17, l-interpretu awtomatiku tiegħek huwa Python 2.7. Jekk iva, iċċekkja wkoll jekk Python 3 mhux diġà installat fuq il-kompjuter tiegħek: python3 –version
Jekk il-kmand ta' hawn fuq jirritorna żball, ifisser li Python 3 mhux installat. Hawn taħt hawn deskrizzjoniview tal-passi biex tinstalla Python 3.
· L-installazzjoni bil-HomeBrew tista' ssir kif ġej: brew install python3
· Jekk għandek MacPorts, tista' tħaddem: sudo port install python38
Pass 2. Ikseb ESP-IDF Biex tibni applikazzjonijiet għall-ESP32, għandek bżonn il-libreriji tas-softwer ipprovduti minn Espressif fir-repożitorju ESP-IDF. Biex tikseb ESP-IDF, naviga lejn id-direttorju tal-installazzjoni tiegħek u kklonja r-repożitorju b'git clone, billi ssegwi l-istruzzjonijiet hawn taħt speċifiċi għas-sistema operattiva tiegħek. Iftaħ it-Terminal, u mexxi l-kmandi li ġejjin:
Sistemi Espressif
36 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
mkdir -p ~/esp cd ~/esp git klonu -b v5.0.9 –rikursiv https://github.com/espressif/esp-idf.git
ESP-IDF se jitniżżel f'~/esp/esp-idf. Ikkonsulta Verżjonijiet ESP-IDF għal informazzjoni dwar liema verżjoni ESP-IDF tuża f'sitwazzjoni partikolari.
Pass 3. Issettja l-għodod Minbarra l-ESP-IDF, trid tinstalla wkoll l-għodod użati mill-ESP-IDF, bħall-kumpilatur, id-debugger, il-pakketti Python, eċċ., għal proġetti li jappoġġjaw l-ESP32. cd ~/esp/esp-idf ./install.sh esp32
jew bis-cd tal-qoxra tal-ħut ~/esp/esp-idf ./install.fish esp32
Il-kmandi ta' hawn fuq jinstallaw għodod għal ESP32 biss. Jekk bi ħsiebek tiżviluppa proġetti għal aktar miri ta' ċippa allura għandek telenkahom kollha u tħaddemhom għal example: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
jew bis-cd tal-qoxra tal-ħut ~/esp/esp-idf ./install.fish esp32,esp32s2
Sabiex tinstalla l-għodod għall-miri kollha appoġġjati jekk jogħġbok mexxi l-kmand li ġej: cd ~/esp/esp-idf ./install.sh all
jew bis-cd tal-qoxra tal-ħut ~/esp/esp-idf ./install.fish kollha
Nota: Għall-utenti tal-macOS, jekk jintwera żball bħal dan waqt xi pass:urlżball miftuħ [SSL: CERTIFICATE_VERIFY_FAILED] il-verifika taċ-ċertifikat falliet: ma setax jinkiseb iċ-ċertifikat tal-emittent lokali (_ssl.c:xxx)
Tista' tħaddem il-kmand Install Certificates.fil-folder Python tal-kompjuter tiegħek biex tinstalla ċ-ċertifikati. Għal aktar dettalji, ara Żball fit-Tniżżil Waqt l-Installazzjoni tal-Għodod ESP-IDF.
Alternattiva File Downloads L-installatur tal-għodda jniżżel numru ta' files mehmuż mar-Rilaxxi ta' GitHub. Jekk l-aċċess għal GitHub huwa bil-mod allura huwa possibbli li tissettja varjabbli tal-ambjent biex tippreferi s-server tat-tniżżil ta' Espressifns għat-tniżżil tal-assi ta' GitHub.
Nota: Din l-issettjar tikkontrolla biss għodod individwali mniżżla minn rilaxxi ta' GitHub, ma tbiddilx il- URLjintuża biex jiġu aċċessati kwalunkwe repożitorji tal-Git.
Biex tippreferi s-server tat-tniżżil ta' Espressif meta tinstalla l-għodod, uża s-sekwenza ta' kmandi li ġejja meta tħaddem install.sh:
Sistemi Espressif
37 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
cd ~/esp/esp-idf esportazzjoni IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Personalizzazzjoni tal-mogħdija tal-installazzjoni tal-għodod L-iskripts introdotti f'dan il-pass jinstallaw għodod ta' kumpilazzjoni meħtieġa minn ESP-IDF fid-direttorju tad-dar tal-utent: $HOME/.espressif fuq Linux. Jekk tixtieq tinstalla l-għodod f'direttorju differenti, issettja l-varjabbli tal-ambjent IDF_TOOLS_PATH qabel ma tħaddem l-iskripts tal-installazzjoni. Kun żgur li l-kont tal-utent tiegħek għandu permessi biżżejjed biex jaqra u jikteb f'din il-mogħdija. Jekk tbiddel l-IDF_TOOLS_PATH, kun żgur li huwa ssettjat għall-istess valur kull darba li jiġu eżegwiti l-iskript tal-Installazzjoni (install.bat, install.ps1 jew install.sh) u skript tal-Esportazzjoni (export.bat, export.ps1 jew export.sh).
Pass 4. Issettja l-varjabbli tal-ambjent L-għodod installati għadhom mhumiex miżjuda mal-varjabbli tal-ambjent PATH. Biex l-għodod ikunu jistgħu jintużaw mil-linja tal-kmand, xi varjabbli tal-ambjent iridu jiġu ssettjati. ESP-IDF jipprovdi skript ieħor li jagħmel dan. Fit-terminal fejn se tuża ESP-IDF, mexxi:
. $HOME/esp/esp-idf/export.sh
jew għall-ħut (appoġġjat biss mill-verżjoni 3.0.0 tal-ħut):
. $HOME/esp/esp-idf/export.fish
Innota l-ispazju bejn il-punt ewlieni u l-mogħdija! Jekk qed tippjana li tuża esp-idf ta' spiss, tista' toħloq alias għall-eżekuzzjoni ta' export.sh:
1. Ikkopja u waħħal il-kmand li ġej fil-shellns pro tiegħekfile (.profile, .bashrc, .zprofile, eċċ.)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Aġġorna l-konfigurazzjoni billi terġa' tibda s-sessjoni tat-terminal jew billi tħaddem source [path to profile],
per example, sors ~/.bashrc. Issa tista' tħaddem get_idf biex twaqqaf jew tirrifreska l-ambjent esp-idf fi kwalunkwe sessjoni tat-terminal. Teknikament, tista' żżid export.sh mal-pro shellns tiegħekfile direttament; madankollu, mhux rakkomandat. Jekk tagħmel dan tattiva l-ambjent virtwali tal-IDF f'kull sessjoni tat-terminal (inklużi dawk fejn l-IDF mhux meħtieġ), u b'hekk tegħleb l-iskop tal-ambjent virtwali u x'aktarx taffettwa softwer ieħor.
Pass 5. L-Ewwel Passi fuq l-ESP-IDF Issa peress li r-rekwiżiti kollha huma ssodisfati, is-suġġett li jmiss se jiggwidak dwar kif tibda l-ewwel proġett tiegħek. Din il-gwida se tgħinek fl-ewwel passi bl-użu tal-ESP-IDF. Segwi din il-gwida biex tibda proġett ġdid fuq l-ESP32 u tibni, tifflaxxja, u timmonitorja l-output tal-apparat.
Nota: Jekk għadek ma installajtx ESP-IDF, jekk jogħġbok mur fuq Installazzjoni u segwi l-istruzzjonijiet sabiex tikseb is-softwer kollu meħtieġ biex tuża din il-gwida.
Ibda Proġett Issa lest biex tipprepara l-applikazzjoni tiegħek għall-ESP32. Tista' tibda bil-proġett getstarted/hello_world minn examples direttorju fl-ESP-IDF.
Importanti: Is-sistema ta' bini ESP-IDF ma tappoġġjax spazji fil-mogħdijiet la għall-ESP-IDF u lanqas għall-proġetti.
Ikkopja l-proġett get-started/hello_world fid-direttorju ~/esp:
Sistemi Espressif
38 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
Nota: Hemm firxa ta' eżempjiample proġetti fl-examples direttorju fl-ESP-IDF. Tista' tikkopja kwalunkwe proġett bl-istess mod kif ippreżentat hawn fuq u tmexxih. Huwa wkoll possibbli li tinbena examples f'posthom mingħajr ma tikkopjahom l-ewwel.
Qabbad l-Apparat Tiegħek Issa qabbad il-bord ESP32 tiegħek mal-kompjuter u ċċekkja taħt liema port serjali l-bord huwa viżibbli. Il-portijiet serjali għandhom il-mudelli ta' ismijiet li ġejjin:
· Linux: tibda b'/dev/tty · macOS: tibda b'/dev/cu. Jekk m'intix ċert kif tiċċekkja l-isem tal-port tas-serje, jekk jogħġbok irreferi għal Stabbilixxi Konnessjoni Serjali ma' ESP32 għal aktar dettalji.
Nota: Żomm l-isem tal-port handy peress li jkollok bżonnu fil-passi li jmiss.
Ikkonfigura l-Proġett Tiegħek Innaviga lejn id-direttorju hello_world tiegħek, issettja ESP32 bħala l-mira, u mexxi l-utilità tal-konfigurazzjoni tal-proġett menuconfig. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Wara li tiftaħ proġett ġdid, l-ewwel għandek tissettja l-mira b'idf.py set-target esp32. Innota li l-bini u l-konfigurazzjonijiet eżistenti fil-proġett, jekk ikun hemm, se jitħassru u jiġu inizjalizzati f'dan il-proċess. Il-mira tista' tiġi ssejvjata fil-varjabbli tal-ambjent biex taqbeż dan il-pass għal kollox. Ara Agħżel iċ-Ċippa fil-Mira: set-target għal aktar informazzjoni. Jekk il-passi preċedenti jkunu saru b'mod korrett, jidher il-menu li ġej:
Fig. 17: Konfigurazzjoni tal-proġett – Tieqa ewlenija Qed tuża dan il-menu biex tissettja varjabbli speċifiċi għall-proġett, eż. l-isem u l-password tan-netwerk Wi-Fi, il-veloċità tal-proċessur, eċċ. It-twaqqif tal-proġett b'menuconfig jista' jinqabeż għal hello_worldp, peress li dan l-eż.ample jaħdem ma'
Sistemi Espressif
39 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
konfigurazzjoni default.
Attenzjoni: Jekk tuża l-bord ESP32-DevKitC mal-modulu ESP32-SOLO-1, jew il-bord ESP32-DevKitM-1 mal-modulu ESP32-MIN1-1(1U), jekk jogħġbok attiva l-modalità single core (CONFIG_FREERTOS_UNICORE) fil-menuconfig qabel ma tifflaxxja examples.
Nota: Il-kuluri tal-menù jistgħu jkunu differenti fit-terminal tiegħek. Tista' tbiddel id-dehra bl-għażla –style. Jekk jogħġbok mexxi idf.py menuconfig –help għal aktar informazzjoni.
Jekk qed tuża waħda mill-bordijiet tal-iżvilupp appoġġjati, tista' tħaffef l-iżvilupp tiegħek billi tuża l-Pakkett ta' Appoġġ tal-Bord. Ara Pariri Addizzjonali għal aktar informazzjoni.
Ibni l-Proġett Ibni l-proġett billi tħaddem:
idf.py jibnu
Dan il-kmand se jiġbor l-applikazzjoni u l-komponenti kollha tal-ESP-IDF, imbagħad jiġġenera l-bootloader, il-partition table, u l-binarji tal-applikazzjoni.
$ idf.py build Qed tħaddem cmake fid-direttorju /path/to/hello_world/build Qed tesegwixxi “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… Twissija dwar valuri mhux inizjalizzati. — Instabet Git: /usr/bin/git (instabet verżjoni “2.17.0”) — Qed tinbena komponent aws_iot vojt minħabba l-konfigurazzjoni — Ismijiet tal-komponenti: … — Mogħdijiet tal-komponenti: …
… (aktar linji ta’ output tas-sistema tal-bini)
[527/527] Qed tiġġenera hello_world.bin esptool.py v2.3.1
Il-bini tal-proġett tlesta. Biex tifflaxxja, mexxi dan il-kmand: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin jew mexxi 'idf.py -p PORT flash'
Jekk ma jkunx hemm żbalji, il-bini jintemm billi jiġġenera l-binarju tal-firmware .bin files.
Iflaxxja fuq l-Apparat Iflaxxja l-binarji li għadek kif bnejt (bootloader.bin, partition-table.bin u hello_world.bin) fuq il-bord ESP32 tiegħek billi tħaddem:
idf.py -p PORT [-b BAUD] flash
Ibdel PORT bl-isem tal-port tas-serje tal-bord ESP32 tiegħek. Tista' wkoll tibdel ir-rata tal-baud tal-flasher billi tissostitwixxi BAUD bir-rata tal-baud li għandek bżonn. Ir-rata tal-baud awtomatika hija 460800. Għal aktar informazzjoni dwar l-argumenti idf.py, ara idf.py.
Nota: L-għażla flash tibni u tifflaxxja l-proġett awtomatikament, għalhekk it-tħaddim ta' idf.py build mhuwiex neċessarju.
Sistemi Espressif
40 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Iltqajt ma' Problemi Waqt il-Flaxxjar? Jekk tħaddem il-kmand mogħti u tara żbalji bħal "Failed to connectp", jista' jkun hemm diversi raġunijiet għal dan. Waħda mir-raġunijiet tista' tkun il-problemi li jiltaqgħu magħhom esptool.py, l-utilità li tissejjaħ mis-sistema tal-bini biex tirrisettja ċ-ċippa, tinteraġixxi mal-bootloader tar-ROM, u tifflaxxja l-firmware. Soluzzjoni sempliċi waħda li tista' tipprova hija r-risettjar manwali deskritt hawn taħt, u jekk ma jgħinekx tista' ssib aktar dettalji dwar problemi possibbli fis-Sezzjoni Issolvi l-Problemi.
esptool.py jirrisettja l-ESP32 awtomatikament billi jasserixxi l-linji ta' kontroll DTR u RTS taċ-ċippa tal-konvertitur USB għal serjali, jiġifieri, FTDI jew CP210x (għal aktar informazzjoni, ara Stabbilixxi Konnessjoni Serjali ma' ESP32). Il-linji ta' kontroll DTR u RTS huma min-naħa tagħhom konnessi mal-pins GPIO0 u CHIP_PU (EN) ta' ESP32, u b'hekk jinbidlu l-volum.tagIl-livelli ta' DTR u RTS se jibdlu l-ESP32 fil-modalità tat-Tniżżil tal-Firmware. Bħala eż.ampjiġifieri, iċċekkja l-iskema għall-bord tal-iżvilupp ESP32 DevKitC.
B'mod ġenerali, m'għandekx ikollok problemi bil-bordijiet uffiċjali tal-iżvilupp esp-idf. Madankollu, esptool.py mhux kapaċi jirresettja l-ħardwer tiegħek awtomatikament fil-każijiet li ġejjin:
· Il-ħardwer tiegħek m'għandux il-linji DTR u RTS konnessi ma' GPIO0 u CHIP_PU · Il-linji DTR u RTS huma kkonfigurati b'mod differenti · M'hemm l-ebda linji ta' kontroll serjali bħal dawn
Skont it-tip ta' ħardwer li għandek, jista' jkun ukoll possibbli li tpoġġi l-bord ESP32 tiegħek manwalment fil-modalità ta' Tniżżil tal-Firmware (reset).
· Għal bordijiet tal-iżvilupp prodotti minn Espressif, din l-informazzjoni tista' tinstab fil-gwidi tal-bidu jew fil-gwidi tal-utent rispettivi. Pereżempjuampjiġifieri, biex tirrisettja manwalment bord tal-iżvilupp ESP-IDF, żomm il-buttuna Boot (GPIO0) magħfusa u agħfas il-buttuna EN (CHIP_PU).
· Għal tipi oħra ta' ħardwer, ipprova niżżel il-GPIO0.
Operazzjoni Normali Meta jteptep, se tara l-log tal-output simili għal dan li ġej:
... esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Port tas-serje /dev/ttyUSB0 Qed tikkonnettja…….._ Iċ-ċippa hija ESP32D0WDQ6 (reviżjoni 0) Karatteristiċi: WiFi, BT, Dual Core, Skema ta' Kodifikazzjoni Xejn Il-kristall huwa 40MHz MAC: 24:0a:c4:05:b9:14 Qed jittella' stub… Qed jaħdem stub… Stub qed jaħdem… Qed tinbidel ir-rata tal-baud għal 460800 Mibdula. Konfigurazzjoni tad-daqs tal-flash… Ikkompressati 3072 byte għal 103… Kitba f’0x00008000… (100 %) Kiteb 3072 byte (103 ikkompressati) f’0x00008000 f’0.0 sekondi (effettiv 5962.8 kbit/s)… Hash tad-dejta verifikat. Ikkompressati 26096 byte għal 15408… Kitba f’0x00001000… (100 %) Kiteb 26096 byte (15408 ikkompressati) f’0x00001000 f’0.4 sekondi (effettiv 546.7 kbit/s)… Hash tad-dejta verifikat. Ikkompressat 147104 bytes għal 77364… Kitba f'0x00010000… (20 %) Kitba f'0x00014000… (40 %) Kitba f'0x00018000… (60 %) Kitba f'0x0001c000… (80 %)
(ikompli fil-paġna ta' wara)
Sistemi Espressif
41 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
(ikompli mill-paġna ta' qabel) Kitba f'0x00020000… (100 %) Kiteb 147104 bytes (77364 ikkompressati) f'0x00010000 f'1.9 sekondi (effettiv 615.5 kbit/s)… Hash tad-dejta vverifikat.
Tħalli... Resetting iebes permezz tal-pin RTS... Magħmul
Jekk ma jkun hemm l-ebda problema sa tmiem il-proċess tal-flash, il-bord jerġa' jibda u jibda l-applikazzjoni thehello_worldp. Jekk tixtieq tuża l-Eclipse jew il-VS Code IDE minflok ma tħaddem idf.py, agħti ħarsa lejn l-Eclipse Plugin, VSCode Extension.
Immonitorja l-Output Biex tiċċekkja jekk ohello_worldpis fil-fatt hux qed jaħdem, ittajpja idf.py -p PORT monitor (Tinsiex tissostitwixxi PORT bl-isem tal-port tas-serje tiegħek). Dan il-kmand iniedi l-applikazzjoni IDF Monitor:
$ idf.py -p monitor Qed tħaddem idf_monitor fid-direttorju […]/esp/hello_world/build Qed teżegwixxi “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor mixgħul 115200 —– Ħruġ: Ctrl+] | Menù: Ctrl+T | Għajnuna: Ctrl+T segwit minn Ctrl+H –ets 8 ta' Ġunju 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 8 ta' Ġunju 2016 00:22:57 …
Wara li l-logs tal-istartjar u tad-dijanjostika jiskrolljaw 'il fuq, għandek tara oHello world!p stampat mill-applikazzjoni.
... Bongu dinja! Nerġa' nibda f'10 sekondi... Din hija ċippa esp32 b'2 qalba(i) tas-CPU, WiFi/BT/BLE, reviżjoni tas-silikon 1, flash esterna ta' 2MB Daqs minimu tal-heap ħieles: 298968 bytes Nerġa' nibda f'9 sekondi... Nerġa' nibda fi 8 sekondi... Nerġa' nibda f'7 sekondi...
Biex toħroġ mill-monitor tal-IDF uża x-shortcut Ctrl+]. Jekk il-monitor tal-IDF ifalli ftit wara t-tlugħ, jew, jekk minflok il-messaġġi ta' hawn fuq, tara żibel każwali simili għal dak mogħti hawn taħt, il-bord tiegħek x'aktarx qed juża kristall ta' 26 MHz. Il-biċċa l-kbira tad-disinji tal-bordijiet tal-iżvilupp jużaw 40 MHz, għalhekk l-ESP-IDF juża din il-frekwenza bħala valur awtomatiku.
Jekk għandek problema bħal din, agħmel dan li ġej:
1. Oħroġ mill-monitor. 2. Mur lura għall-menuconfig. 3. Mur għal Component config > Hardware Settings > Main XTAL Config > Main XTAL
frekwenza, imbagħad ibdel CONFIG_XTAL_FREQ_SEL għal 26 MHz. 4. Wara dan, ibni u ifflaxxja l-applikazzjoni mill-ġdid.
Sistemi Espressif
42 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
Fil-verżjoni attwali tal-ESP-IDF, il-frekwenzi ewlenin tal-XTAL appoġġjati mill-ESP32 huma kif ġej:
· 26 MHz · 40 MHz
Nota: Tista' tgħaqqad il-bini, il-flaxxjar u l-monitoraġġ f'pass wieħed billi tħaddem: idf.py -p PORT flash monitor
Ara wkoll: · IDF Monitor għal shortcuts utli u aktar dettalji dwar l-użu tal-IDF monitor. · idf.py għal referenza sħiħa tal-kmandi u l-għażliet ta' idf.py.
Dak hu kollu li għandek bżonn biex tibda bl-ESP32! Issa lest biex tipprova xi eżempji oħra.amples, jew mur direttament għall-iżvilupp tal-applikazzjonijiet tiegħek stess.
Importanti: Xi wħud mill-eż.ampIl-fajls ma jappoġġjawx l-ESP32 għaliex il-ħardwer meħtieġ mhux inkluż fl-ESP32 u għalhekk ma jistax jiġi appoġġjat. Jekk qed tibni example, jekk jogħġbok iċċekkja r-README file għat-tabella tal-Miri Appoġġjati. Jekk dan huwa preżenti inkluż il-mira ESP32, jew it-tabella ma teżistix xejn, l-eż.ampse jaħdem fuq ESP32.
Għajnuniet Addizzjonali
Kwistjonijiet ta' permess /dev/ttyUSB0 B'xi distribuzzjonijiet tal-Linux, tista' tirċievi l-messaġġ ta' żball Failed to open port /dev/ttyUSB0 meta tkun qed ittejpja l-ESP32. Dan jista' jiġi solvut billi żżid l-utent attwali mal-grupp tad-dialout.
Kompatibilità ma' Python ESP-IDF jappoġġja Python 3.7 jew aktar ġdid. Huwa rakkomandat li taġġorna s-sistema operattiva tiegħek għal verżjoni reċenti li tissodisfa dan ir-rekwiżit. Għażliet oħra jinkludu l-installazzjoni ta' Python minn sorsi jew l-użu ta' sistema ta' ġestjoni tal-verżjonijiet ta' Python bħal pyenv.
Ibda bil-Pakkett ta' Appoġġ tal-Bord Biex tħaffef il-prototipar fuq xi bordijiet tal-iżvilupp, tista' tuża Pakketti ta' Appoġġ tal-Bord (BSPs), li jagħmlu l-inizjalizzazzjoni ta' bord partikolari faċli daqs ftit sejħiet ta' funzjoni. BSP tipikament jappoġġja l-komponenti kollha tal-ħardwer ipprovduti fuq il-bord tal-iżvilupp. Minbarra d-definizzjoni tal-pinout u l-funzjonijiet ta' inizjalizzazzjoni, BSP jiġi b'sewwieqa għall-komponenti esterni bħal sensuri, displays, codecs awdjo eċċ. Il-BSPs huma mqassma permezz tal-IDF Component Manager, għalhekk jistgħu jinstabu fl-IDF Component Registry. Hawnhekk hawn eżempju.ampGwida dwar kif iżżid ESP-WROVER-KIT BSP mal-proġett tiegħek: idf.py add-dependency esp_wrover_kit
Aktar exampInqasijiet ta' użu tal-BSP jistgħu jinstabu fl-eżempji tal-BSPamples folder.
Ħjiel: Aġġornament tal-ESP-IDF Huwa rakkomandat li taġġorna l-ESP-IDF minn żmien għal żmien, billi verżjonijiet aktar ġodda jirranġaw bugs u/jew jipprovdu karatteristiċi ġodda. Jekk jogħġbok innota li kull verżjoni maġġuri u minuri tal-ESP-IDF għandha perjodu ta' appoġġ assoċjat, u meta fergħa waħda tar-rilaxx tkun qed toqrob lejn tmiem il-ħajja (EOL), l-utenti kollha huma mħeġġa jaġġornaw il-proġetti tagħhom għal rilaxxi aktar reċenti tal-ESP-IDF, biex issir taf aktar dwar il-perjodi ta' appoġġ, ara Verżjonijiet tal-ESP-IDF.
Sistemi Espressif
43 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 1. Ibda
L-aktar mod sempliċi biex tagħmel l-aġġornament huwa li tħassar il-fowlder esp-idf eżistenti u terġa' tikklonah, bħallikieku qed twettaq l-installazzjoni inizjali deskritta fil-Pass 2. Ikseb ESP-IDF. Soluzzjoni oħra hija li taġġorna biss dak li nbidel. Il-proċedura tal-aġġornament tiddependi fuq il-verżjoni ta' ESP-IDF li qed tuża. Wara li taġġorna ESP-IDF, eżegwixxi l-iskritt tal-Installazzjoni mill-ġdid, f'każ li l-verżjoni l-ġdida ta' ESP-IDF teħtieġ verżjonijiet differenti tal-għodod. Ara l-istruzzjonijiet fil-Pass 3. Issettja l-għodod. Ladarba l-għodod il-ġodda jkunu installati, aġġorna l-ambjent billi tuża l-iskritt tal-Esportazzjoni. Ara l-istruzzjonijiet fil-Pass 4. Issettja l-varjabbli tal-ambjent.
Dokumenti Relatati · Stabbilixxi Konnessjoni Serjali ma' ESP32 · Plugin Eclipse · Estensjoni VSCode · Monitor IDF
1.4 Ibni l-Ewwel Proġett Tiegħek
Jekk diġà għandek l-ESP-IDF installat u ma tużax IDE, tista' tibni l-ewwel proġett tiegħek mil-linja tal-kmand wara Start a Project on Windows jew Start a Project on Linux and macOS.
1.5 Iddiżinstalla l-ESP-IDF
Jekk trid tneħħi l-ESP-IDF, jekk jogħġbok segwi l-passaġġ "Uninstall ESP-IDF".
Sistemi Espressif
44 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitolu 2
Referenza API
2.1 Konvenzjonijiet tal-API
Dan id-dokument jiddeskrivi l-konvenzjonijiet u s-suppożizzjonijiet komuni għall-Interfejsijiet tal-Programmazzjoni tal-Applikazzjonijiet (APIs) tal-ESP-IDF. L-ESP-IDF jipprovdi diversi tipi ta' interfejsijiet tal-programmazzjoni:
· Funzjonijiet, strutturi, enums, definizzjonijiet tat-tip u macros tal-preproċessur tas-C iddikjarati fil-header pubbliku filekomponenti tal-ESPIDF. Diversi paġni fit-taqsima tar-Referenza tal-API tal-gwida tal-ipprogrammar fihom deskrizzjonijiet ta’ dawn il-funzjonijiet, strutturi u tipi.
· Funzjonijiet tas-sistema tal-bini, varjabbli u għażliet predefiniti. Dawn huma dokumentati fil-gwida tas-sistema tal-bini. · L-għażliet tal-Kconfig jistgħu jintużaw fil-kodiċi u fis-sistema tal-bini (CMakeLists.txt) files. · L-għodod tal-ospitanti u l-parametri tal-linja tal-kmand tagħhom huma wkoll parti mill-interfaċċja ESP-IDF. ESP-IDF jikkonsisti f'komponenti miktuba speċifikament għal ESP-IDF kif ukoll għal libreriji ta' partijiet terzi. F'xi każijiet, wrapper speċifiku għal ESP-IDF jiżdied mal-librerija ta' parti terza, u jipprovdi interfaċċja li hija jew aktar sempliċi jew integrata aħjar mal-bqija tal-faċilitajiet ESP-IDF. F'każijiet oħra, l-API oriġinali tal-librerija ta' parti terza tiġi ppreżentata lill-iżviluppaturi tal-applikazzjoni. It-taqsimiet li ġejjin jispjegaw xi wħud mill-aspetti tal-APIs ESP-IDF u l-użu tagħhom.
2.1.1 Żball fl-immaniġġjar
Il-biċċa l-kbira tal-APIs tal-ESP-IDF jirritornaw kodiċijiet ta' żball definiti bit-tip esp_err_t. Ara t-taqsima Immaniġġjar tal-Żbalji għal aktar informazzjoni dwar l-approċċi għall-immaniġġjar tal-iżbalji. Ir-Referenza tal-Kodiċi tal-Żball fiha l-lista ta' kodiċijiet ta' żball irritornati mill-komponenti tal-ESP-IDF.
2.1.2 Strutturi ta' konfigurazzjoni
Importanti: L-inizjalizzazzjoni korretta tal-istrutturi tal-konfigurazzjoni hija parti importanti biex l-applikazzjoni tkun kompatibbli mal-verżjonijiet futuri tal-ESP-IDF.
Il-biċċa l-kbira tal-funzjonijiet ta' inizjalizzazzjoni jew konfigurazzjoni fl-ESP-IDF jieħdu bħala argument pointer għal struttura ta' konfigurazzjoni. Pereżempjuample:
45
Kapitlu 2. Referenza tal-API
const esp_timer_create_args_t l-argumenti_tat-timer_tiegħi = { .callback = &callback_tat-timer_tiegħi, .arg = arg_callback, .name = “it-timer_tiegħi”
}; esp_timer_handle_t it-tajmer_t tiegħi; esp_err_t żball = esp_timer_create(&l-argumenti_tat-tajmer_tiegħi, &it-tajmer_tiegħi);
Il-funzjonijiet ta' inizjalizzazzjoni qatt ma jaħżnu l-pointer għall-istruttura tal-konfigurazzjoni, għalhekk huwa sikur li talloka l-istruttura fuq l-istack.
L-applikazzjoni trid tinizjalizza l-oqsma kollha tal-istruttura. Dan li ġej mhux korrett:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Mhux korrett! L-oqsma .arg u .name mhumiex inizjalizzati */ esp_timer_create(&my_timer_args, &my_timer);
Il-biċċa l-kbira tal-eż. tal-ESP-IDFampIl-les jużaw inizjalizzaturi ddeżinjati C99 għall-inizjalizzazzjoni tal-istruttura, peress li jipprovdu mod konċiż kif jiġi ssettjat sottosett ta' oqsma, u jiġu inizjalizzati żero l-oqsma li jifdal:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Korrett, l-oqsma .arg u .name huma inizjalizzati b'żero */
};
Il-lingwa C++ ma tappoġġjax is-sintassi tal-inizjalizzaturi nominati sa C++ 20, madankollu l-kumpilatur GCC jappoġġjaha parzjalment bħala estensjoni. Meta tuża l-APIs ESP-IDF fil-kodiċi C++, tista' tikkunsidra li tuża l-mudell li ġej:
esp_timer_create_args_t my_timer_args = {}; /* L-oqsma kollha huma inizjalizzati b'żero */ my_timer_args.callback = &my_timer_callback;
Inizjalizzazzjonijiet awtomatiċi
Għal xi strutturi ta' konfigurazzjoni, ESP-IDF jipprovdi makros biex jiġu ssettjati valuri awtomatiċi tal-oqsma:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG tespandi għal inizjalizzatur magħżul.
Issa l-oqsma kollha huma ssettjati għall-valuri awtomatiċi. Kwalunkwe qasam xorta jista' jiġi modifikat: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start(&server, &config);
Huwa rakkomandat li jintużaw makros tal-inizjalizzatur awtomatiċi kull meta dawn jiġu pprovduti għal struttura ta' konfigurazzjoni partikolari.
2.1.3 APIs Privati
Ċerta intestatura fileL-APIs fl-ESP-IDF fihom APIs maħsuba biex jintużaw biss fil-kodiċi tas-sors tal-ESP-IDF, u mhux mill-applikazzjonijiet. Tali header fileL-s spiss ikun fihom private jew esp_private fl-isem jew fil-mogħdija tagħhom. Ċerti komponenti, bħal hal, ikun fihom biss APIs privati. L-APIs privati jistgħu jitneħħew jew jinbidlu b'mod inkompatibbli bejn rilaxxi minuri jew ta' irqajja'.
2.1.4 Komponenti f'eż.ample proġetti
ESP-IDF exampIl-fajls fihom varjetà ta' proġetti li juru l-użu tal-APIs tal-ESP-IDF. Sabiex titnaqqas id-duplikazzjoni tal-kodiċi fl-eż.amples, ftit helpers komuni huma definiti ġewwa komponenti li jintużaw minn diversi examples.
Sistemi Espressif
46 Ibgħat Feedback dwar id-Dokument
Rilaxx v5.0.9
Kapitlu 2. Referenza tal-API
Dan jinkludi komponenti li jinsabu
Dokumenti / Riżorsi
![]() |
Bord tal-Iżvilupp tal-Kit tal-Iżvilupp tal-Esppressif Systems ESP32 [pdfGwida għall-Utent Bord tal-Iżvilupp tal-ESP32 Dev Kitc, ESP32, Bord tal-Iżvilupp tal-Dev Kitc, Bord tal-Iżvilupp tal-Kitc, Bord tal-Iżvilupp, Bord |
