Eclipse GNU/ARM: Startup-Code für LPC2119 oder LPC2138

Gast #497107
Lesenswert?

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!
Gast #497201
Lesenswert?

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
Gast #497222
Lesenswert?

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.
Gast #497237
Lesenswert?

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.
Gast #497268
Lesenswert?

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?
Gast #497313
Lesenswert?

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!
Gast #498555
Lesenswert?

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
Gast #498575
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren