mikrocontroller.net

Forum: Compiler & IDEs Eclipse GNU/ARM: Startup-Code für LPC2119 oder LPC2138


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo stefan,
schon mal auf www.yagarto.de geschaut?
da findest du ein komplettes paket inkl. div. examples.

gruss
gerhard

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ist es!
sorry für die Frage - habs grad in der Beschreibung gefunden!

muss ich nur noch herausfinden, wie ich es anpassen muss!

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir da noch bitte jemand weiterhelfen???

Autor: Robert Teufel, NXP (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

LPC2106, LPC2129 and LPC2138 ARM7 interrupt-driven UART
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm...

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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Verständnis bestehender Linkercontrolscripts und behutsamer 
Anspassung kann vielleicht dies beitragen:
http://www.redhat.com/docs/manuals/enterprise/RHEL...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.