🛠 Mettre en place une console série sur HPM5100
Objectifs
Ce tutoriel vise à configurer l'interface UART du microcontrôleur HPM5100 pour établir une communication série avec un ordinateur. C'est l'étape fondamentale pour tout développement embarqué, permettant d'afficher des messages de log, de déboguer le code et d'interagir avec le programme via le port série. Vous apprendrez à initialiser le périphérique, configurer le baudrate et envoyer des données.
Matériel nécessaire
- Carte de développement HPM5100 (modèle HPM5151 ou compatible).
- Câble USB Type-C ou Micro-USB selon le connecteur de votre carte.
- Un ordinateur avec un terminal série (PuTTY, Tera Term, ou l'IDE HPMicro).
- SDK HPMicro v1.13.0 installé et configuré.
Étapes
- Préparation de l'environnement : Ouvrez votre IDE ou terminal et naviguez vers le dossier d'exemple UART du SDK. Le HPM5100 dispose de 5 UART indépendants ; nous utiliserons l'UART0 par défaut car il est souvent routé vers le connecteur USB série de la carte.
- Configuration matérielle : Vérifiez les broches (pins) associées à l'UART0 dans le schéma de votre carte. Généralement, TX (transmission) et RX (réception) doivent être correctement mappés via la matrice de signaux (Pinmux). Assurez-vous que les broches ne sont pas utilisées par d'autres périphériques critiques comme le PWM ou l'ADC.
- Initialisation logicielle : Dans le fichier
main.c, incluez les en-têtes nécessaires. Initialisez l'horloge système pour garantir que l'UART reçoit le signal d'horloge correct. Configurez le registre de contrôle de l'UART pour définir le baudrate à 115200 bps, un standard fiable pour le débogage. - Écriture du code d'envoi : Implémentez une fonction simple
uart_send_string. Cette fonction doit vérifier si le buffer d'émission est vide avant d'écrire chaque caractère. Pour les débutants, il est conseillé d'utiliser une boucle d'attente bloquante (while(busy)) pour simplifier la logique initiale. - Compilation et téléchargement : Compilez le projet en mode Debug. Utilisez l'outil de flash du SDK pour charger le binaire sur la carte HPM5100. La mémoire Flash SiP de 1 MB est largement suffisante pour cet exemple.
- Connexion au terminal : Ouvrez votre terminal série sur l'ordinateur. Sélectionnez le port COM correspondant à la carte. Définissez les paramètres : 115200 bauds, 8 bits de données, 1 bit de stop, pas de parité.
Vérification
Une fois le programme exécuté, vous devriez voir s'afficher dans le terminal un message du type "Hello HPM5100" suivi d'un compteur incrémenté à chaque seconde. Si rien ne s'affiche, vérifiez le port COM, le baudrate et les connexions physiques TX/RX. L'absence de message indique souvent une erreur de configuration Pinmux ou d'horloge.
Pour aller plus loin
Explorez l'interruption UART pour éviter les boucles bloquantes et libérer le cœur RISC-V. Vous pouvez ensuite intégrer FreeRTOS pour créer une tâche dédiée à la gestion des communications série, améliorant ainsi la réactivité de votre application.