Forum: Mikrocontroller und Digitale Elektronik Olimex LPC-E2124 mit winarm programmieren


von Jan (Gast)


Lesenswert?

Hallo,
ich habe nun das LPC-E2124 vom Olimex und will das programmieren mit
Winarm. Nach einigen hin und her kann ich mit Winarm die
Beispielprogramme kompilieren. Jetzt will ich die HEx dateien auf den
Controller laden. Hierzu habe ich zwei Möglichkeiten:
- USB aber Win XP brauch einen Seriell zu USB Treiber um die
Schnittstelle zu erkennen (Gibt es da einen oder einfach einen
Standarttreiber?) oder
- JTAG über den Druckerport
Als Terminalprogramm gibt es soweit wie ich es überblicke in Winarm das
Brayterminal, das Philips FLash tool und der OCE Commander:
Auch hier habe ich ein Problem beim Bray und Philips kann ich nur über
den Comport programmieren den das Board nicht hat( USB Port kann ich
nicht auswählen) und der OCE commander meldet immer "Error during
download"

Gibt es vielleicht andere kostenlose Varianten die ich übersehen habe
um diese Probleme zu umgehen? Oder mach ich einen Grundsätlichen
Fehler? So wie ich es verstanden habe soll WinARM ähnlich wie WieAVR in
der Lage sein das Programm zu kompilieren und auf dem uC zu laden.
irgenwie weiß ich nicht weiter und würde mich über paar anregungen und
Tips freuen.

Jan

von mthomas (Gast)


Lesenswert?

folgendes versucht?:
- FTDI-Treiber fuer virtuellen COM-Port installieren
- BSL Jumper setzen
- evtl. noch RST-Jumper setzten (oder manuell)
- mit Philips Flash-Tool oder Maurers lpc21isp ueber den LPC-Bootloader
programmieren (Schnittstelle: virtueller Port)

Bray-Terminal nicht fuer "Flashen", Philips Tool nicht Bestandteil
von WinARM, OCD-Commander/Remote ohne "ISP-Funclets" m.W. nicht zur
Flash-Programmierung geeignet.

von Peter (Gast)


Lesenswert?

ich hatte ein ähnliches Probelem das ich aber mitlerweie im Griff habe.
ich habe auch WINARM und benutzte zum testen meines Boardes die
Beispielprogramme. Da ich nicht den 2129 habe sondern den 2124 ( auch
das E Modul von Olimex) habe ich in den Programm
"lpc2129_blinkswitch" die LED Pins vonP0.12 und P0.13 auf P0.08 und
P0.10 und die Buttons vn P0.10, P0.11 auf P0.8 und P0.15 umgelegt wie
aus dem vom Olimex zur verfügung gestellten Schematics ersichtbar ist.
So weit so gut: Änderungen gespeichert make all ausgeführt und mit dem
Philips Flash utiliy auf das Board geladen.
Execute Code after Upload aktiviert und gehofft das nun die LED´s
blinken würden. Das war aber nicht der Fall obwohl das Philipstool
untern angezeigt hat das der code ausgedührt wird . also habe ich es
noch mal mit den beiden möglichen Bufferoptionen versucht( RAM ging gar
nicht/ Flash  hat der download funktioniert trotzdem kein blinken)
BSL und RST jumper sind bei dem Board standartmäßig gesetzt. Der LPC
scheint auch nicht kaputt zu sein da ich zu mindestes die Part ID
auslesen kann, wo raus ich schließe das eine Kommunikation statt
findet. Eine veränderung der Baudrate hat keine Effekt und scheinbar
wird das File wirklich auf den uC geladen da wenn ich im Flash utility
von Philips das hexfile ändere und das vom uC wieder downloade das
Orginal wieder da ist.
Ich hoffe ich habe mein Problem verständlich gemacht und vielleicht hat
ja jemand eine Antwort auf meine Frage was ich falsch mache und der uC
das Programm nicht ausführt obwohl es als laufend angezeigt wird.

MfG
Peter

von Ppp M. (sanic)


Lesenswert?

Hallo Peter,

auf die schnelle hab ich das jetzt nicht geprüft, aber:

- Hast du Linker Script und Startup Code korrekt ? Hast du auch die
richtige ROM-Größe ( welche beim 2124 ja 256 kB ist ) eingestellt ?

- Datadirection Register auch richtig beschrieben ?

- Versuch doch erstmal einen kleinen einfachen Code:

#include <arch/philips/lpc2114.h>  // Das 2114 Headerfile kann man
ruhig benutzen
#include <stdlib.h>

int main(void){
  int i=0;
  GPIO0_IODIR = (1<<25);
  GPIO0_IOSET |= (1<<25);
  while(1){i=0;}
}

Port0.25 sollte dann auf HIGH gehen.

Grüße

von jan philipp (Gast)


Lesenswert?

Hi Peter,
das Problem hatte ich auch: ein hex File auf dem board und nix
passiert.

Probiere mal nach dem du das Programm auf das Board geladen hast den
BSL Jumper zu entfernen und Reset zu drücken.
Da nach hat es bei mir geklappt, da so der bootloader abgebrochen wird
und so erst das Programm starten kann.( ob die Erklärung stimmt weiß
ich nicht aber das Resultat war zufriedendstellend)

By the way wofür steht eigentlich die Abkürzung BSL?
und was ist der "Thumb mode"?

Gruß
Jan Philipp

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.