Gast
#2477932
Hallo zusammen Da mein Flash langsam uberquillt frage ich mich wo ich optimieren soll ;-) Ja ich weiss ich könnte einen grösseren Stein nehmen. Kann mir jemand sagen was mit der Compiler Aussage gemeint ist.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Wenn ich es richtig verstehe dann ist Programm: --> Flash .data der Maschinencode des Programms. .bootloader der Maschinencode des Bootloaders .text --> Sind das const deklarierte Variabeln? Data:--> RAM .data temporäre Variabeln die als zB. als auto deklariert wurden. statische Variabeln die als static deklariert wurden Sie bleiben aber dauerhaft im RAM .bss --> ? .noint --> ? Den Bedarf des Stack sehe ich nicht da er zur Laufzeit belegt wird. --> richtig? Wie kann ein Überlaufen des RAM zur Laufzeit erkannt werden bzw. geloggt :-) Wenn das richtig ist könnte ich const definierte Variabeln ins EEPROM auslagern? Ebenso könnte ich mehrfach vorkommende Ausdrücke in Funtionen packen. Die Variabelngrösse überdenken. Was habe ich noch vergessen? PS. Ich kann kein Assembler, ich weiss das damit fähige Leute sehr optimierten Code erzeugen können. Bitte keinen Glaubenskrieg um die beste Programmiersprache. Jede hat Ihre Vor und Nachteile. Besten Dank für eure Rückmeldungen. Gruss Michael