J'utilise le contrôleur TM4C1230C3PMI de Texas Instrument dans l'un de mes projets. Il dispose de 32 Ko de flash interne, ce qui n'est pas suffisant pour mon application. Des microcontrôleurs de taille flash plus élevée sont disponibles sur le marché et peuvent être utilisés, mais je souhaite utiliser uniquement ce microcontrôleur. Selon ma connaissance, l'EEPROM externe peut être utilisée pour augmenter la taille totale du flash (mémoire de programme).
Ma pensée est-elle correcte?
Sinon, veuillez suggérer comment puis-je augmenter la taille totale de la mémoire flash du contrôleur?
microcontroller
programming
memory
flash
eeprom
Sanjeev Kumar
la source
la source
Réponses:
Vous ne pouvez pas étendre la mémoire du programme (flash). TI produit la même puce avec le double du flash et de la RAM, mais rien d'autre n'a changé: TM4C1230D5PMI .
Si vous ne pouvez pas utiliser une puce avec un flash plus grand, vous devrez réduire la taille de votre code:
printf
fonction coûteuse . Unprintf
qui prend en charge la sortie à virgule flottante vous ramènera généralement autour de 5 Ko-10 Ko.-Os
.-flto
. Vous devez passer-flto
aux étapes de compilation et de liaison, pour tous les fichiers. Cela réduit généralement la taille du code produit de 30% à 50%.la source
Vous pouvez obtenir la plus petite empreinte logicielle en utilisant l'assembleur et un langage semblable à Forth conçu pour votre usage. Un autre est le code machine compressé s'il y a beaucoup de code presque identique.
la source