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]
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.txt · Dernière modification: 2019/03/28 14:22 de bvandepo