Forum: Mikrocontroller und Digitale Elektronik ARM7 binary erzeugen


von Peter Pippinger (Gast)


Lesenswert?

Hallo NG,

ich habe jetzt ne ganze Weile im Netz gesucht, aber noch nicht richtig 
was gefunden. Kann mir irgendjemand sagen, was ich alles tun muss, und 
was ich brauche, um das Register r13 des ARM7 mit einem Wert zu Laden. 
Ich weiß auch, dass mir das nicht viel bringt, aber zumindest hätte ich 
dann mal ne kleine Grundlage.

Hier wohl der Befehl:
MOV r13, #0x4

wenn ich nun mit arm-alf-as.exe das ding assembliere bekomme ich die 
a.out . Was muss ich jetzt noch tun? Linken?

Muss ich die Startadresse beim Linken angeben, oder muss die schon im 
.asm-File stehen?

Wäre nett, wenn jemand anhand von diesem einfachen Beispiel beschreiben 
könnte, welche Schritte nötig sind, um die Binary zu erzeugen.

Vielen Dank
Peter

von Peter D. (peda)


Lesenswert?

Nicht böse gemeint:

Bist Du wirklich der Meinung, bei so wenig Grundlagen gleich mit nem 
dicken ARM7 einsteigen zu müssen ?

Daß man dann wenig im Netz findet, kann ich mir gut vorstellen.
Da wird einfach vorausgesetzt, daß man mit der Toolchain vertraut ist 
oder wie man Manpages liest.

Irgendein Anfängerbuch eines 8-Bitters dürfte da gut tun.


Peter

von Peter Pippinger (Gast)


Lesenswert?

Ja, bin mir 100% sicher. Brauche nur nen kleinen Wink. Habe vor gaaaaanz 
langer Zeit mal 6510 und später i386 assembler programmiert...

Also, wer ist bereit, Licht in das kleine Beispiel zu bringen :-) ?

MfG
Peter

von Sebastian Eckert (Gast)


Lesenswert?

Vielleicht ist a.out ja schon das erwartere Binary?

von Peter Pippinger (Gast)


Lesenswert?

was mich aber daran verwundert ist, dass es 500 Byte groß ist...

von Sebastian Eckert (Gast)


Lesenswert?

Ganz schön viel... vielleicht wird irgendein Initialisierungscode 
automatisch ergänzt? Nicht daß ich von ARM-Assembler Ahnung hätte, aber 
vielleicht hat der Assembler ja irgendeinen Ausgabeformat-Parameter. Ich 
vermute, daß der Assembler auch linkt. Ist aber nur eine Vermutung,

von Sebastian Eckert (Gast)


Lesenswert?


von Peter Pippinger (Gast)


Lesenswert?

VIELEN VIELEN VIELEN DANK!

Echt! Das ist genau das was ich brauche! Das erspart mir ne Menge Zeit!

Danke.
Peter

von Dominic R. (dominic)


Lesenswert?

Dein 500 Byte a.out ist ein ELF relocatable object - eine Objekt Datei, 
die alle Sections enthält, die in deinem Assembler Listing definiert 
waren, dazu noch ELF Header etc., jedoch noch kein ausführbares 
Programm.

Das .pdf, das Sebastian erwähnt hat, geht scheinbar von einer Umgebung 
aus, in der die Toolchain bereits die richtigen Startup Files, Linker 
Script etc. mitbringt, da der Linker nur mit dem Objekt als Eingabe 
aufgerufen wird.

Eventuell kann dir Jim Lynch's Tutorial weiterhelfen. Er beschreibt das 
Setup einer GNU Umgebung mit Eclipse etc., und bringt auch Beispiele 
inkl. Startup Assembler, C Source und Linker Script. Die aktuelle 
Version zielt auf Atmels AT91SAM7 Familie ab und ist unter anderem auf 
www.at91.com zu finden, eine ältere Version bringt Beispiele für NXP's 
LPC2000 Familie.

Gruß,

Dominic

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.