STM32--Vue d'ensemble

Préface

Cette chronique étudieraLe didacticiel d'introduction STM32 de la station B Jiangxie Technology, une chronique de blog écrite à partir de ma propre compréhension et du résumé de l'enseignant .

Introduction à STM32

STM32 est une série de microcontrôleurs (MCU) lancée par STMicroelectronics. En tant que microcontrôleur intégré, STM32 est conçu pour répondre aux besoins des applications embarquées telles que hautes performances, faible coût et faible consommation d'énergie.. Basé sur différentes architectures de base, STM32 est divisé en plusieurs séries de produits.

Les principales gammes de produits comprennent :

  1. Produits grand public : tels que STM32F0, STM32F1, STM32F3, etc., utilisent les cœurs ARM Cortex-M0, M3 et M4 et conviennent aux applications générales.
  2. Produits à très faible consommation d'énergie : tels que STM32L0, STM32L1, STM32L4, STM32L4+, etc., basés sur les cœurs ARM Cortex-M0+ et M4, ont des caractéristiques de faible consommation d'énergie et conviennent aux applications ayant des exigences de consommation d'énergie élevées.
  3. Produits hautes performances : tels que STM32F2, STM32F4, STM32F7, STM32H7, etc., utilisent les cœurs ARM Cortex-M4 et M7 pour offrir des performances et des capacités de traitement supérieures.
    Insérer la description de l'image ici

STM32 possède de riches périphériques et interfaces, notammentPort d'entrée et de sortie à usage général (GPIO), bus série universel (USART, SPI et I2C), convertisseur analogique-numérique (ADC), minuterie et compteur (TIM), sortie PWM, interface Ethernetetc. pour répondre aux besoins de diverses applications.

En outre, STM32 fournit également une multitude d'outils de développement et de bibliothèques de logiciels, tels que la plate-forme logicielle STM32Cube et l'environnement de développement MDK-ARM, pour permettre aux développeurs de développer et de déboguer des applications intégrées.

En bref, STM32 est une série de microcontrôleurs puissants, flexibles et diversifiés qui sont largement utilisés dans divers systèmes embarqués, notamment les maisons intelligentes, l'automatisation industrielle, l'électronique automobile, les équipements médicaux et d'autres domaines.

STM32F103C8T6

Insérer la description de l'image ici
Il s'agit d'un modèle de puce de la série STM32 que nous utilisons. Il se caractérise par des performances élevées, une faible consommation d'énergie et de multiples interfaces de communication.
Insérer la description de l'image ici
Il s'agit de sa ressource sur puce. Ces ressources seront utilisées dans les introductions ultérieures.
Insérer la description de l'image ici
C'est sa convention de dénomination.

structure du système

Insérer la description de l'image ici
Quatre unités de commande :
─ Bus DCode Core Cortex™-M3 (D-bus) et bus système (S-bus) < /span>
─ DMA1 universel et DMA2 universel

L'unité pilote fait référence aux composants et modules utilisés pour contrôler et piloter des périphériques externes dans les systèmes embarqués. Ils contiennent généralement des circuits d'interface matérielle et le code logiciel associéPour la communication et le contrôle des appareils externes

Trois unités passives
─ SRAM interne
─ Mémoire flash interne
─ Pont AHB vers APB (AHB2APBx) , qui connecte tous les appareils APB

Les unités passives font référence à des composants ou des modules utilisés dans les systèmes embarquéspour recevoir et transmettre des données. Ils n’ont généralement pas la capacité de contrôler activement les périphériques. Les unités passives peuvent inclure des capteurs, des récepteurs, des périphériques d'entrée, etc.

Mémoire :
comprend la mémoire flash (Flash) et la mémoire vive (SRAM). La mémoire flash est utilisée pour stocker le code du programme et les données non volatiles, tandis que la SRAM est utilisée pour le stockage temporaire des données et les opérations de pile.

Bus ICode
Ce bus connecte le bus d'instructions du cœur Cortex™-M3 à l'interface d'instructions de la mémoire flash. La prélecture des instructions est effectuée sur ce bus.

Bus DCode
Ce bus connecte le bus DCode du cœur Cortex™-M3 à l'interface de données de la mémoire flash (chargement constant et accès au débogage).

Bus système
Ce bus connecte le bus système (bus périphérique) du cœur Cortex™-M3 à la matrice de bus, qui coordonne l'accès entre le cœur et le DMA.

Bus DMA
Ce bus connecte l'interface de contrôle principale AHB du DMA à la matrice de bus. La matrice de bus coordonne l'accès du DCode et du DMA du CPU à la SRAM, à la mémoire flash et aux périphériques. .

Matrice de bus
La matrice de bus coordonne l'arbitrage d'accès entre le bus système du noyau et le bus maître DMA. L'arbitrage utilise un algorithme de rotation. La matrice de bus du produit contient 4 composants de pilotage (CPU DCode, bus système, bus DMA1 et bus DMA2) et 4 composants passifs (interface de mémoire flash (FLITF), SRAM, FSMC et pont AHB2APB).

Pont AHB/APB (APB)
Deux ponts AHB/APB fournissent des connexions synchrones entre l'AHB et 2 bus APB. La vitesse de fonctionnement de l'APB1 est limitée à 36 MHz, l'APB2 fonctionne à pleine vitesse (jusqu'à 72 MHz).

Dans notre opération, nous opérons généralement uniquement à partir du bus AHB, connectons le pont à nos ressources périphériques et obtenons les résultats souhaités en programmant le programme de code.

Insérer la description de l'image ici
Il s'agit de la définition des broches sur STM32.

Insérer la description de l'image ici
Circuit système STM32.

Notes d'installation du logiciel Keil

1.Assurez-vous qu'il n'y a pas de caractères chinois dans le chemin d'installation du logiciel !
De nombreuses personnes sont habituées à utiliser des dossiers chinois lors de l'installation de logiciels, mais il s'agit d'un logiciel étranger ; si des caractères chinois apparaissent dans votre chemin d'installation, tous les codes du programme seront noirs et ne pourront pas être automatiquement terminés.
Insérer la description de l'image ici
La situation illustrée sur la photo ne se produira pas.
Ensuite, la solution est
Changez d'abord le chinois en anglais, puis ouvrez le dossier du logiciel,
Insérer la description de l'image ici

Ouvrez ce fichier
Insérer la description de l'image ici
et remplacez tous tous les chemins qui apparaissent en chinois par le chemin que vous avez modifié. .
Sans cette étape, la complétion automatique ultérieure ne peut pas être opérée.

2.Problème de saisie semi-automatique
Insérer la description de l'image ici
Cliquez sur cette clé et sélectionnez Complétion du texte
Insérer la description de l'image ici
Insérer la description de l'image ici
Vérifiez les deux et réglez-les sur 3 ;

  1. Problème d'affichage du numéro de ligne
    Insérer la description de l'image ici
    Changez simplement les options.

Processus d’exploitation du nouveau projet

Insérer la description de l'image ici
Nous devons d’abord copier les fonctions de la bibliothèque dans la bibliothèque du firmware ;

Pour la bibliothèque de firmware, vous pouvez rechercher le modèle correspondant sur votre propre site officiel et le télécharger, ou télécharger directement le package de fichiers auprès de M. Jiang Xie.

Créez ces trois dossiers dans votre propre dossier de projet
Insérer la description de l'image ici
Insérer la description de l'image ici
Suivez ce chemin et copiez tout le contenu des fichiers inc et src dans la bibliothèque ;< a i=2 > Selon ce chemin, mettez tous les fichiers sélectionnés dans Démarrer (sélectionnez tous les fichiers dans arm); Selon ce chemin, mettez les fichiers sélectionnés dans Utilisateur;
Insérer la description de l'image ici

Insérer la description de l'image ici

Ouvrez ensuite le logiciel et créez un nouveau projet dans le dossier de projet correspondant ;
Insérer la description de l'image ici
Ouvrez cette boîte tricolore
Insérer la description de l'image ici
Ajoutez le fichier que vous venez de créer dans le dossier Groupe du même nom, puis ajoutez le fichier dans le dossier correspondant ;
Ensuite, ouvrez la baguette magique, sélectionnez C/C++, et incluez cette commande dans diffine ;
Insérer la description de l'image ici

Sélectionnez simplement les trois dossiers que vous venez de créer dans le chemin d'inclusion ;

Enfin,
Insérer la description de l'image ici
ouvrez la baguette magique, sélectionnez Dubug, sélectionnez ST-Link et enfin sélectionnez Paramètres
![Insérer la description de l'image ici](https://img-blog.csdnimg.cn/42788d07b2b44035bd3d4586
Insérer la description de l'image ici

Si SW n'est pas sélectionné pour Port, n'oubliez pas de le sélectionner et Pack pour le vérifier ;
De cette façon, nous avons configuré le projet ;

La raison pour laquelle nous devons effectuer des réglages aussi difficiles est que la société ST nous a fourni des fonctions de bibliothèque. Lorsque nous les utilisons, il nous suffit d'appeler les fonctions correspondantes pour effectuer les opérations correspondantes, ce qui nous convient . Programmation;

Après l'avoir créé, nous supprimons le contenu dans la fonction principale, puis nous pouvons modifier le contenu souhaité ; puis l'exécuter dans le logiciel. Si le programme ne signale pas d'erreur, cela signifie qu'il n'y a pas de problème avec le fonctionnement du programme. ;
Lorsque nous voulons recréer un autre fichier de projet, il suffit de copier le dossier modèle, puis de modifier le nom du dossier, d'ouvrir le fichier d'exécution, puis d'opérer directement dans le fichier principal.

Je suppose que tu aimes

Origine blog.csdn.net/m0_74068921/article/details/132130548
conseillé
Classement