[Apprentissage du MCU STM32] Leçon 1: Ce que vous devez savoir sur le STM32

[Intrusion dans le résumé du cours de M. Zhu]

La première partie, liste des chapitres

3.1.1. Développement STM32 et STC51

3.1.2_3. L'origine et le contexte de STM32

3.1.4.Stm32 manuel chinois simple avec lecture

3.1.5 Quels sont les différents débogueurs d'émulation de STM32?

3.1.6. Bibliothèque périphérique standard STM32, bibliothèque HAL, bibliothèque LL

3.1.7. Présentation de la carte de développement utilisée dans ce cours


La deuxième partie, introduction du chapitre

3.1.1.Développement
    de STM32 et STC51 Cette section donne une introduction générale aux trois saisons de cours liés à STM32, et un résumé général des différences entre l'apprentissage STM32 et 51 micro-ordinateurs monopuce, dans l'espoir de guider tout le monde à l'avenir.
3.1.2 L'origine et le contexte de
    STM32 1 Cette section décrit les caractéristiques des microcontrôleurs STM32, les informations du fabricant, le site officiel, la sélection, etc., afin que chacun ait une vue d'ensemble de STM32. Ne sous-estimez pas ces choses, beaucoup de gens étudient depuis quelques années et ne savent toujours pas où trouver les informations de base.
3.1.3 L'origine et le contexte de
    STM32 2 Cette section décrit les caractéristiques des microcontrôleurs STM32, les informations du fabricant, le site officiel, la sélection, etc., afin que chacun ait une vue d'ensemble de STM32. Ne sous-estimez pas ces choses, beaucoup de gens étudient depuis quelques années et ne savent toujours pas où trouver les informations de base.
3.1.4.STM32 livre chinois simple avec la lecture au
    début de cette section vous amène à lire la version officielle STM32 d'une version chinoise de la carte de développement de puce simple dans le manuel Cape fourni, peut avoir une compréhension plus complète du STM32 spécifique via le manuel de la puce .
3.1.5 Quels sont les différents débogueurs d'émulateur de STM32
    Cette section présente les deux concepts d'émulateur et de débogueur, puis présente plusieurs débogueurs que ce cours impliquera.
3.1.6 Qu'est-ce que la bibliothèque standard
    STM32 et la bibliothèque HAL (cubeMX)? Cette section se concentre sur les deux modes de développement des fonctions de bibliothèque de STM32, la bibliothèque standard et la bibliothèque HAL, et le concept est clair pour organiser l'apprentissage de suivi.
3.1.7. Nous présentons les cartes de développement utilisées dans ce cours. Cette
    section présente les trois cartes de développement impliquées dans le cours. L'explication du cours prendra en compte les différences entre les trois cartes de développement. Vous pouvez apprendre le cours quelle que soit la carte de développement que vous avez. Pas affecté.    

Troisième partie, dossier de classe

3.1.1. Développement STM32 et STC51

3.1.1.2, différence

  • L'horloge STM32 doit être configurée, STC51 n'a pas besoin d'être configuré
  • Contrôle GPIO: STC51 n'a besoin que d'utiliser des variables binaires pour attribuer des valeurs aux broches ou ports, STM32 doit programmer des registres!
  • Et ces périphériques sont fondamentalement les mêmes, il sera donc plus facile d'apprendre d'abord le microcontrôleur STC51, puis STM32!
  • La fréquence principale de STM32 peut atteindre 72 MHz

3.1.2_3. L'origine et le contexte de STM32

3.1.2.1. De 51 à STM32
(1) Il existe plusieurs types de micro - ordinateurs mono-puce, comme nous l' avons parlé dans les cours à puce unique, comme STM32, AVR, 51, etc.
(2) STM32 est le courant dominant courant haute performance 32 bits monopuce, avec plus de 20 chaque année le montant de cent millions de morceaux de
(3) cœur de processeur ARM STM32 est, mais pas nécessairement le ARM STM32 [comme NXP (philips), TI, Atmel , OKI, ST, Samsung, Huawei, ont ARM-core, faites Il existe des microcontrôleurs 32 bits avec leurs propres compétences uniques, comme les fonctionnalités HiSilicon ]
(4) STM32 de Huawei : performances élevées, périphériques internes riches, MIPS élevé (MIPS n'est qu'une mesure des performances du processeur) et une large base de masse

3.1.2.2. D'où vient
STM32 ? (1) STM32 utilise le processeur central ARM Cortex-M3 , qui est conçu par ARM sur la base de l'architecture ARMv7 32 bits, il peut donc également être appelé ARMv7-M . En ce qui concerne l'histoire d'ARM, Vous pouvez consulter le guide faisant autorité de CM3

(2) STM32 est  conçu, implémenté et produit par ST ( site officiel de ST site Web officiel de    STM32 )

(3) En plus de produire STM32, ST produit également un microcontrôleur 8 bits auto-conçu STM8s
(4) STM32 Il existe une variété de modèles, couvrant une variété de séries Cortex-M, M0, M0 +, M3, M4, M7, etc. Vous pouvez simplement consulter le site officiel!

3.1.2.3. Navigation dans les données du site Web officiel du STM32
(1) Navigation dans différentes séries de diagrammes

(2) Il suffit d'en trouver un pour y accéder et de voir le
lien d' informations de sélection détaillées
(3) Règles de codage du modèle (prenez STM32F103C8 configuré sur la carte de développement comme exemple)

3.1.4.Stm32 manuel chinois simple avec lecture

Lien de téléchargement manuel

3.1.4.1, introduction des fonctions

  • Mémoire
  • l'horloge
  • ADC
  • Mode débogage
  • DMA: L'orthographe anglaise de DMA est "Direct Memory Access". Le chinois signifie accès direct à la mémoire, qui est un mode d'échange de données qui accède directement aux données de la mémoire sans passer par le processeur. À propos de DMA
  • Périphériques: USART, minuterie, ADC, SPI, I2C
  • La
    source d'interruption du port d'E / S n'est pas liée, elle peut être définie par le logiciel pour le mappage!
  • Minuteur
  • Port de communication

3.1.4.2, spécifications

1. Liste des appareils

2. Aperçu

  • Le contrôleur d'interruption à vecteur imbriqué (NVIC)
    51 a également une commande d'interruption, mais il est implémenté directement en manipulant le registre de commande d'interruption. STC51 a 8 sources de terminal + 4 niveaux de priorité
  • Contrôleur externe d'interruption / d'événement (EXTI)

  • La sélection de l' horloge système de l'horloge est effectuée au démarrage. L'oscillateur RC interne 8 MHz est sélectionné comme horloge CPU par défaut lors de la réinitialisation, puis une horloge externe 4 ~ 16 MHz avec surveillance des pannes peut être sélectionnée; lorsque l'horloge externe échoue, elle Soyez isolé, et l'
    interruption correspondante se produira en même temps . De même, une gestion complète des interruptions de l'horloge PLL peut être prise en cas de besoin (par exemple en cas de panne d'un oscillateur externe). Il existe plusieurs pré-calibres pour configurer les zones de fréquence AHB, APB haute vitesse (APB2) et APB basse vitesse (APB1). La fréquence la plus élevée de l'AHB et de l'APB haute vitesse est de 72 MHz, et la fréquence la plus élevée de l'APB basse vitesse est de 36 MHz.
  • Mode de démarrage (mode de démarrage)
  • Schéma d'alimentation électrique
    Vous pouvez vous référer au diagramme schématique pour voir comment VDD, VSSA et VBAT fournissent différents schémas d'alimentation électrique!
  • Mode faible consommation d'énergie Mode
    veille, mode arrêt, mode veille
  • Le DMA général
    flexible à 7 canaux de DMA peut gérer le transfert de données de la mémoire à la mémoire, de l'appareil à la mémoire et de la mémoire à l'appareil; le contrôleur DMA prend en charge la gestion du tampon en anneau, ce qui évite l'interruption générée lorsque le transfert du contrôleur atteint la fin du tampon.
    Le DMA peut être utilisé pour les principaux périphériques: SPI, I2C, USART, timers généraux et avancés TIMx et ADC.
  • RTC (horloge en temps réel) et registre de sauvegarde Le
    RTC et le registre de sauvegarde sont alimentés par un commutateur. Lorsque VDD est valide, le commutateur sélectionne VDD pour l'alimentation, sinon il est alimenté par la broche VBAT
    . Les registres de sauvegarde (10 registres 16 bits) peuvent être utilisés pour sauvegarder des données lorsque VDD disparaît.
  • Chien de garde indépendant
  • Chien de garde de fenêtre
  • Minuterie de base de temps système
  • Minuterie universelle ( TIMx )
  • Minuterie de contrôle avancé ( TIM1 )
  • Interface de communication: USART, I2C, SPI, CAN, USB, GPIO
  • ADC (convertisseur analogique / numérique)

Le contenu suivant sera expliqué en détail dans le cours suivant!


3.1.5 Quels sont les différents débogueurs d'émulation de STM32?

3.1.5.1, la différence et la connexion entre l'émulateur et le débogueur

  • Simulateur Le
     simulateur monopuce fait référence à un ensemble de dispositifs matériels dédiés spécialement conçus et fabriqués dans le but de déboguer le logiciel du micro-ordinateur monopuce. Comme pour la simulation logicielle, vous pouvez définir des points d'arrêt, une exécution en une seule étape et une exécution à pleine vitesse, mais chaque micro-ordinateur monopuce doit avoir un émulateur et le coût est toujours élevé!
  • Le débogueur est
       aussi un émulateur, mais tant que l'interface de débogage est la même, le débogueur peut simuler différents types de micro-ordinateurs monopuce. Quand on apprend STC51, la mesure du temps d'exécution d'un morceau de code est la fonction de débogage!

3.1.5.2 Interface de débogage STM32
(1) Protocole JTAG: L'interface JTAG standard est à 4 fils: TMS, TCLK, TDI, TDO, qui sont respectivement des lignes de sélection de mode, d'horloge, d'entrée de données et de sortie de données. La définition des broches JTAG associées est:

  • TMS: sélection du mode de test, TMS est utilisé pour définir l'interface JTAG dans un mode de test spécifique;
  • TCLK: entrée d'horloge de test;
  • TDI: entrée de données de test, les données sont entrées dans l'interface JTAG via la broche TDI;
  • TDO: sortie de données de test, les données sont sorties de l'interface JTAG via la broche TDO;

JTAG a également son propre débogueur JTAG, mais comme le montre la figure ci-dessous, JTAG nécessite un port parallèle, et maintenant la plupart d'entre eux sont des ports USB, le débogueur JTAG est donc hors de la scène et le protocole JTAG est encore largement utilisé!
Écrivez la description de l'image ici

(2) SWD: Serial Wire Debug, qui devrait être considéré comme un mode de débogage différent de JTAG, et le protocole de débogage utilisé devrait également être différent, donc il est le plus directement reflété dans l'interface de débogage, qui est la même que le 20 JTAG Comparé aux broches, SWD n'a besoin que de 4 (ou 5) broches. La structure est simple, mais le champ d'application n'est pas aussi large que JTAG. Le débogueur traditionnel est également le mode de débogage SWD ajouté plus tard. La principale caractéristique est que moins de broches GPIO sont nécessaires!
Voici le schéma d'interface de JTAG et SWD:


3.1.5.3, débogueur STM32 couramment utilisé
(1) JLINK V9 V11
J-Link est un émulateur basé sur JTAG lancé par la société allemande SEGGER. En termes simples, il s'agit d'un boîtier de conversion de protocole JTAG, c'est-à-dire d'un petit boîtier de conversion USB vers JTAG, qui consiste à convertir le port parallèle JTAG en port USB!
JLINK est un outil de développement général qui peut être utilisé sur des plates-formes telles que KEIL, IAR et ADS. La vitesse, l'efficacité et les fonctions sont toutes très bonnes, et on dit que c'est le plus puissant parmi de nombreux émulateurs. Internet est piraté, des milliers d'authentiques!
Afficher l'image source
(2) STLINK
ST-LINK est un émulateur spécifiquement pour les puces des séries STMicroelectronics STM8 et STM32.
Écrivez la description de l'image ici
(3) Le simulateur ARM général

(4) Il existe maintenant un programmeur STM32cube: Lien d'introduction

3.1.5.4, M. Zhu a quelque chose à dire sur le débogueur
(1) Le débogueur et ses idées de débogage sont utiles pour l'apprentissage et le développement
( 2) Ne vous souciez pas trop du débogueur
(3) Si vous voulez aller plus loin et plus haut, apprenez à ne pas utiliser de débogueur


3.1.6. Bibliothèque périphérique standard STM32, bibliothèque HAL, bibliothèque LL

3.1.6.1. Trois méthodes de programmation pour STM32
(1) Fonctionnement du registre
(2) Bibliothèque standard (bibliothèque périphérique standard)

  • La bibliothèque de périphériques standard STM32 est un ensemble de fonctions de micrologiciel, qui se compose de programmes, de structures de données et de macros, y compris les caractéristiques de performance de tous les périphériques du microcontrôleur.
  • La bibliothèque de fonctions comprend également la description du pilote et des exemples d'application de chaque périphérique, et fournit une API intermédiaire permettant aux développeurs d'accéder au matériel sous-jacent. En utilisant la bibliothèque de fonctions du micrologiciel, les développeurs peuvent facilement appliquer chaque matériel externe sans avoir à maîtriser les détails du matériel sous-jacent. Présumer.

(3) STM32Cube (bibliothèque HAL / bibliothèque LL)

  • La bibliothèque HAL est utilisée pour remplacer la bibliothèque périphérique standard précédente. Par rapport à la bibliothèque de périphériques standard, la bibliothèque STM32Cube HAL présente un niveau d'abstraction et d'intégration plus élevé. L'API HAL se concentre sur les fonctions de fonction communes de chaque périphérique. Cela facilite la définition d'un ensemble d'interfaces de fonction API universelles et conviviales, qui peuvent être facilement implémentées à partir de Un produit STM32 est transplanté sur un autre produit de la série STM32 différent.
  • Actuellement, ST fait principalement la promotion de la bibliothèque HAL. Actuellement, la bibliothèque HAL prend en charge la gamme complète des produits STM32.
  • ST a spécialement développé pour cela le logiciel de bureau de support STMCubeMX. Les développeurs peuvent utiliser directement le logiciel pour la configuration visuelle, ce qui économise considérablement le temps de développement. ( Je te montrerai demain! )

Bibliothèque
3.1.6.2. D'où vient la bibliothèque à partir du lien du
site Web officiel de ST


3.1.7. Présentation de la carte de développement utilisée dans ce cours

3.1.7.1. Le principe du choix d’une carte de développement
(1) Juste assez, ne cherchez pas trop le nouveau et le haut de gamme
(2) Coût performance (performance / prix)
(3) Il y a une certaine nécessité de comparaison et de référence

  • Si vous voulez apprendre de l'enseignant, il est préférable d'utiliser une carte de développement différente de lui, c'est donc la plus simple à améliorer!

3.1.7.2, la carte de développement actuelle que j'ai

(1) STM32F103C8

(2) STM32F407VET6

(3 ) Puzhong Science and Technology Development Board
3.1.7.3, la clé pour apprendre STM32
(1) Fondation: Il est préférable de connaître SCM, tant que vous connaissez le langage C!
(2) Bon cours
(3) Combinaison d'apprentissage et de pratique + une certaine patience = apprentissage inévitable

Cette leçon est terminée!


 

Je suppose que tu aimes

Origine blog.csdn.net/qq_27148893/article/details/111321089
conseillé
Classement