Hallo Gemeinde, ich habe hier einen LPC2378 (ARM7) und benutze die Yagarto Toolchain (GCC). Beim Kompilieren wird mir folgendes ausgegeben: Size after: test.elf : section size addr .text 116536 0 .data 5640 1073741824 .initdata 5640 116536 .bss 11800 1073747464 .stack 13312 1073759488 .comment 1368 0 .debug_aranges 6352 0 .debug_pubnames 17609 0 .debug_info 110483 0 .debug_abbrev 27811 0 .debug_line 35495 0 .debug_frame 14772 0 .debug_str 26324 0 .debug_loc 65271 0 .ARM.attributes 16 0 .debug_ranges 10112 0 Total 468541 Von den AVRs kenne ich nur die Ausgabe von text, data und bss. ROM Verbrauch: text + data dyn. RAM Verbrauch: data + BSS + Stack (dyn.) Gilt das auch für den ARM? Was fange ich aber mit den ganzen anderen Angaben hier an? initdata klingt zB wichtig. Und worauf bezieht sich die Angabe zum Stack? Der ist doch dynamisch... Kann ich die Ausgabe auch so abändern, dass ich den Verbrauch in % angegeben bekomme? Freue mich über etwas Unterstützung. Pong
Da das vom von dir gebauten Linkerscript und vom Controllertyp abhängt ist eine automatisierte summarische Angabe durch Compiler/Linker oder sonstwen nicht so einfach möglich. Code ist hier .text, für die ROM-Kapazität kommt noch .initdata hinzu. Für's RAM sind hier .data, .bss und .stack relevant. Wenn du das automatisiert und in Prozent haben willst, dann bau ein einfaches Scriptprogramm, das diese Zeilen auswertet und summiert. Oder die Ausgabe von objdump auswertet. Edit: Bei .data und .initdata kann es auch andersrum sein, aber da beide per Def gleich gross sind ist das egal. Schau ins Mapfile, dort findet sich die Adressbelegung.
@Pong: Die Yagarto Toolchain kenne ich nicht, arbeitete aber mal mit ARM und Keil µVision. Die hat ein Output-Window, wo die Speicherdaten angezeigt werden. Unter RealView funktionierte das nicht mehr. Ich bastelte mir ein Script, welches die Daten im Map-File suchte, und im Output-Window darstellte. Sowas sollte gehen. Mit dem Script, kann man sich dann aussuchen, was dargestellt werden soll.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.