Hallo! Hab bisher mit Keil µVision Demoversion gearbeitet und möchte nun auf Eclipse umsteigen. Hab im Forum folgenden Verweis gefunden: Sehr detaillierte Einführung in eine Entwicklungsumgebung mit GNUARM/Eclipse für Philips LPC Hab ich auch wie in der Anleitung beschrieben installiert und müsste funktionieren. Ich habe mir auch die Beispiele heruntergeladen, nur die beschränken sich auf einen LPC2148 und einen LPC2106. Zuhause hab ich aber einen LPC2119 und einen LPC2138 und ich schaffe es nicht nur ein einfaches Demoprogramm zum Laufen zu bringen. Es liegt bestimmt am Startup-Code, da kenne ich mich leider überhaupt nicht aus. Für µVision hatte ich schon einen funktionierenden Beispielcode dabei, der lässt sich aber ohne gute Kenntnisse nicht so einfach portieren! Hat jemand von euch zufällig einen Startup-Code für einen meiner genannten Mikrocontroller (LPC2119 oder LPC2138) der sich mit Eclipse GNUARM kompilieren lässt! kann mir bitte jemand sowas zukommen lassen? Vielen Dank schon mal für eure Mühe!
hallo stefan, schon mal auf www.yagarto.de geschaut? da findest du ein komplettes paket inkl. div. examples. gruss gerhard
Hallo Gerhard! Danke für deine Antwort. Auf der oben genannten Homepage konnte ich aber auch nur Beispiele für LPC2148 und LPC2294 finden. Werd aber am Abend, wenn ich zuhause bin versuchen, vielleicht find ich irgendwie raus was ich im StartUp-Code verändern muss, damits mit meinem Mikrocontroller funktioniert! Gruß Stefan
Von dem Startup-Code kannst Du erstmal die Finger lassen - der kopiert hauptsächlich die Daten/Variablen in den RAM, setzt diese (so notwendig) auf 0 und stellt die Interrupt-Tabelle zur Verfügung - sozusagen alles ARM7-standard. Wichtiger sollte für Dich die Betrachtung des linker-scripts (*.ld) sein. Hier werden die Speicherbereiche (RAM, ROM) definiert - diese mußt Du meist an Deinen spezifischen Controller anpassen.
Der 2294 dürfte eine gute Basis sein, weil gleiche Baureihe. Aber nur wenn dessen Demo keinen externen Speicher vorsieht. Musst dann eigentlich nur noch im Linker-Script die obere Grenze vom Flash-Memory reduzieren.
Die Anleitung für die Entwicklungumgebung habe ich unter folgendem Link gefunden: http://www.olimex.com/dev/index.html Der Source-Code für die Beispiele ist hier: http://www.olimex.com/dev/soft/arm/LPC/sourcecode.zip ich kann da aber kein linker-script finden! die einzigen Dateien, die da drin sind: crt.s main.c LPC214x.h demo2148_blink_flash.cmd ist das *.cmd file das linker-script?
ja ist es! sorry für die Frage - habs grad in der Beschreibung gefunden! muss ich nur noch herausfinden, wie ich es anpassen muss!
so siehts bisher mal aus: MEMORY { flash : ORIGIN = 0, LENGTH = 128K ram_isp_low(A) : ORIGIN = 0x40000120, LENGTH = 223 /* variables used by Philips ISP bootloader */ ram : ORIGIN = 0x40000200, LENGTH = 32513 /* free RAM area ram_isp_high(A) : ORIGIN = 0x40007FE0, LENGTH = 32 /* variables used by Philips ISP bootloader */ ram_usb_dma : ORIGIN = 0x7FD00000, LENGTH = 8192 /* on-chip USB DMA RAM area (not used) } flash hab ich bereits angepasst! statt 512K -> 128k nun kenne ich mich aber nicht aus was die unterschiedlichen RAM Bereiche bedeuten!
kann mir da noch bitte jemand weiterhelfen???
Nur ein kleiner Tip mit Bezug auf die Beispiele fuer den LPC2148 und LPC2294. Was auf dem LPC2294 laeuft und keinen externen Bus benuetzt laeuft auch auf dem LPC2129, die sind register / binaer compatibel. Was auf dem LPC2148 laeuft und nicht die Fast I/O oder den USB benuetzt laeuft im allgememeinen auch auf dem LPC2138. Der LPC2148 ist allerdings eine Obermenge und hat ein paar verbesserte Features. Also fuer LPC2138 den LPC2148 nehmen und fuer den LPC2129 den LPC2294 Robert
Hi Namensvetter! Warst du schon hier? gcc-Port of the LPC2000 Example-Code-Bundle for LPC213x/LPC214x (Philips LPC2000 ARM7TDMI-S controller series) http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/lpc2k_bundle_port/index.html LPC2106, LPC2129 and LPC2138 ARM7 interrupt-driven UART http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#lpc_uart_irq In der GNUARM Toolchain sind sehr wenige Beispiele dabei. Bei WINARM sind es wesentlich mehr. U.a. auch Linkerkontrollskripte (*.ld) und Startup-Code (*.S) für den LPC2138 und LPC2119.
Zum Verständnis bestehender Linkercontrolscripts und behutsamer Anspassung kann vielleicht dies beitragen: http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/gnu-linker/script-format.html
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.