Linkerscript: Ausgabe Memory an Programm

OP #4788776
Hallo,

ich nutze eclipse mit gcc-arm und möchte nach dem Kompilieren ein 
Programm aufrufen. Dieses Programm benötigt die Startadresse und Größe 
des Flashs.
Möglichkeit 1 wäre dies als postbuildprocess von eclipse aufrufen zu 
lassen.
Doch wie sage ich dann wie groß der Flash ist? - Ja man könnte dies fest 
eintragen, aber ich möchte gern eine Variable oder soetwas ähnliches 
nutzen um beim nächsten mal dies nicht eintragen zu müssen.

Möglichkeit 2 wäre das Programm aus dem Linkerscript aufzurufen. Da ich 
in eclipse das managemake benutze, kann man eine Datei makefile.targets 
erstellen, welche als letztes aufgerufen wird. Darin kann ich schreiben:
1
all:
2
 $(shell programmname.exe $(__FLASH_FW_START))
3

4
.PHONY: all
Leider funktioniert dies nicht. Wie muss ich den Programmaufruf 
abändern, damit die Startadresse und die Größe des Flash mit übergeben 
werden

Danke
VG David
Gast #4788785
David B. schrieb:
> Leider funktioniert dies nicht

Wie soll das denn funktionieren, woher soll make das Symbol aus dem ELF 
File kennen?!
Du kannst mit "nm" oder "readelf" Symbol Adressen aus dem ELF abfragen. 
Alternativ direkt mit readelf die Größe der Flash Section abfragen
OP #4788834
Es geht nicht um ein Symbol vom elf-File, sondern ich kann im 
Linkerscript mem.ld ein Symbol anlegen: __FLASH_FW_START = ORIGIN( FLASH 
);

Im Linkerscript makefile.targets möchte ich dies nutzen um es dem 
Programm zu übergeben (siehe Anfang des Threads). Nur funktioniert dies 
nicht.

Die Idee mit readelf hatte ich auch schon, aber ich habe nur die 
sections auslesen können und nicht memory. Weil in sections steht nicht 
die Länge des Flashs, sondern wie viel davon genutzt wird.
Wie kann ich mit readelf memory ausgeben?

VG David

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.