Hallo, unser Team hat ein paar Beispielprogramme zur Initialisierung der verschiedenen Komponenten des LPC2148 geschrieben. Wie immer, keine Gewaehr aber es sollte hilfreich sein in die Gaenge zu kommen. Uebrigens, dieses Mal ist der ARM (RVDS) compiler das Zielsystem. Also braucht es etwas Anpassung fuer GNU oder IAR oder Keil aber das sollte machbar sein. Euer Feedback wird dankbar entgegen genommen.
Zumindest ein wenig Feedback vom kurz drueberschauen: - Der Startup-Code nebst Initialisierung und Interrupt-Handling sieht sehr praktisch aus, nur "noetiges" in Assembler und dann C. Waere prima, wenn dieses "Framework" auch fuer GNU/gcc angeboten wuerde. - SSP/"SPI1"-Beispiele waeren eine gute Ergaenzung, wenn recht erinnert, ist die Initialisierung und Nutzung etwas unteschiedlich. - In RTC koennte eine Option "init fuer 32kHz-XTAL" ergaenzt werden. Wenn richtig gesehen, bisher ausschliesslich fuer "PCLK". Aber entsprechende AppNote ist ja bereits vorhanden. - Power-Save/Idle-Interface und Beispiel als Ergaenzung. - Was mir auch bei anderen Herstellen bei aehnlichnen Libraries bzw. Beispielen schon oefter gefehlt hat: es gibt fuer vieles "Init"- aber kaum "Disable"-Funktionen. Grade wenn man zum Stromsparen externe oder interne Komponenten deaktivieren will, ist das manchmal schwierig zu implementieren, da oft nur die Reihenfolge zur Initialisierung, aber nicht die zum "Deaktivieren" angegben oder demonstriert wird. (Leider ist des nicht immer einfach der "umgekehrte Weg"). - Beispiel zum Umgang mit Spurious-Interrupts von verschiedenen ("allen") moeglichen Quellen im Default-Handler. (Ergaenzung der AppNote habe ich vor ein paar Tagen per "Support-Formular" vorgschlagen, Empfang des Vorschlags wurde bestaetigt). - In den Lizenzbedingungen steht zwar eine Haftungsauschluss, aber das Copyright bzw. "All rights reserved" wird nicht gelockert. Vielleicht habe ich das auch nur uebersehen. Eine Ergaenzung in der Art: "May be used free of charge for commercial and hobby purposes provided copyright notice remains intact." wuerde Unklarheiten beseitigen. Martin Thomas
Hi Robert, Das ist ja echt super nett ein paare Beispielprogramme zur Verfügung zu stellen! Da ich (ein Mikrokontroller Newbie) für mein Studium ein Projekt mit dem LPC2141 plane! Leider kann ich dir noch nicht mehr Feedback geben da ich (immer noch) auf mein Development Kit (IAR KickStart Kit for LPC2148) warten muss. Eventuell kannst du mir noch ein paar Tipps für mein Projekt geben? Gruß Philipp
Was erwartest du für tipps wenn du nicht sagst worum es geht bzw was die Anforderungen sind?
"Was erwartest du für tipps wenn du nicht sagst worum es geht bzw was die Anforderungen sind?" Das ist doch der typische "Push-nach-oben"-Post. Von wem, darüber darf fleissig spekuliert werden...
Sorry! Ist schon zu spät um noch klar zu denken ;-) Es geht um folgendes: Der LPC ist im Prinzip ein USB - UART Interface das von der PC Seite Datenpakete und Befehle entgegen nimmt (am besten Isochroner Datentransfer). Sowie Datenpakete und Co von der UART Seite (mit einer Baudrate von 0,5-2MBit). Darüber hinaus soll der LPC noch einige Vergleiche von empfangenen und Gesendeten Daten durchführen. Mich würden besonders ein einfacher Einstieg in die ARM Programmierung sowie Beispiele zur USB- Kommunikation sowie der Baudraten Berechnung des LPC interessieren. Da im Datenblatt von Philips nur Beispiele bis 448Kbaud angegeben sind. Ich hoffe das ich mein Anliegen verständlich rübergebracht habe. Gruß Philipp
@ Robertine Engel Wo bei Atmel arbeitest Du? Die kompetenten AVR32 Designer sprechen doch alle nur Norwegisch und Englisch. Viel seichter als Robert Teufel mit Robertine Engel anzumachen geht's ja wohl kaum mehr. Einziger sonstiger Post von "Robertine" ist ein Manual fuer Atmel AVR32, was ein Zufall. Dieses Manual kann entweder direkt von der Atmel Seite runtergeladen werden, dann sollte es auch nicht gepostet werden sondern nur ein Link, oder es ist ein Beweis, dass die Person direkt bei Atmel arbeitet. Ich hab auf diesem Forum jeden Post in meinem Namen gemacht was man bereits von dieser Anmache "Push-nach-oben" und "Von wem, darüber darf fleissig spekuliert werden" nicht behaupten kann. Identify yourself you coward. It is a disgrace that Atmel seems to employ people like this :-(( RT p.s. Entschuldigung bei Philipp!?
Das mit dem AVR32-Manual hatte nicht wirklich etwas mit dem AVR32 zu tun, sondern war einfach nur als Provokation gedacht. Deshalb glaube ich nicht dass diese Person von Atmel ist. Ein echter Flamewar zwischen Atmel- und Philips-Mitarbeitern wäre wohl zu schön um wahr zu sein ;)
Hmm, ist ja doch noch Leben in diesem Thread. Haette schon irgend eine Reaktion auf meine Feedback erhofft. Fuer eine Reaktion auf eine mehr oder weniger plumpe Provokation scheint zumindest Zeit vorhanden. Oder anders herum: bis eben hatte ich vermutet, dass mein Feedback in der Menge der Forenbeitraege untergegangen sei. Nun weiss ich, dass der Thread zwar verfolgt wird, aber Reaktion auf Feedback on topic ueberfluessig erscheint. Nein, es geht nicht um "dankbare Entgegennahme", sondern um Kommentar zu den Anmerkungen. Martin Thomas (Dieser Beitrag in der Annahme, dass R. Teufel OP auch R. Teufel 27.2. 23:37)
@Martin, da muss ich mich wirklich entschuldigen, denn ich habe dein Feedback mit Interesse gelesen und an den Author weitergeleitet. Danke nochmals, Robert p.s. Ich benuetze immer den Filter "ARM" und hab was neues gesehen, die plumpe Anmache hat mich auf dem linken Fuss erwischt.
@Robert: Eigentlich ist es schon ein ziemliches Unding, hier einfach Atmel-Mitarbeiter zu beschuldigen. Liegen die Nerven bei Philips wegen der Ausgliederung der Halbleitersparte wirklisch schon so blank? Traurig, traurig. Ich denke auch wie Andreas, daß das ein anderer war. Aber jetzt mal sachlich: Ich wollte mir die neuesten AVR32-Manuals runterladen, aber ich finde das von Robertine Engel gepostete Technical Reference Manual nicht auf der Atmel-Seite. Nur das Architecture Manual und ein Whitepaper. Kannst Du bitte den Link posten, Robert? Den kennst Du ja anscheinend. Danke!
Stimmt, das ist ein Armutszeugnis von Robert. Wieso auf Atmel-Mitarbeiter losgehen ohne irgendwelche Anhaltspunkte? Also irgendwie wird das Klima rauher hier im Forum...
Danke Robert fuer die Weiterleitung. Gibt es irgend eine Web-Seite, auf der man die aktuelle Version der "Driver-Library" herunterladen kann bzw. nachsehen kann, ob es etwas Neues gibt? Martin Thomas Verlagerung von off-topic Fragen/Mutmassungen/Provokationen in das off-topic-Forum wuerde sicher zu einem sachlicheren Umgangston beitragen. Link zu ausfuehrlicher AVR32-Dokumentation (pdf-Datei mit Beschreibung der Architektur, Befehlssatz, Interrupt-System fuer AVR32a und b) war in einem AVRfreaks Forum-Beitrag. Suche dort sollte helfen.
Hallo, Sooo UPS hat doch noch geschafft! Mein IAR Development Kit ist da! Aber die IAR Workbench scheint nicht sooo ganz mit dem Startupcode der geprosteten Beispiele klar zu kommen. Vielleicht kann mir da jemand eine Hilfestellung geben da das meine erste Mikrokontroller Erfahrung ist... vielen Dank im Voraus Philipp
@ Philipp, die Beispiele sind fuer ARM Real-View tools geschrieben. Am besten erst mal die mitgelieferten IAR Beispiele zum laufen bringen, dann mit etwas mehr Erfahrung diese Beispiele umschreiben. @ Martin noch gibts die download option nicht aber falls denn mal, dann von hier: http://www.standardics.philips.com/support/documents/?type=software @ Nicky und Jim, wer kann ein Dokument posten, das ueber einen Link nicht zu finden ist? Jemand der gerade gegen eine Vertraulichkeitserklaerung verstossen hat oder ein Mitarbeiter der Firma oder....? Werde mich gerne entschuldigen falls ich falsch lag. Robert
Ne, Robert damit hast Du Philips keinen Gefallen getan. Was ist denn das für eine Art, erst mal üble Beschuldigungen auszusprechen, nur weil einem etwas nicht passt? Zu dem Zeitpunkt, als Robertine das Manual gepostet hat, war das zwar nicht auf den Atmel-Seiten, aber auf anderen Internetseiten. Beispielsweise hier: http://www.e-lab.de/AVRco/avr_sheets.html Dieser Link wurde aber auch in anderen Postings schon vor einiger Zeit hier gemeldet. Das Manual kann also von jedem kommen. Ich denke auch nicht, daß Atmel so etwas nötig hat - wobei ich dasselbe von Philips gedacht habe, bis Du uns eines Besseren belehrt hast. Eine Entschuldigung ist wohl das Mindeste, was (insbesondere Atmel sowie Mitarbeiter) man von Dir erwarten kann.
Aus einem Rechtslexikon: "Üble Nachrede Wer in Beziehung auf einen anderen eine Tatsache behauptet oder verbreitet, welche denselben verächtlich zu machen oder in der öffentlichen Meinung herabzuwürdigen geeignet ist, wird, wenn nicht diese Tatsache erweislich wahr ist, mit Freiheitsstrafe bis zu einem Jahr oder mit Geldstrafe bestraft. Vgl. § 186 Strafgesetzbuch." Hmmmm, klingt so, als würde das hier passen...
Kommt mal wieder runter... damit mein ich nicht robert... Ich will nur mal fest halten, dass Herr Teufel hier schon vielen weiter geholfen hat und gute Informationen gegeben hat. Bisher war er immer sachlich. Wenn man ihn (offensichtlich) persönlich beleidigt/angreift kann er doch ruhig was dazu sagen oder nicht? Er ist ja nicht ausfallend geworden. Weitere postings bitte nur bzgl des topics alles andere ist off-topic.
"Wenn man ihn (offensichtlich) persönlich beleidigt/angreift kann er doch ruhig was dazu sagen oder nicht? Er ist ja nicht ausfallend geworden." Natürlich kann er was dazu sagen. Allerdings ist es nicht in Ordnung, wenn er Mitarbeiter von konkurrierenden Firmen diffamiert und irgendwelcher Taten bezichtigt, für die er nicht mal ansatzweise Beweise hat. Das ist schlichtweg peinlich und eventuell sogar rechtlich bedeutsam.
Zunächsteinmal sei festgehalten, daß hier zuerst Robert auf übelste Weise ans Bein gepisst wurde, bevor er sich ein wenig echauffiert geäußert hat, was in Anbetracht des Anlasses seiner Äußerung auch sein gutes Recht ist. Die restlichen Reaktionen von "Jim", "Dieter" oder auch "Nicky" sind völlig unangemessen und gehören vermutlich in die gleiche Kategorie Beiträge, wie die, die gewissermaßen als pawlow'schen Reflex bei Nennung des Namen von Robert sofort "Werbung" schreien. Es gibt schon eigenartige Spinner.
"Zunächsteinmal sei festgehalten, daß hier zuerst Robert auf übelste Weise ans Bein gepisst wurde, bevor er sich ein wenig echauffiert geäußert hat, was in Anbetracht des Anlasses seiner Äußerung auch sein gutes Recht ist." Der "Spinner" bist Du, wenn Du der Meinung bist, daß wenn Robert angegriffen wurde, er einfach andere Unbeteiligte ebenfalls angreifen kann. Was ist denn das für ein Argument? Ich bekomme eins drüber, also haue ich dem nächsten auch eins drüber? Und angemessen sind die Beiträge sicherlich. Denn Robert hat keinerlei Beweise dafür, daß hier Atmel im Spiel ist. Und die Wahrscheinlichkeit dafür geht gegen Null. Warum also regt er sich so auf? Insbesondere ist es doch so, daß nicht nur "Robertine Engel" - okay, der Name ist amüsant - Dokumente gepostet hat, die nicht auf der Herstellerseite zu bekommen waren, auch Robert hat dasselbe gemacht. Wieso dann aber nun das Posting von Robert in Ordnung sein soll und das von Robertine nicht, entzieht sich völlig meinem Verständnis. Aber Robert hat ja seine Entschuldigung angeboten, mal sehen, ob das nicht nur ein Spruch war!
Hat jetzt eigentlich schon jemand mal die Routinen für den LPC2148 ausprobiert und kann darüber berichten? Ich habe mir nämlich gerade ein Board mit einen solchen Controller bestellt und wäre an Berichten interessiert.
Hat jemand zufällig schon die Beispiele von Phillips umgeschrieben für den IAR? mfg mathias
Hallo Robert! Ich finde die Beispiele auch sehr interessant und super. Aber ich empfinde die UART-Einheit selbst als relativ umständlich und verwirrend. Z.B. werden auftretende IRQs gelöscht, indem bestimmte Register gelesen werden usw. Ich habe mir das UART.C-File sehr genau angesehen und habe dazu bitte einige Fragen. else if ( IIRValue == IIR_THRE ) /* THRE, transmit holding { register empty */ LSRValue = U0LSR; /* Check status in the LSR to see if valid data in U0THR or not */ if ( LSRValue & LSR_THRE ) { UART0TxEmpty = 1; } else { UART0TxEmpty = 0; } } In der ersten Zeile wird der THRE-IRQ abgefragt. In der nächsten "LSRValue = U0LSR;" wird abgefragt, ob THRE valid data enthält oder leer ist. Das verstehe ich nicht, ich dachte dies wird sowieso mit der ersten Zeile abgefragt. Wozu benötige ich dann noch "LSRValue = U0LSR;"? Ich sehe noch ein Problem: Wenn in diesem Zweig das U0LSR-Register abgefragt wird, was wäre dann wenn kurz vorher ein Parity-Error oder sonstiger Fehler auftreten würde? Dieser Fehler würde durch das Lesen von U0LSR wieder gelöscht und bliebe unbehandelt und unentdeckt. Sehe ich das Richtig oder liege ich falsch? Es geht mir nicht darum irgendetwas zu kritisieren. Mir geht es wirklich nur darum Antworten zu erhalten, damit ich diese Schnittstelle besser verstehe. Würde mich sehr freuen, wenn ihr auf diese Problematik eingehen würdet. Danke im Voraus. Gruß, Martin
Hallo Robert, erst einmal vielen Dank dafür, dass Du und dein Team die Initialisierungen für den LPC 2148 geschrieben habt, sehr gut, da kein Programm was man so findet mit dem Keil RealView funktioniert. So, nun zu meinem Problem, ich möchte einfach nur einen Timer 0 oder Timer1 Interrupt" verwenden. Somit habe ich mir die Keil IDE runtergeladen (Keil µVision3 v. 3.31; RealView, DEMO), und die im Bild zu sehenden Files von Dir in ein Projekt gepackt (auch dein Startup.s), und dann versucht einen Built zu starten, leider habe ich die im Bild zu sehenden Fehlermeldungen bekommen, mit denen ich nicht so wirklich viel anfangen kann. Kannst Du mir da bitte weiterhelfen. Vielen Dank für deine Hilfe !!! Servus Christian
Es gibe 2 Fassungen der Beispiele: eine fuer den Keil Compiler (CKARM) und eine fuer RealView. Im Zweifel mit uVision die Beispiele fuer den (abgekuendigten) Keil-Compiler (CKARM?) nutzen - auch wenn das neue uVision auch RealView integriert. Code-Bundle fuer Keil hatte ich mal CKARM ausprobiert - funktionierte. Also nochmal nachsehen ob das "bundle" fuer Keil-Compiler genutzt wird und in den Project-Optionen auch der Keil Compiler aktiviert ist. <Naehkaestchen> Der Beispielcode hat allerdings ein paar Macken, sprich: es fehlen zumindest im UART und den timer-Beispielen "volatiles". War seltsamerweise beim Test mit CKARM kein Problem, damit hat der Entwickler seinen Code wohl auch getestet. Bei meiner Portierung der Beispiele nach (arm-elf-)gcc musste ich allerdings ein wenig ergaenzen und umbauen. Abgesehen vom Gebastel am Startup-Code und dem Interrupt-Handling. (Nein, die meine Portierung ist nicht "im Internet", "irgendwann" dann auf http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ ) </Naehkaestchen> Martin Thomas
Danke Martin, jetzt ist das Build durchgelaufen. Das ist schon einmal ein guter Anfang, da ich aber eigentlich einen LPC2129 verwende, muß ich den ganzen Spaß noch von 2148 auf 2129 umswitchen, die Aktion werde ich aber erst morgen starten, da die letzte nacht schon recht kurz war und ich noch feste Nahrung zu mir nehmen muß. Nochmals vielen Dank,und ich melde mich morgen mit dem Ergebnis. Servus Christian
Moin Martin, ich habe gerade ne Pulle Schampus geköpft ;-)))))))))))))) Geil, die beiden LEDs auf meinem Board Blinken, und das Interruptgesteuert, genial. Das Mann sich über so blöde blinkende LEDs so freuen kann. Habe am Headerfile rumschrauben, und ein paar I/Os drehen müssen, weil meine LEDs an anderen Pins hängen, und jetzt läufts ;-))) Nochmals vielen Dank für deine Tipps. Was mir jedoch schleierhaft ist, warum der RealView Kram so viel Probleme macht, daß man ihn am besten ausstellt, was soll das? Weist Du was an dem RealView Kram toller ist als am alten CKARM? Servus und nochmals DANKE, Christian
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.