Premier projet pour les microcontrôleurs STM32 avec HAL en C++
Je voudrais créer un projet pour les microcontrôleurs STM32 avec HAL en C++.
Malheureusement, CubeMX prend uniquement en charge les projets en C. Cependant, HAL support C++.
J'ai créé un projet dans CubeMX et j'ai essayé de l'importer à l'une quelconque des IDEs ci-dessus, mais sans succès car il est importé dans un projet C. Donc, il ne me semble pas une bonne solution.
Aussi, j'ai essayé de créer un projet C++ en l'IDE et en ajoutant des fichiers à partir de CubeMX. Il semble plus logique, mais je ne peux pas le faire de la bonne façon car ma configuration est toujours mal.
Quelqu'un pourrait-il m'expliquer comment dois-je configurer de nouveaux projets C++ sous Eclipse ou Atollic TrueSTUDIO afin d'utiliser HAL?
- Question trop générique, insérer quelques détails. Qu'avez-vous essayé?
- Google m'a aidé à trouver un stm32 connexes page qui utilise eclipse.<br> <a href="Link" >carminenoviello.com/en/2015/06/04/... pour tutoriel</a>
- N'utilisez pas le STlib ("HAL"). Il ist juste gonfler, mais ne garantit pas une véritable abstraction du matériel. Il ajoute une autre couche de complexité. Vous avez encore de connaître le matériel et avoir la ref-l'homme à la main, mais avec HAL, vous devez apprendre que trop et en plus de savoir comment se traduit par le matériel. Au lieu d'encapsuler matériel accède à des pilotes avec votre propre interface.
- Ne pas vraiment écouter à l'Olaf. HAL est très bonne et propre. Même si vous devez toujours tenir ref-homme pendant le développement de quelque chose. HAL permet d'économiser votre temps beaucoup si vous LISEZ quelqu'un d'autre code. Même si quelqu'un qui est en vous-même, mais il y a un moment)
Vous devez vous connecter pour publier un commentaire.
Les versions récentes de CubeMX Système de soutien Workbench 4 STM32, qui est basé sur Eclipse IDE pré-configuré pour développer pour les microcontrôleurs STM32 cibles. Il a la possibilité de convertir un projet C++ (clic Droit sur le projet dans l'explorateur de projet, puis sélectionnez "Convertir en C++").
Noter que je n'ai pas d'expérience directe à l'aide de cette méthode. Nous utilisons la STM HAL et de construire nos applications C++ sur le dessus de cela, donc ce n'est certainement possible, mais notre IDE est Keil, donc YMMV.
Comment convertir un STM32CubeMX généré Atollic Eclipse projet C à C++ (3 étapes):
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
Voir http://www.openstm32.org/forumthread1244. Cela peut être fait lors de l'Éclipse est en cours avec le projet ouvert. Résultat: main.cpp compile mais il ne peut pas trouver les fichiers d'inclure parce que le comprennent les chemins sont mauvais. Vous pensez rpcnature aurait été un meilleur nom.
Edit: la recherche d'aide Eclipse pour "C++ nature" pour des conseils sur comment ajouter C++ de la nature à l'aide du menu Fichier /Nouveau /Autre /Convertir en C/C++ Projet.
defined extern "C"
Deux .c latérale côté est d'appeler une fonction de callback définie dans un .rpc (modifier la définition de la fonction sur la .rpc côte à pré-en attendantdefined extern "C"
.Quelques remarques:
Place à l'amélioration: Il y a peut être un CubeMX modèle qui pourrait être modifié afin de rendre ces modifications de manière plus automatique, mais je ne sais pas assez sur CubeMX modèles pour faire ce hack plus élégant.
- Je utiliser CubeMX avec IAR EWARM trop et passer par le même (mais un peu plus facile) pour convertir un .rpc projet.
Selon le STM32 puce il est, il peut être pris en charge par mBed. En ligne mBed compilateur permet l'exportation à une variété de IDEs. Le nouveau carnet d'un (yotta) utilise cmake qui peut l'exportation de certaines IDEs trop. Malheureusement yotta prend en charge uniquement un couple de frites à l'instant.