Topic "[Astuce STM32] Utiliser les exemples de "STM32Cube_FW_Fxxxx" avec SW4STM32 sous Linux Ubuntu (Résolution de: Invalid project path:)"

Flux RSS des posts récents dans ce topic ( Flux Atom)


Pas de photo de profil

weetoz

Membre

#122 | Signaler ce message


Bonjour à toutes et à tous,

après avoir eu quelques déboires pendant mes premiers pas avec mon Nucleo,

je voulais vous faire partager la solution.

Voici le contexte : après avoir installé SW4STM32,

j' ai ensuite télécharger une archive d' exemples chez STMicroelectronique,

"STM32Cube_FW_F3V1.4.0".

les erreurs que retourne l' onglet "Problems" de la console:

1
2
3
4
5
6
7
cannot open linker script file ..\STM32F303K8Tx_FLASH.ld: Not file or directory such
make: *** STM32F303K8_NUCLEO.elf Erreur 1
Invalid project path: Include path not found (/home/weetoz/STM32Cube_FW_F3_V1.4.0/Projects/STM32F303K8-Nucleo/Examples/GPIO/GPIO_IOToggle/SW4STM32/STM32F303K8_NUCLEO/Debug/..\..\..\..\..\..\..\..\Drivers\BSP\STM32F3xx_Nucleo_32).
Invalid project path: Include path not found (/home/weetoz/STM32Cube_FW_F3_V1.4.0/Projects/STM32F303K8-Nucleo/Examples/GPIO/GPIO_IOToggle/SW4STM32/STM32F303K8_NUCLEO/Debug/..\..\..\..\..\..\..\..\Drivers\CMSIS\Device\ST\STM32F3xx\Include).
Invalid project path: Include path not found (/home/weetoz/STM32Cube_FW_F3_V1.4.0/Projects/STM32F303K8-Nucleo/Examples/GPIO/GPIO_IOToggle/SW4STM32/STM32F303K8_NUCLEO/Debug/..\..\..\..\..\..\..\..\Drivers\CMSIS\Include).
Invalid project path: Include path not found (/home/weetoz/STM32Cube_FW_F3_V1.4.0/Projects/STM32F303K8-Nucleo/Examples/GPIO/GPIO_IOToggle/SW4STM32/STM32F303K8_NUCLEO/Debug/..\..\..\..\..\..\..\..\Drivers\STM32F3xx_HAL_Driver\Inc).
Invalid project path: Include path not found (/home/weetoz/STM32Cube_FW_F3_V1.4.0/Projects/STM32F303K8-Nucleo/Examples/GPIO/GPIO_IOToggle/SW4STM32/STM32F303K8_NUCLEO/Debug/..\..\..\Inc). 

Cette dernière présente un défaut sous Linux en relation avec les chemins d' inclusion ( Include ).

Ce problème sera corrigé lors de la prochaine release, la société STMicroelectronique suit de près ces p' tits bébés.

D' ailleur, j' en profite pour remercier Tarek BOUCHKATI de chez STMicroelectronic.

Pour la forme, je vous présente la marche à suivre pour arriver au p' tit souci :

Décompactez l' archive STM32Cube_FW_F3V1.4.0 dans le répertoire de votre choix,

pour l' exemple, nous utiliserons l' exemples GPIO_IOToggle.

Ouvrez le répertoire ( avec Nautilus par exemple ) où vous avez décompressé l' archive,

et rendez-vous ici :

/ STM32Cube_FW_F3V1.4.0/Projects/STM32F3yyyy/Examples/GPIO/GPIO_IOToggle

yyyy représente le modèle de votre carte, exemple STM32F303K8-Nucleo en ce qui me concerne.

-Dans le répertoire « Projects » vous trouverez toutes un ensemble de modèles de cartes type

F3 ( à base de Cortex M4).

L' archive contiens des dossiers et fichiers cachés,

cliquez sur affichage->Afficher les fichiers cachés,

ou Ctrl+H.

Le répertoire comporte plusieurs sous-répertoires :

EWARM

Inc

MDK-ARM

RemoteSystemsTempFiles

Src

SW4STM32

.metadata

ainsi que le fichier readme.txt

Dans SW4STM32, cliquez sur

« File » -> « Switch workspace » → « Other », dans la boite de dialogue,

cliquez sur « Browse ». Rendez-vous à nouveau dans :

/ STM32Cube_FW_F3V1.4.0/Projects/STM32F3yyyy/Examples/GPIO/GPIO_IOToggle

Eclipse va redémarrer dans le workspace que vous lui avez indiqué.

Il faut maintenant importer le projet :

cliquez sur « File » → « import… », dans la boite de dialogue qui vient d' apparaitre,

cliquez sur :

General → Existing Projects into Worspace, cliquez sur Next .

Une nouvelle boite de dialogue apparaît, par défaut,

le curseur de votre clavier se trouve dans le champ de Select root_directory,

à sa droite cliquez sur Browse… puis validez.

Après quelques secondes, dans la console vous allez voir apparaître une série d' avertissements,

c' est le fameux problème au quel il faut remédier.

Si ce n' est pas le cas, dans la fenêtre « Projects exploreur »

cliquez sur le petit triangle à gauche de « STM32F303K8_NUCLEO » ( ou selon la carte sélectionnée.)

puis déroulez « Example » → User et double cliquez sur main.c, normalement, dans la fenêtre console,

onglet « Problems » devraient apparaître les erreurs/avertissements.

Retournez dans Nautilus ( ou votre explorateur de fichier préféré,

à condition qu' il puisse afficher les fichiers cachés).

Rendez-vous dans le répertoire SW4STM32

( / STM32Cube_FW_F3V1.4.0/Projects/STM32F3yyyy/Examples/GPIO/GPIO_IOToggle/SW4STM32).

Vous y trouverez un répertoire portant le nom de votre carte, ouvrez le.

Vous y trouverez un fichier nommé .cproject,

c' est dans ce fichier qu'il faut modifier les chemins d' « Include », plus précisément,

il faut remplacer tout les \ par des / .

Il faut ouvrir .cprojects avec un éditeur de texte qui a la fonction rechercher/remplacer,

perso j' ai utilisé Geany car on peu remplacer toutes les occurrences en une seule fois,

mais à peu près tout les éditeurs de textes le font. Donc Ctrl+H, et faite les remplacements,

assurez-vous de ne pas en oublier, et une fois fini, enregistrez le fichier et fermez l' éditeur de texte.

Retournons dans Nautilus, il est fort à parier que le répertoire « Debug » n' y figure pas,

dans ce cas créez le.

Maintenant, allons dans SW4STM32, au niveau de la console ( en bas de la fenêtre),

Sur la liste d' erreurs, faites un clic droit et sélectionnez « clear ».

Dans l' explorateur de projet, faite un clique gauche sur «  STM32F3yyyy » pour le mettre en surbrillance,

puis clique droit, index, Rebuild.

Ceci étant fait, il ne reste plus qu' à générer le fichier binaire :

Vous pouvez cliquer sur l' icône « Marteau » en haut de la fenêtre principale.

Normalement, vous ne devriez plus voir apparaître de message d' erreurs.

Retournez dans votre explorateur de documents (nautilus), ouvrez le fichier « Debug » que vous avez créé,

et vous y trouverez votre fichier binaire qu' il ne restera plus qu' à faire glisser dans votre carte.

Par la suite, lorsque vous allez modifier votre programme, à force d' y « glisser / déposer » vos binaires,

l' explorateur de fichier peut finir par vous dire que la copie est impossible, dans ce cas,

la solution est très simple :

Débranchez et rebranchez votre carte, et normalement, c' est réglé.

Par contre, il faut le faire régulièrement. ( à chaque fois que l' explorateur vous fait de la misère) .

En espèrant vous avoir été utile.

Weetoz.

Derniére modification le par weetoz