Outils pour utilisateurs

Outils du site


tns_nucleo

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tns_nucleo [2018/03/28 14:40]
bvandepo [Génération du squelette de code]
tns_nucleo [2019/03/28 14:22] (Version actuelle)
bvandepo
Ligne 1: Ligne 1:
 +
 +{{http://​homepages.laas.fr/​bvandepo/​files/​iut/​tp_pic/​warning.jpeg}}
 +<color red>
 +A FAIRE A LA FIN DE CHAQUE SEANCE POUR COPIER VOS FICHIERS SUR UN DISQUE PARTAGE (ET PERMETTRE LA RECUPERATION DES FICHIERS SI UN MEMBRE DU BINOME EST ABSENT)
 +
 +copier coller dans une console:
 +</​color>​
 +  rsync -av --delete ~/​workspace_ac6 /mnt/etu/s4
 +
 +<color red>
 +et completer la ligne en appuyant 3 fois sur la touche Tabulation, puis entrée.
 +
 +
 +</​color>​
 +
 +
 +
 ====== Mise en place du projet architecture pour le TNS sur plateforme Nucléo ====== ====== Mise en place du projet architecture pour le TNS sur plateforme Nucléo ======
  
Ligne 63: Ligne 80:
   Help -> Updater Settings ...   Help -> Updater Settings ...
   ​   ​
-et modifier le chemin intitulé "​Repository Folder"​ en "/​opt/​STM32/​STM32Cube/​Repository"​+et modifier le chemin intitulé "​Repository Folder"​ en "/​opt/​STM32/​STM32Cube/​Repository" ​(en copiant collant du caractère / au caractère y inclus)
  
 {{ ::​modify_respository.png?​600 |}} {{ ::​modify_respository.png?​600 |}}
Ligne 137: Ligne 154:
 Dans ce panneau, l'​utilisateur a accès aux différents périphériques listés dans les catégories : Connectivity,​ Analog, System, Control. Dans ce panneau, l'​utilisateur a accès aux différents périphériques listés dans les catégories : Connectivity,​ Analog, System, Control.
  
-Dans notre cas, il est nécessaire de : +Dans notre cas, il est nécessaire de configurer
-  * Configurer ​l'ADC pour la conversion sur la canal 1 avec un déclenchement en logiciel +  * l'ADC pour la conversion sur la canal 1 avec un déclenchement en logiciel 
-  * Configurer ​le timer pour la génération d'une interruption toutes les N µs +  * le timer pour la génération d'une interruption toutes les N µs 
-  * Configuration du NVIC (Nested Vectored Interrupt controller) pour la prise en charge de l'​interruption timer +  * le NVIC (Nested Vectored Interrupt controller) pour la prise en charge de l'​interruption timer 
-  * Configuration du DAC  +  * le DAC  
-  * Configuration de la liaison série en 115200bauds+  * la liaison série en 115200bauds
  
  
Ligne 155: Ligne 172:
  
 ==== Configuration du Timer 1 ==== ==== Configuration du Timer 1 ====
 +Cliquer sur l'​onglet Clock Configuration pour visualiser les différentes horloges disponibles. Repérer l'​horloge utilisée pour cadencer le TIMER1.
  
  
Ligne 170: Ligne 188:
 {{ ::​timer_base_config.png?​600 |}} {{ ::​timer_base_config.png?​600 |}}
 <color red> auto-reload preload ? up ? </​color>​ <color red> auto-reload preload ? up ? </​color>​
-Dans notre cas, nous voulons générer des évènements à la fréquence de 24kHz.+Dans notre cas, nous voulons générer des évènements à la fréquence de 48kHz.
  
  
Ligne 194: Ligne 212:
            ARR = 16/32-bit Autoreload register            ARR = 16/32-bit Autoreload register
            RCR = 16-bit repetition counter            RCR = 16-bit repetition counter
 +exemple de la doc:
   TIM_CLK = 72 MHz   TIM_CLK = 72 MHz
   Prescaler = 1   Prescaler = 1
Ligne 205: Ligne 223:
 En fait l'​horloge d'​entrée qui cadence TIM1 est à 64Mhz  (voir l'​onglet Clock Configuration dans l'​appli) En fait l'​horloge d'​entrée qui cadence TIM1 est à 64Mhz  (voir l'​onglet Clock Configuration dans l'​appli)
 Pour les 48Khz demandés sur le sujet: Pour les 48Khz demandés sur le sujet:
-il faut un facteur de division de 64.10^6 / 24.10^3 = 1333.3333+il faut un facteur de division de 64.10^6 / 48.10^3 = 1333.3333
  
 je peux régler ​ je peux régler ​
   Prescaler = 0   Prescaler = 0
   Counter mode = Down   Counter mode = Down
-  Counter Period = 1333+  Counter Period = round(1333.3333)-1 = 1332
   Internal Clock Division = No Division   Internal Clock Division = No Division
   Repetition Counter RCR = 0   Repetition Counter RCR = 0
Ligne 256: Ligne 274:
  
  
-A la première génération de code, il vous compléter les attributs de génération de code (chemin, outils de développement ...). +A la première génération de code, il vous faut compléter les attributs de génération de code (chemin, outils de développement ...). 
 <color red> <color red>
 Dans le cadre de ce TP il vous utiliser le dossier : Dans le cadre de ce TP il vous utiliser le dossier :
 </​color>​ </​color>​
    /​home/​IUT/<​identifiant étudiant>/​workspace_ac6    /​home/​IUT/<​identifiant étudiant>/​workspace_ac6
-   + 
 +Par exemple, si votre login est abc123b, vous devez régler: 
 +  Project Name: nucleo_tns 
 +  Project Location: /​home/​IUT/​abc123b/​workspace_ac6 
 +  Toolchain/​IDE:​ SW4STM32
        
 {{ ::​config_gen_code.png?​600 |}} {{ ::​config_gen_code.png?​600 |}}
Ligne 271: Ligne 293:
  
  
-Afin de lancer l'IDE SystemWorkbench,​ il vous faut taper dans une console :+Afin de lancer l'IDE SystemWorkbench,​ il vous faut lancer ​dans une console :
  
   /​opt/​STM32/​SystemWorkbench/​eclipse   /​opt/​STM32/​SystemWorkbench/​eclipse
Ligne 310: Ligne 332:
  
 {{http://​homepages.laas.fr/​bvandepo/​files/​iut/​tp_tns/​TODO.jpg}} ​ **Lire le code généré et faire le lien avec la configuration saisie dans l'​outil STM32CubeMX.** {{http://​homepages.laas.fr/​bvandepo/​files/​iut/​tp_tns/​TODO.jpg}} ​ **Lire le code généré et faire le lien avec la configuration saisie dans l'​outil STM32CubeMX.**
- 
- 
-=====Projet C++===== 
- 
-Fermer les outils eclipse et STM32CubeMX. 
- 
-===Récupération du projet de base et Initialisation du système de gestion de version en local=== 
-Copier/​coller dans une console: 
-  echo commence 
-  mv ~/​workspace_ac6 ~/​workspace_ac6_etu 
-  cd ~/ 
-  mkdir -p ~/​workspace_ac6 
-  cd ~/​workspace_ac6 ​ 
-  wget http://​homepages.laas.fr/​bvandepo/​files/​iut/​tp_tns/​nucleo_tns_etu2018.zip 
-  echo fini 
-  ​ 
-  ​ 
-lancer eclipse: 
-  /​opt/​STM32/​SystemWorkbench/​eclipse  ​ 
- 
-cliquer à gauche sur l'​icone C/C++ 
- 
-click droit dans project Explorer->​Import,​ General->​Existing Projects into Workspace 
- 
-Next 
- 
-Select archive file,  Browse 
- 
-choisir /​home/​.../​workspace_ac6/​nucleo_tns_etu2018.zip 
- 
- 
-Finish 
- 
- 
-===initialisation système de gestion de version=== 
-#unzip nucleo_tns_etu2018.zip 
-  #rm  nucleo_tns_etu2018.zip 
-  cd ~/​workspace_ac6/​nucleo_tns/​ 
-  git init 
-  git add * 
-  git commit -m'​initial version'​ 
-  gitk  
-  ​ 
-  ​ 
  
 === Compléter le code  ... === === Compléter le code  ... ===
Ligne 418: Ligne 396:
  
 Le logiciel va vous proposer d'​ouvrir la "​perspective"​ de Debug (agencement des fenetres facilitant le Debug), répondre "​ok"​. Par défaut le programme est arreté sur la première ligne de la fonction main, vous pouvez ensuite lancer l'​exécution en appuyant sur F8 ou faire du pas à pas en utilisant F5 et F6. Le logiciel va vous proposer d'​ouvrir la "​perspective"​ de Debug (agencement des fenetres facilitant le Debug), répondre "​ok"​. Par défaut le programme est arreté sur la première ligne de la fonction main, vous pouvez ensuite lancer l'​exécution en appuyant sur F8 ou faire du pas à pas en utilisant F5 et F6.
 +
 +
 +  ​
 +
 +
  
  
tns_nucleo.1522240817.txt.gz · Dernière modification: 2018/03/28 14:40 par bvandepo