Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 7 FLASH segment variabel


von BesorgterBürger (Gast)


Lesenswert?

Hallo,

ich lasse mir über den Präprozessor einen Wert berechnen der für die 
.text section benötigt wird (unter Toolchain/AVR/GNU Linker/Memory 
Settings/FLASH segment). Kann ich mir den errechneten Wert automatisch 
z.B. über eine Variable dort eintragen lassen?

Da wir eh schon bei Automatisch sind, gibt es ein Makro in dem die 
"Program Memory Usage" gespeichert wird, dass für die Präprozessor 
Berechnung benutzt werden kann?

Vielen dank,

BG

von Axel S. (a-za-z0-9)


Lesenswert?

BesorgterBürger schrieb:

> ich lasse mir über den Präprozessor einen Wert berechnen der für die
> .text section benötigt wird (unter Toolchain/AVR/GNU Linker/Memory
> Settings/FLASH segment). Kann ich mir den errechneten Wert automatisch
> z.B. über eine Variable dort eintragen lassen?

Bahnhof.

Obiges sieht aus wie ein Klick-Stream in einer IDE. Aber was soll das 
mit einem errechneten Wert zu tun haben?


> Da wir eh schon bei Automatisch sind, gibt es ein Makro in dem die
> "Program Memory Usage" gespeichert wird, dass für die Präprozessor
> Berechnung benutzt werden kann?

Der Linker(!) ordnet den Programmcode im Flash an. Der weiß dann am Ende 
auch, was die höchste verwendete Adresse ist. Aber der Präprozessor 
kommt dann nicht mehr zum Zug.

von BesorgterBürger (Gast)


Lesenswert?

Axel S. schrieb:
> Obiges sieht aus wie ein Klick-Stream in einer IDE. Aber was soll das
> mit einem errechneten Wert zu tun haben?

Durch die Programmgröße wird errechnet an welcher Position im Flash der 
Code abgelegt werden soll. Dieser Wert muss dann unter .text eingetragen 
werden.

Axel S. schrieb:
> Aber der Präprozessor kommt dann nicht mehr zum Zug.

Dann wird das vermutlich nicht ohne Umwege so funktionieren.

von Oliver S. (oliverso)


Lesenswert?

BesorgterBürger schrieb:
> Durch die Programmgröße wird errechnet an welcher Position im Flash der
> Code abgelegt werden soll.

Mal rein interessehalber: wie errechnest du denn die Programmgröße mit 
dem Präprozessor?

Oliver

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
Noch kein Account? Hier anmelden.