Cours dispensé à l'IUT de l'Indre sur la base des systèmes à microprocesseur
Objectif principal : démystifier le travail du compilateur en analysant le résultat de compilation d'un programme à l'issue de quelques séances de programmation en assembleur IA32.
Généralités sur les périphériques du STM32Hajer Dahech
Lien Téléchargement pptx https://hajereducation.tn/peripheriques-stm32-simple-resume-presentation-powerpoint/
Généralités sur les périphériques du STM32
Merci , Thanks For watching Video
=====Subscribe == S'abonner
Playlist :STM32 :vidéos+Files+Code
Cours dispensé à l'IUT de l'Indre sur la base des systèmes à microprocesseur
Objectif principal : démystifier le travail du compilateur en analysant le résultat de compilation d'un programme à l'issue de quelques séances de programmation en assembleur IA32.
Généralités sur les périphériques du STM32Hajer Dahech
Lien Téléchargement pptx https://hajereducation.tn/peripheriques-stm32-simple-resume-presentation-powerpoint/
Généralités sur les périphériques du STM32
Merci , Thanks For watching Video
=====Subscribe == S'abonner
Playlist :STM32 :vidéos+Files+Code
La famille STM32 est une série de microcontrôleurs 32-bits en circuits intégrés réalisés par la société Franco-Italienne STMicroelectronics. Les puces STM32 sont regroupées dans différentes séries proches, basées sur les processeurs d'architecture ARM 32-bits, tels que le Cortex-M7F, le Cortex-M4F, le Cortex-M3, Cortex-M0+, ou le Cortex-M0. Chaque microcontrôleur est constitué d'un cœur de calcul, de mémoire vive (RAM) statique, de mémoire flash (pour le stockage), d'une interface de débogage et de différents périphériques1.
Le STM32 F4 comporte un Cortex-M4F, un DSP et un FPU. Il est notamment complètement géré par le système libre temps-réel ChibiOS/RT.
L'ensemble des microcontrôleurs peuvent également être programmés à l'aide de l'IDE d'Arduino.
l existe différents types de cartes compatibles Arduino basées sur le STM32. La série Nucleo a été conçue par STMicroelectronics à cet effet. D'autres constructeurs ont également fait des cartes compatibles utilisant ce SoC sous divers noms. Cela permet de l'utiliser comme contrôleur de machine-outil à commande numérique (CNC en anglais). des logiciels tels que Grbl permettent de contrôler des machines de fraisage2, auxquelles notamment les imprimantes 3D ou imprimantes de découpe laser se rapprochent. Permettant ainsi de rendre accessible ce type de machines traditionnellement très onéreuse à des fab lab et amateurs éclairés.
Les cartes Stm32 Nucleo, supportent une compatibilité avec les cartes Arduino, bien que basées sur des microcontrôleurs ARM Cortex-M (32 bits) et non Atmel AVR (8 bits) comme utilisés dans les cartes Arduino standard. Il ajoute ainsi à Arduino de bonnes performances graphiques en y ajoutant l'accélérateur graphique Chrom-ART (fourni avec une bibliothèque open source), orienté affichage TFT (ou plus généralement, écran à cristaux liquides), et comportant pour cela une interface MIPI DSI
Les STM32 F4 et supérieurs possédants un DSP, ils sont adaptés à l'usage pour le son. La carte synthétiseur Axoloti est un exemple d'application dans le domaine du son.
Le logiciel de synthétiseur analogique libre, Mozzi pour Arduino peut être utilisé directement sur les STM32, en particulier sur la carte à bas prix, STM32F103C8T6 blue pill board (dans les 2€), sans besoin d'un véritable DAC Ce processeur est utilisé comme processeur principal et contrôleur de vol dans les drones quadrirotors de course et acrobatiques utilisés en pilotage en immersion (FPV, généralement DIY (artisanaux). Il offre plus de puissance de calcul que les autres contrôleurs utilisés dans ce type de drone, tel que les Atmel AVR et le Microchip PIC, tous deux des processeurs 8 bits5,6. Les séries F1 F3 F4 et F7 peuvent en être utilisés dans ce domaine7. Les STM32 de la série F4 en particulier, ont un certain succès dans ce domaine (où il est généralement appelé F48), il est notamment utilisé par les drones de Quantum Systems9, mais également sur les « cartes de vol » (cartes contrôleur) de différents constructeurs
Les conséquences de la pollution citées dans le texte comprennent le réchauffement climatique, la détérioration de l'environnement, des déséquilibres écologiques, des maladies liées à la pollution de l'air, la fragilisation des organes respiratoires (poumons, gorge, bronches), et la pollution de l'eau causant des dommages aux écosystèmes aquatiques. De plus, le texte souligne que certains matériaux tels que le plastique, les métaux et le verre ne sont pas biodégradables, entraînant des déchets persistants dans l'environnement.
Formation en Informatique
A l’issue de ce module les participants seront capable de déterminé :
C’est quoi l’informatique?
La définition d’un ordinateur
Quel sont les types des ordinateurs?
De quoi se compose un ordinateur?
Notion de périphérique
Les périphériques d’entée sortie
Déterminé les composants de la carte mère
Le microprocesseur, La mémoire Cache, chipset, La barrette mémoire, La carte, Graphique, Le Bios, les Bus, Les Slots d'extension, Les Ports.
Lien du cours sur Youtube : https://www.youtube.com/watch?v=HjtLDW9vV_E&list=PLGwT36ygpvUojaKMltYo0LPPpQlo4n1gv&index=6 , https://www.youtube.com/watch?v=rYg9dzevbcA&list=PLGwT36ygpvUojaKMltYo0LPPpQlo4n1gv&index=7
4. Types d’Instructions
Instructions Générales
Instructions de transfert de données.
Instructions d’opérations arithmétiques et logiques.
Instructions de conditions et de contrôle de flux.
Instructions d’appels de fonctions et de gestion de la pile.
Instructions des chaînes de caractères (x86 seulement).
Instructions d’entrées/sorties (x86 seulement).
Instructions d’appels aux interruptions.
5. Types d’Instructions
Instructions FPU (Floating-Point Unit)
Arithmétique à virgules flottantes.
Utilise des registres spécialisés.
Le type float dans C.
7. Types d’Instructions
Instructions de cryptage.
Principalement AES (Cryptage symétrique) et SHA (Fonction de
hashage pour la signature).
Ils exploitent les registres SIMD pour de meilleurs
performances.
8. Types d’Instructions
Instructions de synchronisation.
Protection contre les accès simultanés des threads à la
mémoire.
Intel TSX.
ARM Synchronization Instructions.
9. Types d’Instructions
Instructions de sécurité et d’isolation.
Intel MPX, VMX, SMX, SGX.
ARM MTE, ARM MSPLIM_S, ARM PSPLIM_S,
ARM VMSA, ARM PMSA.
Instructions du système d’exploitation
10. Types d’Instructions
Instructions de debug.
Suivi du déroulement interne d’une application pour
le débogage.
Gestion des points d’arrêts (Breakpoints).
Instructions du système d’exploitation
11. Types d’Instructions
Instructions du système d’exploitation
Instructions de gestion d’interruptions.
Configuration de la table de descripteur
d’interruption
12. Types d’Instructions
Instructions du système d’exploitation
Instructions systèmes
Instructions spécialisées pour le fonctionnement
interne du système d’exploitation.
Gestion des tâches.
Initialisation de CPU.
13. Types d’Instructions
Instructions du système d’exploitation
Instructions de lecture et d’écriture de registres spéciaux
Configuration OS et CPU (Gestion du cache mémoire, Gestion de
l’alimentation et de la température)
Suivi d’état de la machine (Suivi des performances, des erreurs de la
machine).
Instructions Intel RDMSR, WRMSR.
Instructions ARM MSR/MRS.
24. Compilateur et architectures de
microprocesseur
Optimisation automatique
par le compilateur
Le compilateur reconnait l’expression et la transforme en
une seule instruction REV16
25. Compilateur et architectures de
microprocesseur
Optimisation manuelle pour la plateforme
cible par le programmeur
En cas de manque de correspondance directe entre le
langage de programmation et l’instruction assembleur
optimisée
__SADD est une intrinsic
ARM
https://developer.arm.com/documentation/dui0205/g/arm-compiler-
reference/compiler-specific-features/intrinsic-functions