Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Commencer à utiliser l'Espressif ESP32 - DevKit C et le ESP-WROVER-KIT
Important
Il s'agit d'une version archivée du guide de l'utilisateur de FreeRTOS à utiliser avec la version 202012.00 de FreeRTOS. Pour obtenir la dernière version de ce document, consultez le guide de l'utilisateur de FreeRTOS.
Suivez ce tutoriel pour démarrer avec l'Espressif ESP32 - DevKit C équipé des modules ESP32 -WROOM-32, ESP32 -SOLO-1 ou ESP-WROVER et du. ESP-WROVER-KIT-VB Pour en acheter un auprès de notre partenaire sur le catalogue des appareils AWS partenaires, cliquez sur les liens suivants :
Ces versions des cartes de développement sont prises en charge sur FreeRTOS.
Pour plus d'informations sur les dernières versions de ces cartes, consultez ESP32- DevKit C V4
Note
Actuellement, le port FreeRTOS ESP32 pour -WROVER-KIT et DevKit ESP C ne prend pas en charge la fonctionnalité de multitraitement symétrique (SMP).
Présentation
Ce didacticiel vous guide à travers les étapes suivantes :
-
Connexion de votre carte à une machine hôte
-
Installation d'un logiciel sur la machine hôte pour le développement et le débogage d'applications intégrées pour votre carte microcontrôleur
-
Compilation croisée d'une application de démonstration FreeRTOS vers une image binaire
-
Chargement de l'image binaire de l'application sur votre tableau, puis exécution de l'application
-
Interaction avec l'application exécutée sur votre carte par le biais d'une connexion série, à des fins de surveillance et de débogage
Prérequis
Avant de commencer à utiliser FreeRTOS sur votre tableau Espressif, vous devez configurer votre compte et vos autorisations. AWS
Inscrivez-vous pour un Compte AWS
Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.
Pour vous inscrire à un Compte AWS
Suivez les instructions en ligne.
Une partie de la procédure d'inscription consiste à recevoir un appel téléphonique ou un message texte et à saisir un code de vérification sur le clavier du téléphone.
Lorsque vous vous inscrivez à un Compte AWS, un Utilisateur racine d'un compte AWSest créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les tâches nécessitant un accès utilisateur racine.
AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à https://aws.amazon.com/
Création d’un utilisateur doté d’un accès administratif
Une fois que vous vous êtes inscrit à un utilisateur administratif Compte AWS, que vous Utilisateur racine d'un compte AWS l'avez sécurisé AWS IAM Identity Center, que vous l'avez activé et que vous en avez créé un, afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.
Sécurisez votre Utilisateur racine d'un compte AWS
-
Connectez-vous en AWS Management Console
tant que propriétaire du compte en choisissant Utilisateur root et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe. Pour obtenir de l’aide pour vous connecter en utilisant l’utilisateur racine, consultez Connexion en tant qu’utilisateur racine dans le Guide de l’utilisateur Connexion à AWS .
-
Activez l’authentification multifactorielle (MFA) pour votre utilisateur racine.
Pour obtenir des instructions, voir Activer un périphérique MFA virtuel pour votre utilisateur Compte AWS root (console) dans le guide de l'utilisateur IAM.
Création d’un utilisateur doté d’un accès administratif
-
Activez IAM Identity Center.
Pour obtenir des instructions, consultez Activation d’ AWS IAM Identity Center dans le Guide de l’utilisateur AWS IAM Identity Center .
-
Dans IAM Identity Center, octroyez un accès administratif à un utilisateur.
Pour un didacticiel sur l'utilisation du Répertoire IAM Identity Center comme source d'identité, voir Configurer l'accès utilisateur par défaut Répertoire IAM Identity Center dans le Guide de AWS IAM Identity Center l'utilisateur.
Connexion en tant qu’utilisateur doté d’un accès administratif
-
Pour vous connecter avec votre utilisateur IAM Identity Center, utilisez l’URL de connexion qui a été envoyée à votre adresse e-mail lorsque vous avez créé l’utilisateur IAM Identity Center.
Pour obtenir de l'aide pour vous connecter en utilisant un utilisateur d'IAM Identity Center, consultez la section Connexion au portail AWS d'accès dans le guide de l'Connexion à AWS utilisateur.
Attribution d’un accès à d’autres utilisateurs
-
Dans IAM Identity Center, créez un ensemble d’autorisations qui respecte la bonne pratique consistant à appliquer les autorisations de moindre privilège.
Pour obtenir des instructions, consultez Création d’un ensemble d’autorisations dans le Guide de l’utilisateur AWS IAM Identity Center .
-
Attribuez des utilisateurs à un groupe, puis attribuez un accès par authentification unique au groupe.
Pour obtenir des instructions, consultez Ajout de groupes dans le Guide de l’utilisateur AWS IAM Identity Center .
Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
-
Utilisateurs et groupes dans AWS IAM Identity Center :
Créez un jeu d’autorisations. Suivez les instructions de la rubrique Création d’un jeu d’autorisations du Guide de l’utilisateur AWS IAM Identity Center .
-
Utilisateurs gérés dans IAM par un fournisseur d’identité :
Créez un rôle pour la fédération d’identité. Suivez les instructions de la rubrique Création d’un rôle pour un fournisseur d’identité tiers (fédération) dans le Guide de l’utilisateur IAM.
-
Utilisateurs IAM :
-
Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la rubrique Création d’un rôle pour un utilisateur IAM dans le Guide de l’utilisateur IAM.
-
(Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la rubrique Ajout d’autorisations à un utilisateur (console) du Guide de l’utilisateur IAM.
-
Note
La version 202012.00 de FreeRTOS est compatible avec ESP-IDF v3.3. Si vous utilisez une version ultérieure de FreeRTOS, suivez les instructions spécifiques IDFv4 à 2.2 at. Commencez avec l'ESP-IDF v4.2
Commencez avec ESP-IDF v3.3
Cette section explique comment utiliser ESP-IDF v3.3 sur du matériel Espressif. Pour utiliser ESP-IDF v4.2, voir. Commencez avec l'ESP-IDF v4.2
Configurer le matériel Espressif
Pour plus d'informations sur la configuration matérielle de la carte de développement ESP32 - DevKit C, consultez le Guide de démarrage ESP32 - DevKit C V4
Pour plus d'informations sur la configuration du matériel de la carte de ESP-WROVER-KIT développement, consultez le guide de démarrage de la ESP-WROVER-KITversion 4.1
Important
Lorsque vous atteignez la section Get Started des guides Espressif, arrêtez-vous, puis suivez les étapes ci-dessous.
Configurer votre environnement de développement.
Pour communiquer avec votre tableau, vous devez télécharger et installer une chaîne d'outils.
Configuration de la chaîne d'outils
Note
ESP-IDF v3.3 ne prend pas en charge la dernière version du compilateur. ESP32 Si vous avez déjà installé la dernière version du ESP32 compilateur, vous devez la désinstaller et utiliser la version compatible du compilateur incluse dans l'installation de la chaîne d'outils. Consultez les liens de cette section. Pour vérifier la version de votre compilateur, exécutez la commande suivante.
xtensa-esp32-elf-gcc --version
Pour configurer la chaîne d'outils, suivez ces instructions pour le système d'exploitation de votre machine hôte :
Important
Lorsque vous atteignez les instructions « Get ESP-IDF » sous Prochaines étapes, arrêtez-vous, puis revenez aux instructions de cette page.
Si vous avez suivi les instructions « Get ESP-IDF » figurant dans la section Prochaines étapes, vous devez effacer la variable d'IDF_PATH
environnement de votre système avant de continuer. Cette variable d'environnement était automatiquement définie si vous suiviez les instructions « Get ESP-IDF ».
Installer CMake
Le système de CMake compilation est nécessaire pour créer les applications de démonstration et de test FreeRTOS pour cet appareil. FreeRTOS prend en charge les versions 3.13 et ultérieures.
Vous pouvez télécharger la dernière version CMake de CMake.org
Pour plus de détails sur l'utilisation CMake de FreeRTOS, consultez. Utilisation CMake avec FreeRTOS
Établir une connexion série
Pour établir une connexion série entre votre machine hôte et le ESP32 DevKit -C, vous devez installer les pilotes CP21 VCP 0x USB to UART Bridge. Vous pouvez télécharger ces pilotes à partir de Silicon Labs
Pour établir une connexion série entre votre machine hôte et le ESP32 -WROVER-KIT, vous devez installer certains pilotes de port COM virtuel FTDI. Vous pouvez télécharger ces pilotes à partir de FTDI
Pour plus d'informations, voir Etablissement d'une connexion série avec ESP32
Téléchargez et configurez FreeRTOS
Après avoir configuré votre environnement, vous pouvez télécharger FreeRTOS sur le site Web. Pour obtenir des instructions, consultez le fichier GitHub
Configuration des applications de démonstration FreeRTOS
-
Si vous utilisez macOS ou Linux, ouvrez une invite du terminal. Si vous utilisez Windows, ouvrez le
mingw32.exe
. MinGWest un environnement de développement minimaliste pour les applications Microsoft Windows natives. -
Pour vérifier que Python 2.7.10 ou version ultérieure est installé, exécutez
python --version
La version installée s'affiche. Si Python 2.7.10 ou version ultérieure n'est pas installé, vous pouvez l'installer depuis le site Web de Python
. -
Vous avez besoin du AWS Command Line Interface (AWS CLI) pour exécuter AWS IoT des commandes. Si vous utilisez Windows, utilisez le easy_install awscli pour l'installer AWS CLI dans l'environnement mingw32.
Si vous utilisez macOS ou Linux, reportez-vous à la section Installation du AWS CLI.
-
Exécutez aws configure et configurez le AWS CLI avec votre identifiant de clé d' AWS accès, votre clé d'accès secrète et votre AWS région. Pour plus d’informations, consultez Configuration de l’ AWS CLI.
-
Utilisez la commande suivante pour installer le AWS SDK pour Python (boto3) :
-
Sous Windows, dans l'environnement mingw32, exécutez
easy_install boto3
-
Sur macOS ou Linux, exécutez
pip install tornado nose --user
puis exécutez
pip install boto3 --user
-
FreeRTOS inclut SetupAWS.py
le script pour faciliter la configuration de votre carte Espressif à laquelle vous connecter. AWS IoT Pour configurer le script, ouvrez
et définissez les attributs suivants :freertos
/tools/aws_config_quick_start/configure.json
afr_source_dir
-
Chemin d’accès complet vers l'annuaire
freertos
sur votre ordinateur. Assurez-vous d'utiliser des barres obliques pour spécifier ce chemin. thing_name
-
Le nom que vous souhaitez attribuer à l' AWS IoT élément qui représente votre tableau.
wifi_ssid
-
SSID de votre réseau Wi-Fi.
wifi_password
-
Mot de passe de votre réseau Wi-Fi.
wifi_security
-
Type de sécurité de votre réseau Wi-Fi.
Les types de sécurité suivants sont valides :
-
eWiFiSecurityOpen
(Ouvrir, aucune sécurité) -
eWiFiSecurityWEP
(Sécurité WEP) -
eWiFiSecurityWPA
(Sécurité WPA) -
eWiFiSecurityWPA2
(WPA2 sécurité)
-
Pour exécuter le script de configuration
-
Si vous utilisez macOS ou Linux, ouvrez une invite du terminal. Si vous utilisez Windows, ouvrez-le
mingw32.exe
. -
Accédez au
répertoire et exécutezfreertos
/tools/aws_config_quick_startpython SetupAWS.py setup
Le script effectue les opérations suivantes :
-
Crée un objet IoT, un certificat et une stratégie.
-
Attache la stratégie IoT au certificat et le certificat à l'objet AWS IoT .
-
Remplit le
aws_clientcredential.h
fichier avec votre AWS IoT terminal, votre SSID Wi-Fi et vos informations d'identification -
Met en forme votre certificat et votre clé privée, et les écrit dans le fichier d'en-tête
aws_clientcredential_keys.h
.Note
Le certificat est codé en dur à des fins de démonstration uniquement. Les applications de niveau production doivent stocker ces fichiers dans un emplacement sécurisé.
Pour plus d'informations à ce sujetSetupAWS.py
, consultez le README.md
dans le
répertoire.freertos
/tools/aws_config_quick_start
Créez, flashez et exécutez le projet de démonstration FreeRTOS
Vous pouvez utiliser CMake pour générer les fichiers de construction, Make pour créer le binaire de l'application et l'utilitaire IDF d'Espressif pour flasher votre carte.
Créez FreeRTOS sur Linux et macOS (ESP-IDF v3.3)
Si vous utilisez Windows, consultezCréez FreeRTOS sous Windows (ESP-IDF v3.3).
CMake Utilisez-le pour générer les fichiers de compilation, puis utilisez Make pour créer l'application.
Pour générer les fichiers de build de l'application de démonstration avec CMake
-
Remplacez les répertoires par la racine de votre répertoire de téléchargement FreeRTOS.
-
Utilisez la commande suivante pour générer les fichiers de compilation.
cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -S . -B
your-build-directory
Note
Si vous souhaitez générer l'application pour le débogage, ajoutez l'indicateur
-DCMAKE_BUILD_TYPE=Debug
à cette commande.Si vous souhaitez générer les fichiers de génération d'application test, ajoutez l'indicateur
-DAFR_ENABLE_TESTS=1
.Le code fourni par Espressif utilise la pile IP légère (lwIP) comme pile réseau par défaut. Pour utiliser la pile réseau FreeRTOS+TCP à la place, ajoutez l'indicateur à la
–DAFR_ESP_FREERTOS_TCP
commande. CMakePour ajouter la dépendance LWip pour le code fourni par un fournisseur autre que le fournisseur, ajoutez les lignes suivantes CMake au fichier de dépendance
CMakeLists.txt
, pour votre composant Wi-Fi personnalisé.# Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Pour générer l'application avec Make
-
Placez-vous dans le répertoire
build
. -
Utilisez la commande suivante pour créer l'application avec Make.
make all -j4
Note
Vous devez générer les fichiers de création avec la commande cmake chaque fois que vous passez du projet
aws_demos
au projetaws_tests
et vice versa.
Créez FreeRTOS sous Windows (ESP-IDF v3.3)
Sous Windows, vous devez spécifier un générateur de build pour CMake. Sinon, c'est Visual Studio CMake par défaut. Espressif recommande officiellement le système de build Ninja, car il fonctionne sous Windows, Linux et MacOS. Vous devez exécuter CMake des commandes dans un environnement Windows natif tel que cmd ou PowerShell. L'exécution de CMake commandes dans un environnement Linux virtuel, tel que MSYS2 WSL, n'est pas prise en charge.
CMake Utilisez-le pour générer les fichiers de compilation, puis utilisez Make pour créer l'application.
Pour générer les fichiers de build de l'application de démonstration avec CMake
-
Remplacez les répertoires par la racine de votre répertoire de téléchargement FreeRTOS.
-
Utilisez la commande suivante pour générer les fichiers de compilation.
cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -GNinja -S . -B
build-directory
Note
Si vous souhaitez générer l'application pour le débogage, ajoutez l'indicateur
-DCMAKE_BUILD_TYPE=Debug
à cette commande.Si vous souhaitez générer les fichiers de génération d'application test, ajoutez l'indicateur
-DAFR_ENABLE_TESTS=1
.Le code fourni par Espressif utilise la pile IP légère (lwIP) comme pile réseau par défaut. Pour utiliser la pile réseau FreeRTOS+TCP à la place, ajoutez l'indicateur à la
–DAFR_ESP_FREERTOS_TCP
commande. CMakePour ajouter la dépendance LWip pour le code fourni par un fournisseur autre que le fournisseur, ajoutez les lignes suivantes CMake au fichier de dépendance
CMakeLists.txt
, pour votre composant Wi-Fi personnalisé.# Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Pour générer l'application
-
Placez-vous dans le répertoire
build
. -
Invoquez Ninja pour créer l'application.
ninja
Vous pouvez également utiliser l' CMake interface générique pour créer l'application.
cmake --build
build-directory
Note
Vous devez générer les fichiers de création avec la commande cmake chaque fois que vous passez du projet
aws_demos
au projetaws_tests
et vice versa.
Flashez et exécutez FreeRTOS (ESP-IDF v3.3)
Cette section explique comment utiliser ESP-IDF v3.3 sur du matériel Espressif. Pour utiliser ESP-IDF v4.2, voir. Commencez avec l'ESP-IDF v4.2
Utilisez l'utilitaire IDF d'Espressif (
) pour flasher votre carte, exécuter l'application et consulter les journaux.freertos
/vendors/espressif/esp-idf/tools/idf.py
Pour effacer le flash du tableau, allez
dans le répertoire et utilisez la commande suivante.freertos
./vendors/espressif/esp-idf/tools/idf.py erase_flash -B
build-directory
Pour flasher le binaire de l'application sur votre tableau, utilisez make
make flash
Vous pouvez également utiliser le script IDF pour flasher votre carte :
./vendors/espressif/esp-idf/tools/idf.py flash -B
build-directory
Pour surveiller :
./vendors/espressif/esp-idf/tools/idf.py monitor -p /dev/ttyUSB1 -B
build-directory
Note
Vous pouvez combiner ces commandes. Par exemple :
./vendors/espressif/esp-idf/tools/idf.py erase_flash flash monitor -p /dev/ttyUSB1 -B
build-directory
Commencez avec l'ESP-IDF v4.2
Cette section explique comment utiliser ESP-IDF v4.2 sur du matériel Espressif. Pour utiliser ESP-IDF v3.3, voir. Commencez avec ESP-IDF v3.3
Note
Les commandes Linux de ce didacticiel nécessitent que vous utilisiez le shell Bash.
Configurer le matériel Espressif
Pour plus d'informations sur la configuration matérielle de la carte de développement ESP32 - DevKit C, consultez le Guide de démarrage ESP32 - DevKit C V4
Pour plus d'informations sur la configuration du matériel de la carte de ESP-WROVER-KIT développement, consultez le guide de démarrage de la ESP-WROVER-KIT version 4.1
Important
Lorsque vous atteignez la section Get Started des guides Espressif, arrêtez-vous, puis revenez aux instructions de cette page.
Configurer votre environnement de développement.
Pour communiquer avec votre tableau, vous devez télécharger et installer une chaîne d'outils.
Configuration de la chaîne d'outils
Pour configurer la chaîne d'outils, suivez ces instructions pour le système d'exploitation de votre machine hôte :
Important
Lorsque vous atteignez les instructions « Get ESP-IDF » sous Prochaines étapes, arrêtez-vous, puis revenez aux instructions de cette page.
Terminez l'installation (Linux/macOS)
Le programme d'installation Windows ESP-IDF installe tous les outils nécessaires. Les plateformes Linux et macOS nécessitent une étape supplémentaire pour terminer l'installation.
-
Ouvrez une fenêtre de ligne de commande
-
Accédez au répertoire de téléchargement de FreeRTOS, puis exécutez le script suivant pour télécharger et installer la chaîne d'outils espressif pour votre plateforme.
vendors/espressif/esp-idf/install.sh
-
Ajoutez les outils de la chaîne d'outils ESP-IDF au chemin de votre terminal à l'aide de la commande suivante.
source vendors/espressif/esp-idf/export.sh
Établir une connexion série
Pour établir une connexion série entre votre machine hôte et le ESP32 DevKit -C, vous devez installer les pilotes CP21 VCP 0x USB to UART Bridge. Vous pouvez télécharger ces pilotes à partir de Silicon Labs
Pour établir une connexion série entre votre machine hôte et le ESP32 -WROVER-KIT, vous devez installer le pilote de port COM virtuel FTDI. Vous pouvez télécharger ce pilote depuis FTDI
Pour plus d'informations, voir Etablissement d'une connexion série avec ESP32
Téléchargez et configurez FreeRTOS
Après avoir configuré votre environnement, vous pouvez télécharger FreeRTOS depuis. GitHub
Configuration des applications de démonstration FreeRTOS
-
Si vous utilisez macOS ou Linux, ouvrez une invite du terminal. Si vous utilisez Windows, ouvrez-lemingw32.exe. (MinGW
est un environnement de développement minimaliste pour les applications Microsoft Windows natives.) -
Pour vérifier que Python3 est installé, exécutez
python --version
La version installée s'affiche. Si Python 3.0.1 ou version ultérieure n'est pas installé, vous pouvez l'installer depuis le site Web de Python
. -
Vous avez besoin du AWS Command Line Interface (AWS CLI) pour exécuter AWS IoT des commandes. Si vous utilisez Windows, utilisez le easy_install awscli pour l'installer AWS CLI dans l'environnement mingw32.
Si vous utilisez macOS ou Linux, reportez-vous à la section Installation du AWS CLI.
-
Exécuter
aws configure
et configurez le AWS CLI avec votre identifiant de clé d' AWS accès, votre clé d'accès secrète et votre AWS région par défaut. Pour plus d’informations, consultez Configuration de l’ AWS CLI.
-
Utilisez la commande suivante pour installer le AWS SDK pour Python (boto3) :
-
Sous Windows, dans l'environnement mingw32, exécutez
easy_install boto3
-
Sur macOS ou Linux, exécutez
pip install tornado nose --user
puis exécutez
pip install boto3 --user
-
FreeRTOS inclut SetupAWS.py
le script pour faciliter la configuration de votre carte Espressif à laquelle vous connecter. AWS IoT Pour configurer le script, ouvrez
et définissez les attributs suivants :freertos
/tools/aws_config_quick_start/configure.json
afr_source_dir
-
Chemin d’accès complet vers l'annuaire
freertos
sur votre ordinateur. Assurez-vous d'utiliser des barres obliques pour spécifier ce chemin. thing_name
-
Le nom que vous souhaitez attribuer à l' AWS IoT élément qui représente votre tableau.
wifi_ssid
-
SSID de votre réseau Wi-Fi.
wifi_password
-
Mot de passe de votre réseau Wi-Fi.
wifi_security
-
Type de sécurité de votre réseau Wi-Fi.
Les types de sécurité suivants sont valides :
-
eWiFiSecurityOpen
(Ouvrir, aucune sécurité) -
eWiFiSecurityWEP
(Sécurité WEP) -
eWiFiSecurityWPA
(Sécurité WPA) -
eWiFiSecurityWPA2
(WPA2 sécurité)
-
Pour exécuter le script de configuration
-
Si vous utilisez macOS ou Linux, ouvrez une invite du terminal. Si vous utilisez Windows, ouvrez le
mingw32.exe
fichier. -
Accédez au
répertoire et exécutezfreertos
/tools/aws_config_quick_startpython SetupAWS.py setup
Le script effectue les opérations suivantes :
-
Crée un objet IoT, un certificat et une stratégie.
-
Attache la stratégie IoT au certificat et le certificat à l'objet AWS IoT .
-
Remplit le
aws_clientcredential.h
fichier avec votre AWS IoT terminal, votre SSID Wi-Fi et vos informations d'identification -
Met en forme votre certificat et votre clé privée, et les écrit dans le fichier d'en-tête
aws_clientcredential_keys.h
.Note
Le certificat est codé en dur à des fins de démonstration uniquement. Les applications de niveau production doivent stocker ces fichiers dans un emplacement sécurisé.
Pour plus d'informations à ce sujetSetupAWS.py
, consultez le README.md
dans le
répertoire.freertos
/tools/aws_config_quick_start
Créez, flashez et exécutez le projet de démonstration FreeRTOS à l'aide du script idf.py
Vous pouvez utiliser l'utilitaire IDF d'Espressif pour générer les fichiers de compilation, créer le binaire de l'application et flasher votre tableau.
Créez et flashez des FreeRTOS sous Windows, Linux et macOS (ESP-IDF v4.2)
Utilisez le idf.py
script pour créer le projet et flasher les fichiers binaires sur votre appareil.
Note
Certaines configurations peuvent nécessiter que vous utilisiez l'option port "-p
with port-name
"idf.py
pour spécifier le port correct, comme dans l'exemple suivant.
idf.py -p /dev/cu.usbserial-00101301B flash
Pour créer et flasher le projet
-
Accédez à la racine de votre répertoire de téléchargement de FreeRTOS.
-
Dans une fenêtre de ligne de commande, entrez la commande suivante pour ajouter les outils ESP-IDF au PATH de votre terminal.
Windows
vendors\espressif\esp-idf\export.bat
Linux/ macOS
source vendors/espressif/esp-idf/export.sh
-
Configurez cmake dans le
build
répertoire et créez l'image du microprogramme à l'aide de la commande suivante.idf.py -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 build
Vous devriez voir une sortie semblable à la suivante.
Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja --warn-uninitialized /path/to/hello_world"... Warn about uninitialized values. -- Found Git: /usr/bin/git (found version "2.17.0") -- Building empty aws_iot component due to configuration -- Component names: ... -- Component paths: ... ... (more lines of build system output) [527/527] Generating hello-world.bin esptool.py v2.3.1 Project build complete. To flash, run this command: ../../../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 or run 'idf.py -p PORT flash'
S'il n'y a aucune erreur, la compilation générera les fichiers binaires .bin du microprogramme.
-
Effacez la mémoire flash de votre carte de développement à l'aide de la commande suivante.
idf.py erase_flash
-
Utilisez le
idf.py
script pour flasher le binaire de l'application sur votre tableau.idf.py flash
-
Surveillez la sortie du port série de votre carte à l'aide de la commande suivante.
idf.py monitor
Note
Vous pouvez combiner ces commandes comme dans l'exemple suivant.
idf.py erase_flash flash monitor
Note
Pour certaines configurations de machine hôte, vous devez spécifier le port lorsque vous flashez la carte, comme dans l'exemple suivant.
idf.py erase_flash flash monitor -p
/dev/ttyUSB1
Créez et flashez des FreeRTOS avec CMake
Outre le idf.py
script fourni par le SDK IDF pour créer et exécuter votre code, vous pouvez également créer le projet avec CMake. Actuellement, il prend en charge les Makefiles Unix ou le système de construction Ninja.
Pour créer et flasher le projet
-
Dans une fenêtre de ligne de commande, naviguez jusqu'à la racine du répertoire de téléchargement de FreeRTOS.
-
Exécutez le script suivant pour ajouter les outils ESP-IDF au PATH de votre shell.
Windows
vendors\espressif\esp-idf\export.bat
Linux/ macOS
source vendors/espressif/esp-idf/export.sh
-
Entrez la commande suivante pour générer les fichiers de compilation.
Avec Unix Makefiles
cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -S . -B
./YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0Avec Ninja
cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -S . -B
./YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja -
Effacez le flash, puis faites clignoter le tableau.
Avec Unix Makefiles
make -C
./YOUR_BUILD_DIRECTORY
erase_flashmake -C
./YOUR_BUILD_DIRECTORY
flashAvec Ninja
ninja -C
./YOUR_BUILD_DIRECTORY
erase_flashninja -C
./YOUR_BUILD_DIRECTORY
flash
Surveillance des messages MQTT dans le cloud
Vous pouvez utiliser le client MQTT de la AWS IoT console pour surveiller les messages que votre appareil envoie au AWS Cloud.
Pour vous abonner à la rubrique MQTT avec le client AWS IoT MQTT
-
Accédez à la console AWS IoT
. -
Dans le volet de navigation, sélectionnez Test (Tester) pour ouvrir le client MQTT.
-
Dans le champ Rubrique d'abonnement, saisissez
, puis choisissez S'abonner à la rubrique.your-thing-name
/example/topic
Exécuter les démonstrations Bluetooth Low Energy
FreeRTOS prend en charge la connectivité Bluetooth Low Energy.
Pour exécuter le projet de démonstration FreeRTOS via Bluetooth Low Energy, vous devez exécuter l'application de démonstration du SDK mobile FreeRTOS Bluetooth Low Energy sur un appareil mobile iOS ou Android.
Pour configurer l'application de démonstration du SDK mobile FreeRTOS Bluetooth Low Energy
-
Suivez les instructions de la section Appareils Bluetooth Mobile SDKs for FreeRTOS pour télécharger et installer le SDK pour votre plateforme mobile sur votre ordinateur hôte.
-
Suivez les instructions de l'application de démonstration FreeRTOS Bluetooth Low Energy Mobile SDK pour configurer l'application mobile de démonstration sur votre appareil mobile.
Pour obtenir des instructions sur l'exécution de la démonstration MQTT sur Bluetooth Low Energy sur votre carte, veuillez consulter Application de démonstration MQTT sur Bluetooth Low Energy.
Pour obtenir des instructions sur la façon d'exécuter la démonstration de mise en service Wi-Fi sur votre carte, consultez l'application de démonstration de la mise en service Wi-Fi.
Utiliser FreeRTOS dans votre propre projet pour CMake ESP32
Si vous souhaitez utiliser FreeRTOS dans votre CMake propre projet, vous pouvez le configurer en tant que sous-répertoire et le créer avec votre application. Tout d'abord, procurez-vous une copie de FreeRTOS auprès de. GitHub
git submodule add -b release https://github.com/aws/amazon-freertos.git
freertos
Si une version ultérieure est publiée, vous pouvez mettre à jour votre copie locale à l'aide de ces commandes.
# Pull the latest changes from the remote tracking branch. git submodule update --remote --
freertos
# Commit the submodule change because it is pointing to a different revision now. git add
freertos
git commit -m "Update FreeRTOS to a new release"
Si votre projet possède la structure de répertoire suivante :
- freertos (the copy that you obtained from GitHub or the AWS IoT console) - src - main.c (your application code) - CMakeLists.txt
Voici un exemple de CMakeLists.txt
fichier de premier niveau qui peut être utilisé pour créer votre application avec FreeRTOS.
Pour créer le projet, exécutez les CMake commandes suivantes. Assurez-vous que le ESP32 compilateur se trouve dans la variable d'environnement PATH.
cmake -S . -B
build-directory
-DCMAKE_TOOLCHAIN_FILE=freertos/tools/cmake/toolchains/xtensa-esp32.cmake -GNinja
cmake --build build
Pour flasher l'application sur votre carte, exécutez la commande suivante.
cmake --build
build-directory
--target flash
Utilisation de composants de FreeRTOS
Après l'exécution CMake, vous pouvez trouver tous les composants disponibles dans le résultat récapitulatif. Cela devrait ressembler à l'exemple suivant.
====================Configuration for FreeRTOS==================== Version: 201910.00 Git version: 201910.00-388-gcb3612cb7 Target microcontroller: vendor: Espressif board: ESP32-DevKitC description: Development board produced by Espressif that comes in two variants either with ESP-WROOM-32 or ESP32-WROVER module family: ESP32 data ram size: 520KB program memory size: 4MB Host platform: OS: Linux-4.15.0-66-generic Toolchain: xtensa-esp32 Toolchain path: /opt/xtensa-esp32-elf CMake generator: Ninja FreeRTOS modules: Modules to build: ble, ble_hal, ble_wifi_provisioning, common, crypto, defender, dev_mode_key_provisioning, freertos_plus_tcp, greengrass, https, kernel, mqtt, ota, pkcs11, pkcs11_implementation, platform, secure_sockets, serializer, shadow, tls, wifi Enabled by user: ble, ble_hal, ble_wifi_provisioning, defender, greengrass, https, mqtt, ota, pkcs11, pkcs11_implementation, platform, secure_sockets, shadow, wifi Enabled by dependency: common, crypto, demo_base, dev_mode_key_provisioning, freertos, freertos_plus_tcp, kernel, pkcs11_mbedtls, secure_sockets_freertos_plus_tcp, serializer, tls, utils 3rdparty dependencies: http_parser, jsmn, mbedtls, pkcs11, tinycbor Available demos: demo_ble, demo_ble_numeric_comparison, demo_defender, demo_greengrass_connectivity, demo_https, demo_mqtt, demo_ota, demo_shadow, demo_tcp, demo_wifi_provisioning Available tests: =========================================================================
Vous pouvez référencer n'importe quel composant de la Modules to build
liste. Pour les lier à votre application, placez l'AFR::
espace de noms devant le nom, par exemple, AFR::mqtt
AFR::ota
, et ainsi de suite.
Ajout de composants personnalisés à ESP-IDF
Vous pouvez ajouter d'autres composants à l'environnement de génération ESP-IDF. Par exemple, en supposant que vous souhaitiez ajouter un composant appeléexample_component
, et que votre projet ressemble à ceci
- freertos - components - example_component - include - example_component.h - src - example_component.c - CMakeLists.txt - src - main.c - CMakeLists.txt
alors voici un exemple de CMakeLists.txt
fichier pour votre composant.
Vous pouvez également spécifier les dépendances à l'aide de la CMake fonction standardtarget_link_libraries
. Notez que le nom cible de votre composant est stocké dans la variable COMPONENT_TARGET
, définie par ESP-IDF.
Pour les composants ESP, cela se fait en définissant deux variables COMPONENT_REQUIRES
etCOMPONENT_PRIV_REQUIRES
. Voir Build System (CMake)
Ensuite, dans le fichier CMakeLists.txt
de niveau supérieur, vous indiquez à ESP-IDF où trouver ces composants. Ajoutez les lignes suivantes n'importe où auparavantadd_subdirectory(freertos)
.
Ce composant est désormais automatiquement lié à votre code d'application par défaut. Vous devriez pouvoir inclure ses fichiers d'en-tête et appeler les fonctions qu'il définit.
Remplacer les configurations pour FreeRTOS
Il n'existe actuellement aucune approche bien définie pour redéfinir les configurations en dehors de l'arborescence des sources FreeRTOS. Par défaut, CMake recherchera les
répertoires freertos
/demos/include/
et. Cependant, vous pouvez utiliser une solution de contournement pour demander au compilateur de rechercher d'autres répertoires en premier. Par exemple, vous pouvez ajouter un autre dossier pour les configurations FreeRTOS.freertos
/vendors/espressif/boards/esp32/aws_demos/config_files/
- freertos - freertos-configs - aws_clientcredential.h - aws_clientcredential_keys.h - iot_mqtt_agent_config.h - iot_config.h - components - src - CMakeLists.txt
Les fichiers sous freertos-configs
sont copiés à partir des répertoires
et freertos
/vendors/espressif/boards/esp32/aws_demos/config_files/
. Ensuite, dans votre freertos
/demos/include/CMakeLists.txt
fichier de premier niveau, ajoutez cette ligne avant add_subdirectory(freertos)
afin que le compilateur recherche d'abord ce répertoire.
include_directories(BEFORE freertos-configs)
Utilisation de votre propre sdkconfig pour ESP-IDF
Si vous souhaitez fournir la vôtresdkconfig.default
, vous pouvez définir la CMake variable IDF_SDKCONFIG_DEFAULTS
depuis la ligne de commande :
cmake -S . -B
build-directory
-DIDF_SDKCONFIG_DEFAULTS=path_to_your_sdkconfig_defaults
-DCMAKE_TOOLCHAIN_FILE=freertos/tools/cmake/toolchains/xtensa-esp32.cmake -GNinja
Si vous ne spécifiez pas d'emplacement pour votre propre sdkconfig.default
fichier, FreeRTOS utilisera le fichier par défaut situé dans. freertos
/vendors/espressif/boards/esp32/aws_demos/sdkconfig.defaults
Récapitulatif
Si vous gérez un projet incluant un composant appelé example_component
et que vous voulez remplacer certaines configurations, voici un exemple complet du fichier CMakeLists.txt
de niveau supérieur.
Résolution des problèmes
-
Si vous utilisez macOS et que le système d'exploitation ne vous reconnaît pas ESP-WROVER-KIT, assurez-vous que les pilotes D2XX ne sont pas installés. Pour les désinstaller, suivez les instructions fournies dans le manuel FTDI Drivers Installation Guide for macOS X
. -
L'utilitaire de surveillance fourni par ESP-IDF (et appelé avec make monitor) permet de décoder les adresses. Pour cette raison, cela peut vous aider à obtenir des traces significatives au cas où l'application cesserait de fonctionner. Pour plus d'informations, consultez la section Décodage automatique des adresses
sur le site Web d'Espressif. -
Il est également possible d'activer GDBstub la communication avec gdb sans nécessiter de matériel JTAG spécial. Pour plus d'informations, consultez Lancer GDB avec GDBStub
sur le site Web d'Espressif. -
S'il ne
pyserial
peut pas être installépip
sur macOS, téléchargez-le sur le site Web de pyserial. -
Si la carte se réinitialise continuellement, essayez d'effacer le flash en saisissant la commande suivante sur le terminal.
make erase_flash
-
Si vous voyez des erreurs lorsque vous exécutez
idf_monitor.py
, utilisez Python 2.7. -
Les bibliothèques requises d'ESP-IDF sont incluses dans FreeRTOS, il n'est donc pas nécessaire de les télécharger en externe. Si la variable d'
IDF_PATH
environnement est définie, nous vous recommandons de l'effacer avant de créer FreeRTOS. -
Sur Windows, la génération du projet peut prendre entre 3 et 4 minutes. Vous pouvez utiliser le commutateur
-j4
sur la commande make pour réduire le temps de génération :make flash monitor -j4
-
Si votre appareil ne parvient pas à se connecter AWS IoT, ouvrez le
aws_clientcredential.h
fichier et vérifiez que les variables de configuration sont correctement définies dans le fichier.clientcredentialMQTT_BROKER_ENDPOINT[]
devrait ressembler à
.1234567890123
-ats.iot.us-east-1
.amazonaws.com -
Si vous suivez les étapes décrites dans Utiliser FreeRTOS dans votre propre projet pour CMake ESP32 et que vous constatez des erreurs de référence non définies dans l'éditeur de liens, c’est généralement en raison de l’absence de bibliothèques ou de démos dépendantes. Pour les ajouter, mettez à jour le
CMakeLists.txt
fichier (sous le répertoire racine) à l'aide de la CMake fonction standardtarget_link_libraries
.
-
ESP-IDF v4.2 prend en charge l'utilisation du xtensa-esp32-elf-gcc 8.2.0. chaîne d'outils. Si vous utilisez une version antérieure de la chaîne d'outils Xtensa, téléchargez la version requise.
-
Si vous voyez un journal d'erreurs comme le suivant concernant les dépendances de python qui ne sont pas respectées pour ESP-IDF v4.2.
The following Python requirements are not satisfied: click>=5.0 pyserial>=3.0 future>=0.15.2 pyparsing>=2.0.3,<2.4.0 pyelftools>=0.22 gdbgui==0.13.2.0 pygdbmi<=0.9.0.2 reedsolo>=1.5.3,<=1.5.4 bitstring>=3.1.6 ecdsa>=0.16.0 Please follow the instructions found in the "Set up the tools" section of ESP-IDF Getting Started Guide
Installez les dépendances Python sur votre plateforme à l'aide de la commande Python suivante :
root
/vendors/espressif/esp-idf/requirements.txt
Pour plus d'informations sur la résolution des problèmes, consultezRésolution des problèmes de mise en route.
Débogage
Code de débogage sur Espressif ESP32 - DevKit C et ESP-WROVER-KIT (ESP-IDF v3.3)
Cette section explique comment déboguer le matériel Espressif à l'aide d'ESP-IDF v3.3. Pour effectuer un débogage à l'aide d'ESP-IDF v4.2, voir. Code de débogage sur Espressif ESP32 - DevKit C et ESP-WROVER-KIT (ESP-IDF v4.2)
Vous avez besoin d'un câble JTAG vers USB. Nous utilisons un câble USB vers MPSSE (par exemple, FTDI C232HM-DDHSL-0
Configuration du JTAG ESP- DevKit C
Pour le câble FTDI C232HM-DDHSL-0, voici les connexions au DevKitC. ESP32
Couleur du câble C232HM-DDHSL-0 | ESP32 Broche GPIO | Nom du signal JTAG |
---|---|---|
Marron (broche 5) |
IO14 |
TMS |
Jaune (broche 3) |
IO12 |
TDI |
Noir (broche 10) |
GND |
GND |
Orange (broche 2) |
IO13 |
TCK |
Vert (broche 4) |
IO15 |
TDO |
ESP-WROVER-KIT Configuration du JTAG
Pour le câble FTDI C232HM-DDHSL-0, voici les connexions au -WROVER-KIT. ESP32
Couleur du câble C232HM-DDHSL-0 | ESP32 Broche GPIO | Nom du signal JTAG |
---|---|---|
Marron (broche 5) |
IO14 |
TMS |
Jaune (broche 3) |
IO12 |
TDI |
Orange (broche 2) |
IO13 |
TCK |
Vert (broche 4) |
IO15 |
TDO |
Ces tableaux ont été développés à partir de la fiche technique FTDI C232HM-DDHSL-0
Pour activer le JTAG sur le ESP-WROVER-KIT, placez des jumpers sur les broches TMS, TDO, TDI, TCK et S_TDI, comme indiqué ici.

Débogage sous Windows (ESP-IDF v3.3)
Pour configurer le débogage sous Windows
-
Connectez le côté USB du FTDI C232HM-DDHSL-0 à votre ordinateur et l'autre côté comme décrit dans Code de débogage sur Espressif ESP32 - DevKit C et ESP-WROVER-KIT (ESP-IDF v3.3). L'appareil FTDI C232HM-DDHSL-0 doit apparaître dans le Device Manager (Gestionnaire de périphériques) sous Universal Serial Bus Controllers (Contrôleurs USB).
-
Sous la liste des appareils bus série, cliquez avec le bouton droit sur l'appareil C232HM-DDHSL-0 , puis choisissez Propriétés.
Note
L'appareil peut être répertorié Port série USB.
Dans la fenêtre de propriétés, choisissez l'onglet Détails pour afficher les propriétés de l'appareil. Si le périphérique n'est pas répertorié, installez le pilote Windows pour FTDI C232HM-DDHSL-0
. -
Dans l'onglet Détails, choisissez Propriété, puis Matériel IDs. Vous devriez voir quelque chose comme ça dans le champ Valeur.
FTDIBUS\COMPORT&VID_0403&PID_6014
Dans cet exemple, l'ID du fournisseur est 0403 et celui du produit est 6014.
Vérifiez qu'ils IDs correspondent IDs à l'entrée
projects/espressif/esp32/make/aws_demos/esp32_devkitj_v1.cfg
. Ils IDs sont spécifiés dans une ligne commençant parftdi_vid_pid
un identifiant de fournisseur et un identifiant de produit.ftdi_vid_pid 0x0403 0x6014
-
Téléchargez OpenOCD for Windows
. -
Décompressez le fichier sur
C:\
et ajoutezC:\openocd-esp32\bin
à votre chemin système. -
OpenOCD nécessite libusb, qui n'est pas installé par défaut sur Windows.
Pour installer libusb
-
Téléchargez zadig.exe
. -
Exécutez
zadig.exe
. Dans le menu Options, choisissez List All Devices (Afficher tous les périphériques). -
Dans le menu déroulant, choisissezC232HM-DDHSL-0.
-
Dans le champ du pilote cible, à droite de la flèche verte, choisissez WinUSB.
-
Dans la liste déroulante située sous le champ du pilote cible, cliquez sur la flèche, puis choisissez Installer le pilote. Choisissez Replace Driver (Remplacer le pilote).
-
-
Ouvrez une invite de commande, naviguez jusqu'à la commande suivante
projects/espressif/esp32/make/aws_demos
et exécutez-la.Pour ESP32 -WROOM-32 et -WROVER ESP32
openocd.exe -f esp32_devkitj_v1.cfg -f esp-wroom-32.cfg
Pour ESP32 -SOLO-1
openocd.exe -f esp32_devkitj_v1.cfg -f esp-solo-1.cfg
Laissez l'invite de commande ouverte.
-
Ouvrez une nouvelle invite de commande, accédez à votre répertoire
msys32
et exécutezmingw32.exe
. -
Dans le terminal mingw32, naviguez vers
projects/espressif/esp32/make/aws_demos
et exécutezmake flash monitor
-
Ouvrez un autre terminal mingw32, accédez à
projects/espressif/esp32/make/aws_demos
et attendez que la démonstration commence à être exécutée sur votre carte. Lorsque c'est le cas, exécutezxtensa-esp32-elf-gdb -x gdbinit build/aws_demos.elf
. Le programme doit s'arrêter dans la fonctionmain
.
Note
Le ESP32 supporte un maximum de deux points de rupture.
Débogage sur macOS (ESP-IDF v3.3)
-
Téléchargez le pilote FTDI pour macOS
. -
Téléchargez OpenOCD
. -
Extrayez le fichier .tar téléchargé et définissez le chemin d'accès dans
.bash_profile
sur
.OCD_INSTALL_DIR
/openocd-esp32/bin -
Utilisez la commande suivante pour effectuer l'installation
libusb
sur macOS.brew install libusb
-
Utilisez la commande suivante pour décharger le pilote du port série.
sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver
-
Si vous utilisez une version de macOS ultérieure à 10.9, utilisez la commande suivante pour décharger le pilote Apple FTDI.
sudo kextunload -b com.apple.driver.AppleUSBFTDI
-
Utilisez la commande suivante pour obtenir l'ID produit et l'ID fournisseur du câble FTDI. Il répertorie les périphériques USB connectés.
system_profiler SPUSBDataType
Le résultat de
system_profiler
doit ressembler à ce qui suit.DEVICE
: Product ID:product-ID
Vendor ID:vendor-ID
(Future Technology Devices International Limited) -
Ouvrez le fichier
projects/espressif/esp32/make/aws_demos/esp32_devkitj_v1.cfg
. Les ID de fournisseur de produit de votre appareil sont spécifiés dans une ligne qui commence parftdi_vid_pid
. Modifiez le IDs pour qu'il IDs corresponde à celui de lasystem_profiler
sortie de l'étape précédente. -
Ouvrez une fenêtre de terminal, accédez à
projects/espressif/esp32/make/aws_demos
et utilisez la commande suivante pour exécuter OpenOCD.Pour ESP32 -WROOM-32 et -WROVER : ESP32
openocd -f esp32_devkitj_v1.cfg -f esp-wroom-32.cfg
Pour ESP32 -SOLO-1 :
openocd -f esp32_devkitj_v1.cfg -f esp-solo-1.cfg
-
Ouvrez un nouveau terminal et utilisez la commande suivante pour charger le pilote du port série FTDI.
sudo kextload -b com.FTDI.driver.FTDIUSBSerialDriver
-
Accédez à
projects/espressif/esp32/make/aws_demos
et exécutez la commande suivante.make flash monitor
-
Ouvrez un autre nouveau terminal, naviguez jusqu'à
projects/espressif/esp32/make/aws_demos
et exécutez la commande suivante.xtensa-esp32-elf-gdb -x gdbinit build/aws_demos.elf
Le programme doit s'arrêter à
main()
.
Débogage sous Linux (ESP-IDF v3.3)
-
Téléchargez OpenOCD
. Extrayez le fichier tarball et suivez les instructions d'installation du fichier readme. -
Utilisez la commande suivante pour installer libusb sous Linux.
sudo apt-get install libusb-1.0
-
Ouvrez un terminal et saisissez
ls -l /dev/ttyUSB*
pour afficher tous les périphériques USB reliés à votre ordinateur. Cela vous permet de vérifier si les ports USB de la carte sont reconnus par le système d'exploitation. Vous devriez voir une sortie semblable à la suivante.$ls -l /dev/ttyUSB* crw-rw---- 1 root dialout 188, 0 Jul 10 19:04 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 Jul 10 19:04 /dev/ttyUSB1
-
Déconnectez-vous, puis connectez-vous et répétez l'alimentation de la carte pour que les modifications prennent effet. Dans une invite de terminal, affichez la liste des périphériques USB. Assurez-vous que le propriétaire du groupe est passé de
dialout
àplugdev
.$ls -l /dev/ttyUSB* crw-rw---- 1 root plugdev 188, 0 Jul 10 19:04 /dev/ttyUSB0 crw-rw---- 1 root plugdev 188, 1 Jul 10 19:04 /dev/ttyUSB1
L'interface
/dev/ttyUSBn
avec le nombre inférieur est utilisée pour la communication JTAG. L'autre interface est routée vers le ESP32 port série (UART) et est utilisée pour télécharger du code sur la mémoire flash ESP32 du. -
Dans une fenêtre de terminal, accédez à
projects/espressif/esp32/make/aws_demos
et utilisez la commande suivante pour exécuter OpenOCD.Pour ESP32 -WROOM-32 et -WROVER : ESP32
openocd -f esp32_devkitj_v1.cfg -f esp-wroom-32.cfg
Pour ESP32 -SOLO-1 :
openocd -f esp32_devkitj_v1.cfg -f esp-solo-1.cfg
-
Ouvrez un autre terminal, naviguez jusqu'à
projects/espressif/esp32/make/aws_demos
et exécutez la commande suivante.make flash monitor
-
Ouvrez un autre terminal, accédez à
projects/espressif/esp32/make/aws_demos
et exécutez la commande suivante :xtensa-esp32-elf-gdb -x gdbinit build/aws_demos.elf
Le programme doit s'arrêter à
main()
.
Code de débogage sur Espressif ESP32 - DevKit C et ESP-WROVER-KIT (ESP-IDF v4.2)
Cette section explique comment déboguer le matériel Espressif à l'aide d'ESP-IDF v4.2. Pour effectuer un débogage à l'aide d'ESP-IDF v3.3, voir. Code de débogage sur Espressif ESP32 - DevKit C et ESP-WROVER-KIT (ESP-IDF v3.3)
Vous avez besoin d'un câble JTAG vers USB. Nous utilisons un câble USB vers MPSSE (par exemple, FTDI C232HM-DDHSL-0
Configuration du JTAG ESP- DevKit C
Pour le câble FTDI C232HM-DDHSL-0, voici les connexions au DevKitC. ESP32
Couleur du câble C232HM-DDHSL-0 | ESP32 Broche GPIO | Nom du signal JTAG |
---|---|---|
Marron (broche 5) |
IO14 |
TMS |
Jaune (broche 3) |
IO12 |
TDI |
Noir (broche 10) |
GND |
GND |
Orange (broche 2) |
IO13 |
TCK |
Vert (broche 4) |
IO15 |
TDO |
ESP-WROVER-KIT Configuration du JTAG
Pour le câble FTDI C232HM-DDHSL-0, voici les connexions au -WROVER-KIT. ESP32
Couleur du câble C232HM-DDHSL-0 | ESP32 Broche GPIO | Nom du signal JTAG |
---|---|---|
Marron (broche 5) |
IO14 |
TMS |
Jaune (broche 3) |
IO12 |
TDI |
Orange (broche 2) |
IO13 |
TCK |
Vert (broche 4) |
IO15 |
TDO |
Ces tableaux ont été développés à partir de la fiche technique FTDI C232HM-DDHSL-0
Pour activer le JTAG sur le ESP-WROVER-KIT, placez des jumpers sur les broches TMS, TDO, TDI, TCK et S_TDI, comme indiqué ici.

Débogage sous Windows (ESP-IDF v4.2)
Pour configurer le débogage sous Windows
-
Connectez le côté USB du FTDI C232HM-DDHSL-0 à votre ordinateur et l'autre côté comme décrit dans Code de débogage sur Espressif ESP32 - DevKit C et ESP-WROVER-KIT (ESP-IDF v4.2). L'appareil FTDI C232HM-DDHSL-0 doit apparaître dans le Device Manager (Gestionnaire de périphériques) sous Universal Serial Bus Controllers (Contrôleurs USB).
-
Sous la liste des appareils bus série, cliquez avec le bouton droit sur l'appareil C232HM-DDHSL-0 , puis choisissez Propriétés.
Note
L'appareil peut être répertorié Port série USB.
Dans la fenêtre de propriétés, choisissez l'onglet Détails pour afficher les propriétés de l'appareil. Si le périphérique n'est pas répertorié, installez le pilote Windows pour FTDI C232HM-DDHSL-0
. -
Dans l'onglet Détails, choisissez Propriété, puis Matériel IDs. Vous devriez voir quelque chose comme ça dans le champ Valeur.
FTDIBUS\COMPORT&VID_0403&PID_6014
Dans cet exemple, l'ID du fournisseur est 0403 et celui du produit est 6014.
Vérifiez qu'ils IDs correspondent IDs à l'entrée
projects/espressif/esp32/make/aws_demos/esp32_devkitj_v1.cfg
. Ils IDs sont spécifiés dans une ligne commençant parftdi_vid_pid
un identifiant de fournisseur et un identifiant de produit.ftdi_vid_pid 0x0403 0x6014
-
Téléchargez OpenOCD for Windows
. -
Décompressez le fichier sur
C:\
et ajoutezC:\openocd-esp32\bin
à votre chemin système. -
OpenOCD nécessite libusb, qui n'est pas installé par défaut sur Windows.
Pour installer libusb
-
Téléchargez zadig.exe
. -
Exécutez
zadig.exe
. Dans le menu Options, choisissez List All Devices (Afficher tous les périphériques). -
Dans le menu déroulant, choisissezC232HM-DDHSL-0.
-
Dans le champ du pilote cible, à droite de la flèche verte, choisissez WinUSB.
-
Dans la liste déroulante située sous le champ du pilote cible, cliquez sur la flèche, puis choisissez Installer le pilote. Choisissez Replace Driver (Remplacer le pilote).
-
-
Ouvrez une invite de commande, naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS et exécutez la commande suivante.
idf.py openocd
Laissez l'invite de commande ouverte.
-
Ouvrez une nouvelle invite de commande, naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS et exécutez
idf.py flash monitor
-
Ouvrez une autre invite de commande, naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS et attendez que la démo commence à s'exécuter sur votre forum. Quand c'est le cas, courez
idf.py gdb
Le programme doit s'arrêter dans la fonction
main
.
Note
Le ESP32 supporte un maximum de deux points de rupture.
Débogage sur macOS (ESP-IDF v4.2)
-
Téléchargez le pilote FTDI pour macOS
. -
Téléchargez OpenOCD
. -
Extrayez le fichier .tar téléchargé et définissez le chemin d'accès dans
.bash_profile
sur
.OCD_INSTALL_DIR
/openocd-esp32/bin -
Utilisez la commande suivante pour effectuer l'installation
libusb
sur macOS.brew install libusb
-
Utilisez la commande suivante pour décharger le pilote du port série.
sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver
-
Si vous utilisez une version de macOS ultérieure à 10.9, utilisez la commande suivante pour décharger le pilote Apple FTDI.
sudo kextunload -b com.apple.driver.AppleUSBFTDI
-
Utilisez la commande suivante pour obtenir l'ID produit et l'ID fournisseur du câble FTDI. Il répertorie les périphériques USB connectés.
system_profiler SPUSBDataType
Le résultat de
system_profiler
doit ressembler à ce qui suit.DEVICE
: Product ID:product-ID
Vendor ID:vendor-ID
(Future Technology Devices International Limited) -
Ouvrez le fichier
projects/espressif/esp32/make/aws_demos/esp32_devkitj_v1.cfg
. Les ID de fournisseur de produit de votre appareil sont spécifiés dans une ligne qui commence parftdi_vid_pid
. Modifiez le IDs pour qu'il IDs corresponde à celui de lasystem_profiler
sortie de l'étape précédente. -
Ouvrez une fenêtre de terminal, naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS et utilisez la commande suivante pour exécuter OpenOCD.
idf.py openocd
Laissez cette fenêtre de terminal ouverte.
-
Ouvrez un nouveau terminal et utilisez la commande suivante pour charger le pilote du port série FTDI.
sudo kextload -b com.FTDI.driver.FTDIUSBSerialDriver
-
Naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS et lancez
idf.py flash monitor
-
Ouvrez un autre nouveau terminal, naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS et lancez
idf.py gdb
Le programme doit s'arrêter à
main
.
Débogage sous Linux (ESP-IDF v4.2)
-
Téléchargez OpenOCD
. Extrayez le fichier tarball et suivez les instructions d'installation du fichier readme. -
Utilisez la commande suivante pour installer libusb sous Linux.
sudo apt-get install libusb-1.0
-
Ouvrez un terminal et saisissez
ls -l /dev/ttyUSB*
pour afficher tous les périphériques USB reliés à votre ordinateur. Cela vous permet de vérifier si les ports USB de la carte sont reconnus par le système d'exploitation. Vous devriez voir une sortie semblable à la suivante.$ls -l /dev/ttyUSB* crw-rw---- 1 root dialout 188, 0 Jul 10 19:04 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 Jul 10 19:04 /dev/ttyUSB1
-
Déconnectez-vous, puis connectez-vous et répétez l'alimentation de la carte pour que les modifications prennent effet. Dans une invite de terminal, affichez la liste des périphériques USB. Assurez-vous que le propriétaire du groupe est passé de
dialout
àplugdev
.$ls -l /dev/ttyUSB* crw-rw---- 1 root plugdev 188, 0 Jul 10 19:04 /dev/ttyUSB0 crw-rw---- 1 root plugdev 188, 1 Jul 10 19:04 /dev/ttyUSB1
L'interface
/dev/ttyUSBn
avec le nombre inférieur est utilisée pour la communication JTAG. L'autre interface est routée vers le ESP32 port série (UART) et est utilisée pour télécharger du code sur la mémoire flash ESP32 du. -
Dans une fenêtre de terminal, naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS et utilisez la commande suivante pour exécuter OpenOCD.
idf.py openocd
-
Ouvrez un autre terminal, naviguez jusqu'à la racine du répertoire de téléchargement de FreeRTOS et exécutez la commande suivante.
idf.py flash monitor
-
Ouvrez un autre terminal, naviguez à la racine du répertoire de téléchargement de FreeRTOS et exécutez la commande suivante :
idf.py gdb
Le programme doit s'arrêter à
main()
.