Compilateur de bras GNU HOLTEK HT32 MCU

Introduction
Il existe de nombreux types de compilateurs disponibles, certains couramment utilisés sont le Keil (MDK-ARM), l'IAR (EWARM), le GNU (GNU ARM) et ainsi de suite. Si le "GNU" est comparé au "Keil" et "IAR", la principale différence est que le GNU est libre d'utilisation et que le Keil et l'IAR ont tous deux payé des licences, sinon il y aura une limite de taille de programme. Comme on peut le voir sur la figure suivante, par rapport au Keil MDK-ARM, le GNU Arm a l'avantagetage sans limite de taille et est plus pratique à utiliser. Cette note d'application décrit comment utiliser le compilateur GNU Arm avec les microcontrôleurs HT32.
Cette note d'application décrit d'abord le téléchargement et la préparation des ressources. Le téléchargement file comprend une bibliothèque de micrologiciels qui contient un example programme requis pendant le processus de test. Le EXampLe programme peut transmettre des messages via le port COM, par conséquent, le logiciel du terminal sera utilisé pour la sélection des fonctions ou l'affichage de l'état. L'installation et l'utilisation du compilateur GNU Arm seront introduites dans l'ordre et peuvent être utilisées avec "GNU Make" ou "Keil MDKARM uVision". Enfin, une assistance est fournie pour résoudre les problèmes courants lors de l'installation, permettant aux utilisateurs de trouver une solution lorsqu'ils rencontrent des problèmes. Il aide également les utilisateurs à créer rapidement un environnement à utiliser par le compilateur GNU Arm.

Téléchargement et préparation des ressources
Ce chapitre décrit l'example programme et les outils logiciels requis et explique comment configurer le répertoire et file chemin.
Bibliothèque de micrologiciels
Avant d'utiliser l'example programme, téléchargez la dernière bibliothèque de micrologiciels Holtek HT32 à partir du lien suivant, puis décompressez le fichier téléchargé file. Assurez-vous que la bonne bibliothèque de microprogrammes HT32 a été sélectionnée. Par exempleample HT32_M0p_Vyyyymmdd.zip est pour la série de MCU HT32F5xxxx et le HT32_M3_Vyyyymmdd.zip est fourni pour la série de MCU HT32F1xxxx.
Ce comprimé file contient plusieurs dossiers qui peuvent être classés en tant que document, bibliothèque de micrologiciels, outils, etc., qui sont situés dans le répertoire comme indiqué dans la figure suivante. Dans le dossier Firmware Library se trouve la HT32 Firmware Library compressée file nommé HT32_STD_xxxxx_FWLib_Vm.n.r_s.zip, comme indiqué ci-dessous.
Lien de téléchargement : https://mcu.holtek.com.tw/ht32/resource/

Programme terminal
Le code d'application exampLe programme peut transmettre des messages via le port COM pour la sélection des fonctions ou l'affichage de l'état. Les utilisateurs peuvent installer un logiciel de communication approprié sur le PC hôte, tel que Tera Term, qui est un programme sans licence.
La configuration de l'interface UART dans l'exampLe programme a un format de données 8 bits. Il n'y a pas de bit de parité. Il a un bit d'arrêt et un débit en bauds de 115200.
Installation du compilateur GNU Arm
Ce chapitre décrit l'installation du compilateur GNU Arm qui est expliquée dans les sections « Installation de GNU Arm » et « Test ».
Installation du bras GNU
Étape 1. Téléchargez un EXE file pour l'installation de GNU Arm à partir du lien suivant.
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
Remarque : Selon les informations de mise à jour Arm GNU Toolchain 2022, la version précédente est classée comme une version abandonnée. file. Le file les noms utilisés dans cet article et la dernière version abandonnée sont les suivants :
Le file Le nom utilisé dans cet article est : « gcc-arm-11.2-2022.02-mingw-w64-i686-arm-none-eabi.exe ».
Le file Le nom de la dernière version abandonnée est : "gcc-arm-none-eabi-10.3-2021.10-win32.exe".
Étape 2. À l'étape « Choisir l'emplacement d'installation », comme illustré dans la figure suivante, enregistrez le chemin d'installation pendant l'installation. Ce chemin sera configuré dans Keil dans le chapitre "Utilisé avec Keil MDK-ARM uVision".
Par exempleample:
« C:\Programme Files (x86)\Arm GNU Toolchain arm-none-eabi\11.2 2022.02".

Étape 3. Lors de la dernière étape d'installation, sélectionnez "Ajouter un chemin à la variable d'environnement" et cliquez sur "Terminer".

Remarque : Redémarrez l'ordinateur une fois l'installation terminée.
Test
Le compilateur GNU Arm ajoute un chemin à la variable d'environnement lors de l'installation, comme indiqué à l'étape 3 de la section « Installation de GNU Arm ». Cette section explique comment utiliser l'"invite de commande" pour tester si l'installation de GNU Arm est terminée.
Étape 1. Activez l'invite de commande.
Il existe plusieurs méthodes pour activer l'invite de commande, qui seront expliquées dans la fenêtre "Exécuter" et la sélection "Menu" dans la section suivante.
- Activer via la fenêtre "Exécuter": Appuyez d'abord sur les touches "Windows + R" du clavier et entrez "cmd" dans la fenêtre contextuelle "Exécuter", comme indiqué dans la figure suivante. Appuyez ensuite sur "OK" pour activer l'invite de commande.

- Sélectionnez dans le "Menu": Cliquez sur le menu "Démarrer", puis recherchez et ouvrez le dossier Système Windows. Cliquez sur "Invite de commandes", comme indiqué dans la figure suivante.

Étape 2. Entrez "arm-none-eabi-gcc -v" sur l'invite de commande activée et l'écran suivant apparaîtra, indiquant que la commande est valide. Cela signifie que l'installation de GNU Arm est terminée et que le code du programme Arm peut être compilé. Dans le même temps, le chemin d'installation peut être confirmé à l'aide de la sortie de l'invite de commande. Ceci est illustré par le chemin marqué par la ligne pointillée dans la case pointillée rouge de la figure.

Utilisé avec GNU Make
Ce chapitre décrit comment utiliser le compilateur GNU Arm avec GNU Make.
Installation de GNU Make
Étape 1. Cliquez sur le lien suivant pour télécharger l'EXE file pour l'installation de GNU Make.
http://gnuwin32.sourceforge.net/packages/make.htm
Remarque : Le file nom est similaire à "make-3.81.exe
Étape 2. À l'étape « Sélectionner l'emplacement de destination », comme illustré dans la figure suivante, copiez et enregistrez le chemin d'installation pendant l'installation. Le chemin sera configuré ultérieurement dans une variable d'environnement. Par exempleample:
« C:\Programme Files (x86)\GnuWin32"

Étape 3. Ajoutez un caractère supplémentaire "\bin" au chemin copié à l'étape 2 et configurez-le dans la variable d'environnement "Path" pour ajouter un chemin pour l'outil GNU Make. Reportez-vous aux deux figures suivantes, qui montrent comment activer la variable d'environnement, et recherchez la modification "Path" et ajoutez un chemin.
Remarque : Le chemin d'accès complet est similaire à "C:\Program Files (x86)\GnuWin32\bin".

Étape 4. Testez la commande "make-v" à l'aide de l'invite de commande et l'écran suivant apparaîtra, indiquant que la commande est valide. Cela signifie que l'installation de GNU Make est terminée.
Remarque : Reportez-vous au contenu "Activer l'invite de commande" dans la section "Test" pour la méthode d'activation de l'invite de commande.

Compiler et sortir
Cette section décrit la méthode de compilation et les résultats de sortie à l'aide d'un modèle de projet de bibliothèque de micrologiciels (…\modèle de projet\IP\Example), qui inclut les commandes de compilation, les messages de sortie et la sortie files, etc.
Étape 1. Activez l'invite de commande et remplacez le répertoire d'exploitation par le dossier « GNU_ARM » dans le modèle de projet de bibliothèque de micrologiciels.
(\\HT32_STD_5xxxx_FWLib_Vm.n.r_s\project_template\IP\Exampfichier\GNU_ARM)

Étape 2. Entrez une commande « make xxxxx » ou « make –f xxxxx.mk » pour créer un programme. Lorsque toutes les opérations de génération sont terminées, un message "CONSTRUCTION RÉUSSIE" doit apparaître, comme illustré dans la figure suivante.
(xxxxx est le dispositif IC, ici un 52352 est utilisé)

Étape 3. Après avoir terminé l'étape 2, l'hexagone et le binaire files peuvent être trouvés dans le chemin suivant. Ensuite, mettez à jour le micrologiciel du kit de démarrage à l'aide d'autres outils de programmation tels que e-Writer32, HT32 ICP Tool, e-Link32 Pro/Lite, HT32 Flash Programmer et ISP bootloader. La section suivante présentera la programmation à l'aide du e-Link32 Pro / Lite.
« …\GNU_ARM\HT32M\xxxxx\Obj\HT32.bin »
« …\GNU_ARM\HT32M\xxxxx\Obj\HT32.hex »

Programmation avec e-Link32 Pro/Lite
Cette section prendra le kit de démarrage HT32F52352 (SK) comme example. Tout d'abord, il présente les opérations de préparation de l'environnement pour le Starter Kit (SK) et e-Link32 Pro / Lite, puis explique comment utiliser "make IC=xxxxx eraseall/program/run" et les résultats de l'invite de commande dans l'ordre. Enfin, il explique comment observer si la programmation est réussie ou non grâce au statut SK.
Les opérations de préparation de l'environnement pour le SK et e-Link32 Lite sont les suivantes :
(1) Il y a deux ports COM USB sur la carte. Ici, le PC est connecté au port e-Link32 Lite de la carte à l'aide d'un câble USB, comme indiqué par (a) dans la figure suivante.
(2) La fonction VCP (Virtual COM Port) du e-Link32 Lite est requise pour la confirmation de la programmation. Assurez-vous que le capuchon du cavalier UART Jumper-J2*1 court-circuite les broches PAx*2 et DAP_Tx. L'emplacement du cavalier est indiqué par (b) dans la figure suivante.
Remarque : 1. J2 sur le SK fournit deux paramètres qui consistent à court-circuiter les broches PAx et DAP_Tx ou à court-circuiter les broches PAx et RS232_Tx. Reportez-vous au manuel d'utilisation du kit de démarrage pour plus de détails.
2. La broche est nommée PAx ici car le réglage de la broche MCU UART RX varie selon les SK.

Les opérations de préparation de l'environnement pour le SK et e-Link32 Pro sont les suivantes : Un côté du e-Link32 Pro est connecté au PC à l'aide d'un câble de données Mini USB et l'autre côté est pour l'interface SWD. L'e-Link32 Pro est nécessaire pour se connecter au SWD-10P sur le SK à l'aide d'un câble plat gris à 10 broches, comme illustré dans la figure suivante (a).

La section suivante décrira l'utilisation de la commande "make IC=xxxxx eraseall/program/run" et les résultats de l'invite de commande dans l'ordre.
Étape 1. Entrez une commande "make IC=xxxxx eraseall" ou "make-f xxxxx.mk eraseall" dans la fenêtre "Invite de commandes". En cas de succès, le message « ERASEALL SUCCESS » apparaîtra à l'écran, comme illustré dans la figure suivante.
(xxxxx est le dispositif IC, ici un 52352 est utilisé).
Remarque : Cette commande est utilisée pour exécuter une opération Flash Mass Erase.

Étape 2. Entrez une commande « make IC=xxxxx program » ou « make-f xxxxx.mk program » dans la fenêtre « Command Prompt ». En cas de succès, le message "PROGRAM SUCCESS" apparaîtra à l'écran, comme illustré dans la figure suivante.
(xxxxx est le dispositif IC, ici un 52352 est utilisé).

Étape 3. Entrez une commande « make IC=xxxxx run » ou « make-f xxxxx.mk run » dans la fenêtre « Command Prompt ». En cas de succès, le message "RUN SUCCESS" apparaîtra à l'écran, comme illustré dans la figure suivante. Le SK fonctionnera selon l'exampLe programme et son état lorsqu'il est programmé avec succès sont affichés à l'étape 4.
(xxxxx est le dispositif IC, ici un 52352 est utilisé)

Étape 4. Lorsque l'action de l'étape 3 est terminée, cette étape se poursuivra pour déterminer si la programmation a réussi en vérifiant l'état SK. Ceci peut être vérifié à l'aide de la LED ou du logiciel du terminal. Reportez-vous à la section « Logiciel du terminal » pour les paramètres du logiciel du terminal. La description de l'état sera donnée ci-dessous.
Lorsque le message "RUN SUCCESS" apparaît à l'écran, les LED1 et LED2 clignotent. Leurs positions sont indiquées en bas à gauche de la figure suivante. Le message suivant s'affichera alors « Hello World ! 0" ~ "Bonjour le monde ! 99" sur le logiciel du terminal du PC via le port COM virtuel, comme indiqué sur le côté droit de la figure suivante. Les deux peuvent être utilisés pour vérifier que l'environnement a été utilisé avec succès.

Description du paramètre
Cette section décrit les files purpose dans le répertoire GNU_ARM, comme indiqué dans le tableau suivant.
| Dossier/File Nom | Description |
| \\modèle_projet\IP\Exampfichier\GNU_ARM | |
| xxxxx.mk | Fairefile file, xxxxx est un dispositif IC |
| éditeur de liens.ld | Script de l'éditeur de liens |
| Fairefile | Fairefile file |
| Projet_xxxxx.uvprojx | Projet, xxxxx est un dispositif IC |
Il va maintenant être expliqué comment ajouter un .c file, include path ou C/S Preprocessor Define en modifiant le makefile file nommé "xxxxx.mk".
Remarque : Cette section utilise 52352.mk comme illustration.
- Ajouter un .c file. Cette partie sert à paramétrer le projet .c file, la méthode suivante est utilisée.
- Ouvrez le 52352.mk, recherchez "Source files", les réglages ci-dessous apparaissent à l'écran,
qui peut être ajouté en utilisant "SOURCE_NAME_PATH +=" ajouter ".c file chemin et nom ».
- Ouvrez le 52352.mk, recherchez "Source files", les réglages ci-dessous apparaissent à l'écran,
- Inclure le chemin. Cette partie est utilisée pour ajouter des chemins d'inclusion, qui fournissent plusieurs chemins pour rechercher l'en-tête file (.h file), la méthode suivante est utilisée.
- Ouvrez le 52352.mk, recherchez "Inclure le chemin", les paramètres indiqués ci-dessous apparaissent à l'écran, qui peuvent être ajoutés à l'aide de "INCLUDE_PATH += -I./ " ajouter "Path".
- Définition du préprocesseur C/S. Cette partie est utilisée pour ajouter un message Preprocessor Define, la méthode suivante est utilisée.
- Ouvrez le 52352.mk, recherchez "Preprocessor Define", les paramètres ci-dessous apparaissent à l'écran. Les méthodes d'ajout pour un .c Preprocessor Define sont légèrement différentes d'un .s Preprocessor Define. Ceci est arrangé comme suit.
► c Preprocessor Define : « C_Option += -D » + « Define content » Par example : C_OPTION += -DUSE_HT32_DRIVER.
► .h Preprocessor Define : « S_Option = –defsym » + « Define content » Par exampfichier : S_OPTION = –defsym USE_HT32_CHIP=4

- Ouvrez le 52352.mk, recherchez "Preprocessor Define", les paramètres ci-dessous apparaissent à l'écran. Les méthodes d'ajout pour un .c Preprocessor Define sont légèrement différentes d'un .s Preprocessor Define. Ceci est arrangé comme suit.
Utilisé avec le Keil MDK-ARM uVision
Ce chapitre décrit comment utiliser le compilateur GNU Arm avec le Keil MDK-ARM uVision. Remarque : Cette partie nécessite l'utilisation de Keil MDK-ARM. Allez d'abord chez l'officiel de Keil website pour obtenir l'EXE file pour l'installation de Keil MDK-ARM et terminez l'installation. L'officiel de Keil webLe lien d'installation du site est le suivant.
https://www.keil.com/demo/eval/arm.htm
Remarque : Le file nom est similaire à "MDK537.EXE".
Paramètres du projet
Étape 1. Ouvrir un projet Project_xxxxx.uvprojx file de la bibliothèque de micrologiciels. Ici, un 52352 est utilisé.
\\HT32_STD_5xxxx_FWLib_Vm.n.r_s \project_template\IP\Example\GNU_ARM\Project_xxxxx.uvprojx Remarque : xxxxx est le nom du périphérique.

Étape 2. Cliquez sur l'icône « Gérer les éléments du projet », puis cliquez sur l'option « Dossiers/Extensions ». Sélectionnez "Utiliser le compilateur GCC (GNU) pour les projets ARM", puis copiez le chemin d'installation de GNU Arm dans la zone de texte "Dossier", comme illustré dans la figure suivante.
Remarque : Pour le chemin d'installation de GNU Arm, reportez-vous au chemin copié à l'étape 2 de la section « Installation de GNU Arm » dans le chapitre « Installation du compilateur GNU Arm ».

Compiler et tester
Étape 1. Cliquez sur "Construire (F7)" pour créer un projet.
Étape 2. Vérifiez la fenêtre "Build Output" pour confirmer si le programme a été construit correctement.

Étape 3. Connectez le port COM USB e-link32 lite du kit de démarrage HT32F52352 au PC, comme indiqué dans la case rouge sur le côté gauche de la figure suivante. Confirmez que le PC a détecté le périphérique USB normalement, comme indiqué dans la case rouge sur le côté droit de la figure suivante.

Étape 4. Cliquez sur "Télécharger (F8)" pour télécharger le code dans la mémoire Flash.

Étape 5. Un capuchon de cavalier est placé sur les broches DAP_TX et PA5 pour les court-circuiter, comme illustré dans la figure suivante. Ensuite, le logiciel du terminal PC (Tera Term) sera configuré et le port COM sera défini conformément à l'étape 3. Reportez-vous à la section « Logiciel du terminal » pour la configuration détaillée de Tera Term.

Étape 6. Lorsque la touche "Reset" a été enfoncée, les LED1 et LED2 clignotent comme indiqué sur le côté gauche de la figure suivante. Les messages "Hello World ! 0" ~ "Bonjour le monde ! 99" apparaîtra dans la fenêtre "Tera Term" via le port COM virtuel, comme indiqué sur le côté droit de la figure suivante. Ceci est utilisé pour vérifier qu'il a été utilisé avec succès avec le compilateur Keil MDK-ARM uVision GNU Arm.

Problèmes courants
Ce chapitre aide à résoudre certains des problèmes courants qui peuvent être rencontrés.
Messages d'erreur pouvant apparaître après la construction
- Si vous exécutez "After Build", le message d'erreur suivant sera généré. Essayez de redémarrer l'ordinateur ou d'exécuter le Keil MDK-ARM en tant qu'administrateur pour que l'opération "After Build" réussisse.

Si ce problème ne peut pas être résolu en suivant les étapes ci-dessus, l'utilisateur peut également désactiver l'option "Après la construction/reconstruction", comme illustré dans la figure suivante.
Remarque : Lorsque l'option « After Build/Rebuild » est désactivée, le Keil n'émettra plus de messages de format binaire et de taille de code.

Configuration requise pour la version de la bibliothèque de micrologiciels
Si le "GNU Arm Compiler" est utilisé avec le "GNU Make" ou le "Keil MDK-ARM uVision", il convient de noter que seules les versions suivantes ou les versions supérieures de la bibliothèque de micrologiciels prennent en charge le projet GNU Arm files.
- HT32_STD_5xxxx_FWLib_V1.0.26_nnnn.zip
- HT32_STD_1xxxx_FWLib_V1.0.11_nnnn.zip
Conclusion
Cette note d'application a d'abord fourni une brève description de GNU Arm. Cela a été suivi d'une explication pour montrer aux utilisateurs comment installer et tester le compilateur GNU Arm. Il décrit ensuite comment l'utiliser avec le « GNU Make » ou « Keil MDK-ARM uVision ». Enfin, il y avait une explication sur la façon d'utiliser le compilateur GNU Arm avec les MCU HT32.
Documents de référence
Pour plus d'informations, consultez le responsable Holtek webSite : www.holtek.com.
Informations de révision et de modification
| Date | Auteur | Problème | Informations sur les modifications |
| 2022.05.13 | 蔡期育 | V1.00 | Première version |
Clause de non-responsabilité
Toutes les informations, marques, logos, graphiques, vidéos, clips audio, liens et autres éléments apparaissant sur ce web(« Informations ») sont fournies à titre indicatif uniquement et peuvent être modifiées à tout moment sans préavis et à la discrétion de Holtek Semiconductor Inc. et de ses sociétés affiliées (ci-après « Holtek », « la société », « nous », « nous' ou 'notre'). Bien que Holtek s'efforce d'assurer l'exactitude des informations sur ce website, aucune garantie expresse ou implicite n'est donnée par Holtek quant à l'exactitude des informations. Holtek décline toute responsabilité en cas d'erreur ou de fuite.
Holtek ne sera pas responsable des dommages (y compris, mais sans s'y limiter, les virus informatiques, les problèmes de système ou la perte de données) résultant de l'utilisation ou en relation avec l'utilisation de ce website par toute partie. Il peut y avoir des liens dans cette zone, qui vous permettent de visiter le websites d'autres sociétés. Ces webles sites ne sont pas contrôlés par Holtek. Holtek n'assume aucune responsabilité et aucune garantie quant aux informations affichées sur ces sites. Des hyperliens vers d'autres websites sont à vos risques et périls.
Limitation de responsabilité
En aucun cas, Holtek Limited ne pourra être tenu responsable envers toute autre partie pour toute perte ou tout dommage, quel qu'il soit, causé directement ou indirectement en relation avec votre accès ou votre utilisation de ce website, son contenu ou tout bien, matériel ou service.
Loi applicable
La clause de non-responsabilité contenue dans le website est régi et interprété conformément aux lois de la République de Chine. Les utilisateurs se soumettront à la juridiction non exclusive des tribunaux de la République de Chine
Mise à jour de la clause de non-responsabilité
Holtek se réserve le droit de mettre à jour la clause de non-responsabilité à tout moment avec ou sans préavis, toutes les modifications entrent en vigueur dès leur publication sur le website.

Documents / Ressources
![]() |
Compilateur de bras GNU HOLTEK HT32 MCU [pdf] Guide de l'utilisateur HT32 MCU, compilateur de bras GNU HT32 MCU, compilateur de bras GNU, compilateur de bras |




