Forum: Compiler & IDEs LPC210x GNUARM Probleme


von Benjamin (Gast)


Lesenswert?

Hallo

Ich habe GNUARM laut WIKI (LPC-P1) installiert und konfiguriert (unter
WinXP und Cygwin). Es ist mir auch gelungen die Beispiele (test2.c,...)
zu kompilieren und auf dem Board zum laufen zu bringen.

Nun kann ich aber die Beispiele nur im newlib-lpc Verzeichnis und dem
Standard makefile bauen. In anderen Verzeichnissen gelingt mir dies
nicht.

Ich gehe folgenermassen vor:

Kompilieren:
arm-elf-gcc -mcpu=arm7tdmi -marm -c -o test2.o test2.c
Linken:
arm-elf-ld -Tlpc210x.ld -o test2.hex test2.o
Konvertieren:
arm-elf-objcopy -O ihex test2.hex
Download:
lpc21isp test2.hex com1 115200 14746

Leider ist das resultierende Hex-File viel kleiner als das selbe
Beispiel mit dem Standard-makefile kompiliert und funktioniert nicht.

Was mache ich falsch?


MfG Benjamin

von OldBug (Gast)


Lesenswert?

Hallo Benjamin!

Hast Du die newlib-lpc selbst Kompiliert?
Hast Du dabei darauf geachtet, daß die "dummies" nicht mit drin sind
(malloc etc...)

Ich hatte ursprünglich noch ein Beispielprojekt erstellt, was aber
überarbeitet werden musste. Leider fehlte mir bisher die Zeit dazu,
aber evtl. hilft Dir das Beispiel ja weiter...

Gruß,
Patrick...

P.S.: http://wiki.mikrocontroller.net/upload/4/44/LPC2106-gcc-Demo.zip
LPC2106-gcc-Demo.zip
Hier liegt das Beispielprojekt zur Zeit. Wird aber irgendwann ersetzt!

von Benjamin (Gast)


Lesenswert?

Hallo

Ja ich hatte newlib-lpc wie im Wiki beschrieben erstellt.
In wiefern ich dabei "dummies" draussen gelassen hab kann ich nicht
sagen da ich teilweise das makefile noch nicht so richtig verstehe.

In meinem Fall fehlte einfach der gesamt Startup-Code der den LPC
erstmal zur main bringt.
Ich hab mir dann aus der Yahoo-Group ein Beispiel für einen
funktionierenden Startup-Code (boot.s) genommen und damit kompiliert
und gelinkt.
Danach gings.

Wie hätte ich das denn mit Newlib-lpc hinbekommen?


MfG Benjamin

von OldBug (Gast)


Lesenswert?

Mit der "richtigen" libc und der libnewlib-lpc. Genaueres kann ich Dir
heute abend schreiben, hab die Notizen nicht dabei...

Gruß,
Patrick...

von Alex1 (Gast)


Lesenswert?

Hallo...

Ich habe auch vor, mich mit dem ARM auseinander zu setzen. Wo kann ich
denn das GNUARM herunterladen?

Danke..
Alex

von Benjamin (Gast)


Lesenswert?

Hallo

Bei Google der erste Treffer verrät dir: http://www.gnuarm.com/

MfG Benjamin

von OldBug (Gast)


Lesenswert?

@Benjamin: hast Du Dein Problem eigentlich gelöst?
Ich hatte den Thread aus den Augen veloren, sorry :-)

von Benjamin (Gast)


Lesenswert?

Hallo

Also die Programme laufen jetzt mit dem Startup-Code. Da ich leider nur
wenig ARM-Assembler behrrsche und ich grad keine Zeit hab das zu lernen
weiss ich aber nicht so ganz wie der Code aus boot.s funktioniert.

Aber die Haupsache ist erstmal das ich C-Programme auf dem LPC
ausführen kann.


MfG Benjamin

von OldBug (Gast)


Lesenswert?

Beid er newlib-lpc ist auch Startup-Code dabei "crt0.S".
Müsste im Source-Verzeichnis der newlib-lpc-rel2 liegen...

Wenn Du mein Makefile anguckst, dann siehst Du da auch, wie man das
richtig einbindet...

von Benjamin (Gast)


Lesenswert?

Hallo

Falls du mal Muse hast könntest du das makefile ja ein bischen
kommentieren so nach dem Motto "was mach ich in der zeile...".
Manches ist nämlich schon recht schwer zu verstehen wenn man nicht
jeden Tag makefiles verfasst.

MfG Benjamin

von OldBug (Gast)


Lesenswert?

Jupp, ist schon in arbeit...
Aber da hängt noch ein bissl mehr dran ;-)

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.