2017-04-26 4 views
-1

J'essaie d'apprendre et de maîtriser le C embarqué, donc j'allais juste tester un code que j'ai trouvé sur Github, qui est construit pour la carte de découverte STM32F4. Le forum sur lequel je travaille actuellement est STM32L152. quand j'ai essayé de construire/exécuter le code (évidemment cela ne marchera pas) les erreurs que j'obtiens sont principalement liées à des fonctions non définies ou "identificateur 'nom_fonction' est indéfini", notez que le fichier de code inclut un bibliothèque (lib). jetez un oeil au fichier de code: https://github.com/TDAbboud/STM32F4_Examples/tree/master/04_PWM_ServoModification du code C de stm32F à stm32L

En règle générale, Quelles modifications doivent être effectuées pour exécuter avec succès le code sur STM32L1?

Merci

+2

Beaucoup trop large .. –

Répondre

1

Ce sont deux puces différentes. Tout simplement parce qu'ils proviennent de ST parce qu'ils sont basés sur ARM, ils ne sont pas la même puce. pour commencer, le stm32f4 est un cortex-m4, le stm32l peut ne pas être, 99,9% de votre code ne se soucie pas, juste un peu de montage. si le stm32l est un cortex-m0 alors vous avez beaucoup moins d'instructions donc l'assemblage aura de l'importance si c'est un cortex-m3 alors ça ne va pas.

Le vrai isssue est des périphériques pas que ce soit deux puces pas que ce soit deux puces de bras, les périphériques peuvent/vont varier. ST a un certain nombre de puces qui utilisent le même uart ou même gpio ou autre, mais ils ont plus d'un uart qu'ils utilisent pour les puces STM32, et plus d'un GPIO. Et ils mélangent et assortissent comme ils font de nouveaux jetons, donc si vous voulez mettre en communication de l'un à l'autre vous devez aller périphérique en lisant les docs nouveaux et anciens pour voir si quelque chose a changé.

On dirait que vous utilisez une bibliothèque pour que l'outil sache à partir de la puce que vous avez choisie quels périphériques vous avez et quelle bibliothèque vous avez besoin, donc il peut ne pas les trouver parce que pour cette puce et ce ceux définis ne s'appliquent pas. Prenez-le un paraderal à la fois et le port entre les morceaux.