Ich verwende in einem meiner Projekte den TM4C1230C3PMI-Controller von Texas Instrument. Es hat 32 KB internen Flash, was für meine Anwendung nicht ausreicht. Auf dem Markt sind Mikrocontroller mit höherer Blitzgröße erhältlich, die verwendet werden können, aber ich möchte nur diesen Mikrocontroller verwenden. Meines Wissens kann ein externes EEPROM verwendet werden, um die Gesamtgröße des Flashs (Programmspeicher) zu erhöhen.
Ist mein Denken richtig?
Wenn nicht, schlagen Sie bitte vor, wie ich die Gesamtgröße des Flash-Speichers des Controllers erhöhen kann.
microcontroller
programming
memory
flash
eeprom
Sanjeev Kumar
quelle
quelle
Antworten:
Sie können den Programmspeicher (Flash) nicht erweitern. TI produziert den gleichen Chip mit doppeltem Flash und RAM, aber nichts anderes hat sich geändert: TM4C1230D5PMI .
Wenn Sie keinen Chip mit größerem Flash verwenden können, müssen Sie Ihre Codegröße reduzieren:
printf
Funktion. Aprintf
, das die Gleitkommaausgabe unterstützt, setzt Sie normalerweise um 5 KB bis 10 KB zurück.-Os
.-flto
. Sie müssen-flto
für alle Dateien sowohl die Kompilierungs- als auch die Verknüpfungsphase durchlaufen. Dies reduziert normalerweise die erzeugte Codegröße um 30% -50%.quelle
Mit dem Assembler und einer für Ihren Zweck entwickelten Forth-ähnlichen Sprache erzielen Sie möglicherweise den geringsten Software-Platzbedarf. Ein anderer ist komprimierter Maschinencode, wenn viele nahezu identische Codes vorhanden sind.
quelle