Forum: Mikrocontroller und Digitale Elektronik LPC2368 durch PLL ausgesperrt - wie wieder eintreten?


von Christian J. (elektroniker1968)


Lesenswert?

Hallo,

ich habe meinen LPC2368 durch ein falsches Setzen der PLL vom Wiggler 
ausgesperrt. Dh. ich kann diesen nicht mehr connecten. Das Errate Sheet 
sagt, dass die PLL nur bis 290 Mhz arbeitet, statt bis 500 MHz. Das habe 
ich leider erst nachher gesehen.

Wie komme ich wieder an den Chip ran? Etwas anderes als den Wiggler habe 
ich nicht, das Board bietet nur die Möglichkeit über Urart0 und einem 
Jumper ein Programm downzuloaden.

Hat jemand eine Idee?

(Mist, so ne Driete gabs bei PICs nie...)

Gruss,
Christian

von (prx) A. K. (prx)


Lesenswert?

Siehe Beitrag "Re: LPC21xx: ARM state: FIQ"

Je dicker die Teile desto komplexer desto mehr kann man falsch machen. 
Ist überall so.

von Matthias N. (vbchaos)


Lesenswert?

> Wie komme ich wieder an den Chip ran? Etwas anderes als den Wiggler habe
> ich nicht, das Board bietet nur die Möglichkeit über Urart0 und einem
> Jumper ein Programm downzuloaden.

Mit einem Nullmodem Kabel an UART0, Jumper setzen und der Software 
FLASHMAGIC kannst du hex files downloaden. Sollte funktionieren, ist 
eigentlich ziemlich einfach

von Christian J. (elektroniker1968)


Lesenswert?

Hallo,

danke mit Flashmagic und einem 0-Modem Kabel gings dann auch wieder, 
eine x-beliebige Beispeilsoftware eingespielt.

Aber mal was anderes: Der LPC2368 ist laut Errate Sheet wieder so ein 
Wunderwerk der Technik: Ein Wunder dass er überhaupt funktioniert ;-(

Die Bugs nehmen nämlich mit jeder Revision weiter zu:

1. Rev ‘A’ devices: Code execution from internal flash is restricted to 
a maximum of 60MHz.
For example, use a PLL output frequency of Fcco=360MHz and divide it by 
6 (CCLKSEL=5) to generate 60MHz CPU clock (Do not use even values for 
CCLKSEL).
2. Rev ‘-’ devices: Code execution from internal flash is restricted to 
a maximum of 60MHz also. However, this device revision has one more 
restriction in terms of the PLL output frequency (Fcco- Please refer to 
PLL.1 above). Fcco is limited to 290MHz.
Considering the same example in PLL.1 (Input crystal-12MHz, N=1, M =12): 
Fcco = 288 MHz

Da die kleinste Fcco 275Mhz und die grösste 290 Mhz ist also nur N=1 und 
M=12 bzw N2 = M=24 nutzbar ???

Die Gangschaltung hakt also mächtig, es lässt sich nur noch durch den 
Nachteiler CCKSDEL also die Frequenz einstellen?

Lasse ich die PLL Init ganz weg, also die ganze Routine habe ich das 
Gefühl, dass er wesentlich schneller läuft als auf 60Mhz, auf was stellt 
denn die Bootroutine den Chip ein? (ich weiss, dass man das auslesen 
kann, wie schnell er ist aber ich bin zu müde heute dazu die Routinen zu 
schreiben...)

Christian

von let (Gast)


Lesenswert?

Die Fehler sind eigentlich weniger geworden. Die Sache mit
der PLL betrifft nur die Rev. '-'.

Du müßtest mal nachsehen welche Chiprevision du eigentlich hast.
Die Revisionen '-' und 'A' sind nicht in nennenswerten Stückzahlen
hergestellt worden. Aktuell ist Rev. 'B' und die ist doch recht
sauber.
Wenn du meinst das man sowas nicht verkaufen sollte dann sieh dir
mal die Erratas von Luminary oder die der STM32 an. Da steht die
NXP/ARM7 Kombo ziemlich gut dar.

von Christian J. (elektroniker1968)


Lesenswert?

Hallo let,

ich habe Rev.B und auch ausprobiert, dass die PLL mehr kann als die 290 
Mhz. Der Chip läuft kurzzeitig bis 100 Mhz, jedoch nicht stabil und er 
wird recht warm dabei.

Etwas ärgerlich ist sicherlich, dass die MMC Karte über eine Hardware 
angesteuert wird, die meine mühsam gebastelten SPI Routinen wertlos 
macht, die Karte wird im Multimedia Mode betrieben. Offensichtlich 
unterscheiden sich auch SD und MMC, ich habe mir mal die inzwischen 
öffentliche (reduzierte) SD Spec 3.0 heruntergeladen, da sind ne Menge 
Funktionen neu hinzugekommen. Für die efsl braucht man aber wohl nur 
write, read, init und Fehlerabfrage, d.h. nur den unteren Layer neu 
schreiben.

Bleibt noch die Qual: Bleibe ich bei den Rowley Headern für die LPC oder 
nehme ich die von Keil? Beide haben etliche Bezeichnungen anders und 
sind echt inkompatibel. Rowley gibt jedem Bit einen Namen, Keil nur 
jedem Register. Ob Register = (1<15) | (1<25) .... oder Register = 
(1<BIT_MASK_SCHIESSMICHTOT) lesbarer ist weiss ich noch nicht.

Von dem an der Börse verdienten Geld bei der Kursexplosion die letzten 
Tage gibt jedenfalls erstmal einen USB Wiggler :-)

Gruss,
Christian

von Matthias N. (vbchaos)


Lesenswert?

> Bleibt noch die Qual: Bleibe ich bei den Rowley Headern für die LPC oder
> nehme ich die von Keil? Beide haben etliche Bezeichnungen anders und
> sind echt inkompatibel. Rowley gibt jedem Bit einen Namen, Keil nur
> jedem Register. Ob Register = (1<15) | (1<25) .... oder Register =
> (1<BIT_MASK_SCHIESSMICHTOT) lesbarer ist weiss ich noch nicht.

Nicht nur jedem Bit, sondern auch zusammengehörigen Bits. Die 
Rowley-Verarbeitung ist einfacher zu handhaben, vor allem wenn man viel 
mit dem Datenblatt arbeitet (da die Register-Teile gleich benannt sind). 
Für Anfänger (weiss nicht um deinen Wissensstand) ist dies denk ich mal 
einfacher (ging mir zumindest damals so). Mittlerweile nutze ich die 
einfachen Registerbezeichnungen, wie sie KEIL vorgibt, weil ich besser 
sehe, welche Bits bearbeitet werden. Ich vermute aber, dass das auch ein 
Stück weit eine Glaubensfrage ist.

von Christian J. (elektroniker1968)


Lesenswert?

Hallo Matthias,

wie ist denn so die Verteilung der Fronten im Netz, was Sourcen angeht? 
Ist Keil ein Standard? Immerhin gehören die zu ARM. Rowley scheint eher 
weniger verbreitet zu sein. Gibt es auch Header, die sioch strikt an die 
Vorgaben der Manuals von NXP halten? Das wäre dann das Richtige.

von Robert T. (robertteufel)


Lesenswert?

Ich glaub zum Thema Tools kann ich noch einen recht qualifizierten 
Kommentar abgeben.

Keil ist wohl der meistverwendete Compiler fuer NXP ARM microcontroller 
im professionellen Bereich. Danach kommt IAR, die wiederum bei anderen 
Herstellern an erster Stelle stehen. Die Compiler / Loesungen von Rowley 
und bald auch Raisonance basieren auf GNU, sind aber zum einen mit einem 
Debugger ausgestattet, den ein paar mehr Leute verstehen als GDB und sie 
bieten optimierte Libraries an. Ausserdem bieten sie auch eine fertige 
Loesung mit JTAG-Debugger. Zum anderen bieten diese Firmen natuerlich 
alle Support, etwas sehr wichtiges fuer Firmen, die unter Zeitdruck ein 
Produkt entwickeln.

Wie der Support im einzelnen aussieht wird von Anwendern SEHR 
unterschiedlich aufgefasst, deshalb halte ich mich da lieber etwas 
zurueck 8-D

Es gibt hier ein paar Links zu Tools

http://www.lpctools.com bietet die meisten Tools fuer LPCs an (nicht von 
mir also verzeiht die "Werbung" fuer eine kommerzielle Seite)
http://www.lpc2000.com/tools/indextools.html hat eine Liste mit ein paar 
kurzen Vergleichen zwischen Tools.
http://www.sevensandnines.com von IAR gesponsort, versucht aber 
einiermassen ueberparteilich zu sein.

Robert

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.