2017-09-04 2 views
1

Je travaille avec la série STM32F30x pendant un certain temps et je suis habituée au système de fichiers à la recherche quelque chose comme ceci:Les bibliothèques de niveau supérieur sont-elles inutiles pour STM32F042?

inc/ 
---*.h 
lib/ 
---CMSIS/ 
---STM32F30x_StdPeriph_Driver/ 
------inc/ 
------scr/ 
---STM32_USB-FS-Device-Driver/ 
------inc/ 
------scr/ 
src/ 
---*.c 
usb/ 
---inc/ 
------ hw_config.h 
------ *.h 
---scr/ 
------ hw_config.c 
------ *.c 

Maintenant, je passe à travailler avec un STM32F042 et je suis tout à fait incapable de trouver la bibliothèque USB avec les fichiers et USB pour HW Config ma configuration est comme ceci:

inc/ 
---*.h 
lib/ 
---CMSIS/ 
---STM32F0xx_StdPeriph_Driver/ 
---STM32_USB-Device-Driver/ 
------inc/ 
------scr/ 
---STM32_USB-Device-Library/ 
------Class/ 
------Core/ 
src/ 
---*.c 

J'ai toujours pensé ces usb/bibliothèques ont été nécessaires pour utiliser le périphérique USB. Cela n'est-il plus vrai pour la série STM32F042? Ou dois-je comprendre comment écrire mes propres versions de ces fichiers? Je n'ai pas été en mesure de trouver des exemples de travail de la STM32F042 en utilisant USB, donc je suis un peu à perte.

+1

Je n'ai aucune utilité pour ces bibliothèques donc je ne les connais pas très bien. La partie contient une interface USB comme vous le savez bien. il n'est pas rare qu'ils réutilisent le même périphérique à travers les familles. pas toujours un emprunt parfait d'une famille antérieure parfois l'horloge/pll de A est mélangé avec les minuteurs et les uarts de la famille B. Alors d'abord, vous devriez demander ST pas SO. Regardez d'abord les fiches techniques de vos deux parties et voyez si les spécifications du registre périphérique USB sont très similaires, sinon voyez s'il existe un autre périphérique stm32 avec un support de bibliothèque et des registres correspondants, et empruntez ce code. –

+0

Si vous avez l'habitude d'utiliser ces librairies, le périphérique USB est le dernier avec lequel vous voulez sortir et faire votre propre driver. Il n'y a aucun doute open source ou d'autres bibliothèques qui supportent cette instanciation de ce périphérique. Et très peu probable que ST n'ait pas de support de bibliothèque pour cela. –

+0

SPL est mort depuis des années et n'est pas supporté par STM. Utilisez HAL à la place. USB et Ethernet sont assez difficiles à programmer les périphériques –

Répondre

3

Au contraire; ST aimerait que vous utilisiez leur even higher level library!

Cependant, la bibliothèque que vous recherchez mais que vous ne pouvez pas trouver est clairement disponible pour cette partie au STM32F042 product page. Faites défiler jusqu'à la section Embedded Software téléchargements ou recherchez la page "STM32F0x2xx USB FS bibliothèque de périphériques (UM1717)" ou utilisez le lien direct STSW-STM32092. Il comprend des exemples. Cependant, ST aimerait vraiment que vous passiez de leur support logiciel existant à STM32Cube. Personnellement, je n'aime pas STM32Cube (encore plus que je n'aime pas les bibliothèques SPL et USB) pour un certain nombre de raisons. Malheureusement, ST est réticent à traiter les bogues dans le support hérité et dans mon expérience, la plupart de leurs bogues sont dans le code USB, beaucoup plus complexe que pour la plupart des autres périphériques, mais ils sont beaucoup plus faciles à intégrer dans les logiciels existants. à Cube et vous enfermer dans ST pour toujours (ce qui est bien sûr leur but sans aucun doute).