Pour un projet, jai besoin de mémoire externe. Je suis allé chercher 1 Mo de SRAM.

Jutilise un STM32 et jai découvert le FSMC. Jai eu du mal à comprendre le but de cela.

Ce que jai lu à ce sujet ma conduit au fait quen lutilisant, il vous donne un emplacement mémoire direct. Vous pouvez donc écrire en mémoire sans avoir à piloter les broches spécifiques (comme CE, OE, WE …). Il vous permet également décrire / lire sur SRAM sans avoir à utiliser les registres décriture GPIO, vous êtes donc beaucoup plus rapide. (bien sûr, il y a beaucoup plus davantages). Si jai raison, je suppose que cest une très bonne idée de lutiliser.

Ai-je raison de penser comme ça? Est-ce que je me suis complètement trompé?

Commentaires

  • Quavez-vous lu? Avez-vous lu le document dédié ?
  • Plus vite? Non ..
  • Le fait que le FSMC fournisse un avantage dépend du STM32 que vous utilisez. Par exemple, il ne serait utilisé sur aucun des produits de la ligne de valeur (basé sur M2), mais il fournirait une valeur élevée ligne de performance avec le bus AHB. Vous ne fournissez aucun détail sur votre configuration, il est donc ' impossible de vous aider.
  • @JackCreasey " M2 basé "? Je ' ne sais pas ce que vous ' on fait référence ici; il ny a pas de Cortex-M2. Tous les microcontrôleurs STM32 ont un AHB, mais tous ne prennent pas en charge FSMC.
  • @duskwuff Désolé ..typo … signifiait basé sur M3.

Réponse

Ai-je raison de penser comme ça? Est-ce que je me suis complètement trompé?

FSMC peut être utilisé pour stocker des données dans une configuration volatile. Certains STM32 (pas tous) ont FSMC mappé à un espace dadressage (à 0x60000000). Lutilisation dune SRAM série est préférable pour stocker des données auxquelles vous navez pas besoin daccéder rapidement. Si vous lutilisez pour des valeurs courantes lors de lexécution, cela pourrait ralentir considérablement votre programme.

Vous devez toujours configurer les broches pour une utilisation avec FSMC, faire le tour de linterface et la tester.

Commentaires

  • Salut @ laptop2d Bien sûr, je veux juste utiliser pour stocker les données dune caméra afin que je puisse les traiter plus tard, et pour certaines images pour un écran TFT. Jai compris que le FSMC fournit un emplacement de mémoire afin quil se comporte comme une écriture dans la RAM interne du MCU du côté de la programmation. Si je comprends correctement, laisser le FSMC contrôler automatiquement toutes les broches du matériel est beaucoup plus rapide pour le MCU que dessayer de piloter manuellement toutes les broches de commande, nest-ce pas? Btw i ' m en utilisant un MCU STM32L496ZG et cette SRAM: cypress.com/file/43811/download
  • Vous pouvez lutiliser comme une rom et compter sur sa lenteur, mais ce serait dans lespace dadressage et volatile. Cela signifie que si vous deviez lutiliser pour un écran TFT et que vous deviez récupérer limage souvent, vous auriez un délai à chaque fois que vous récupériez limage. Le FMSC peut être un peu plus rapide, mais toujours beaucoup plus lent que la RAM car les données sont envoyées en série. meta.stackexchange.com/questions/126180/…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *