Hi Ich hab mir jetzt mal die LPC22xx Controller von Philips angesehen und das Datenblatt mal überflogen. Vielleicht gibts hier ja ein paar Leute, die sich mit diesen Dingern schon etwas genauer beschäüftigt haben... Und zwar lesen sich einige Stellen im Datenblatt so, als ob die LPC22xx über das externe Memory Interface von einem externen Speicher Programme ausführen kann. Genaues habe ich leider im Datenblatt nicht gefunden. Also deshalb meine Frage: Können die LPC22xx ARM Prozessoren von Philips von einem externen Speicher (externes SRAM, externes Flash) Programmcode ausführen?? Falls jemanden der Grund interessiert: Ein Freund und ich wollen ein DevBoard bauen, mit diverser Peripherie (CF-Interface, IDE Interface, externes SRAM (ca. 512kByte), vielleicht USB Host, ...). Direkt auf dem Controller soll dann eine Art Kernel laufen. Außerdem soll es dann möglich sein von den externen Devices (HDD, CF, USB Stick) Programme auszuführen. Wir wollen also so ne Art "Mini Linux" machen... Und dabei steht natürlich die richtige Wahl des Prozessors im Mittelpunkt! Der Controller soll einerseits: 1. leicht zu besorgen, realtiv billig und trotzdem einigermaßen leistungsfähig sein. Durch meine Google Recherche bin ich bis jetzt nur auf die LPC Typen von Philips und die Mega von Atmel gestoßen. Die sind leicht zu bekommen... und auch noch relativ billig. Vorteil von den LPC Dingern ist, dass sie 16/32bit Controller sind mit bis zu 60MHz Frequenz. 2. Der nächste Grund der für die LPC Controller spricht, ist, dass sie vielleicht von einem externen Speicher Befehle laden und ausführen können, was die Atmel Controller nicht können (hoffe halt, dass mir das wer bestätigen kann)! Auf einem Atmel Controller müsste man einen Interpreter für die Befehle schreiben, wobei das aber nicht wirklich zu Performance beiträgt! mfg Andreas
Na dann viel Vergnügen beim Layout (32 Daten + 24 Adreßleitungen + ...). Die 60MHz kannst Du eh vergessen. Wenn ich das richtig sehe, dauert ein externer Zugriff mindestens 4 Zyklen. Aber ich sehe da kein Problem, einen MC mit internem Flash sich selbst für die neue Anwendung umflashen zu lassen. Ein echtes Linux, was ständig Programme auslagert, wird auf einem MC eh keine Freude bereiten. Es sei denn Du bist exzessiver Kaffetrinker und Kettenraucher um die Wartezeiten zu überbrücken. Da würde ich einfach einen fertigen 1-Platinen-PC nehmen. Peter
Der lpc22xx kann code aus dem externen speicher ausführen. die arm-architektur kennt keinen unterschied zwischen programm- und datenspeicher. durch die programmierbaren cs-leitungen spart man sich zusätzlich glue-logic. allerdings lassen sich programme aus dem externen flash in der regel nicht so schnell ausführen wie aus dem internen, da dieses quasi mit 128 bit angebunden und gepuffert ist und so im schnitt code mit 0 ws ausführen kann. leistungsmässig kann man avr und lpc natürlich nicht vergleichen, da schlägt der lpc den avr um längen. (wenn es nicht gerade um bitmanipulationen auf den ports geht, siehe dazu auch http://www.freertos.org ). einen linux-port gibt es schon, ich denke da sollte man das rad nicht neu erfinden. ( http://www.uclinux.org ) preis-leistungsmässig ist der lpc den avrs deutlich überlegen. und bitte kein geflame, denn ein lpc2129 mit 256k flash/16k ram/2xcan/adc/2xspi/i2c/uvm bekommt man bereits für deutlich unter 20 euro. natürlich haben auch die avrs für kleinere anwendungen ihre berechtigung, keine frage. aber ich denke, der trend geht ganz klar zu den hochinegrierten arms. das kann man alleine daran erkennen, dass viele hersteller (philips, atmel, ad, oki....) mit hochdruck kleine und billige arm7tdmi-s-devices auf den markt werfen. zudem ist mit dem gcc ( www.gnuarm.com ) ein leistungsfähiger und kostenloser compiler auf dem markt.
Preislich sind die LPCs ja toll... Bei Segor kostet eine LPC2214 (also 256k Flash/16k Ram/....) gerade mal 16 Euro. Wenn man bedenkt, dass man für nen ATMega128 bei Reichelt auch 10 Euro zahlt ist das eigentlich schonmal nicht schlecht. Was ich wohl vergessen habe anzumerken... wir wollen das Ding ja nicht aus Geldgründen bauen (zumindest nicht in erster Linie), sondern uns einfach mal die Techniken des Betreibssystem Designs usw. ansehen. Da wird wohl schon klar, dass wir Studenten sind ;-). Was ich irgendwie etwas falsch aufgefasst habe, war, dass ich auch für den LPC einen Interpreter für externen Code basteln muss, wenn intern so ne Art Kernel läuft! Der Vorteil an dem LPC ist aber trotzdem noch, dass er wesentlich mehr Speicher adressieren kann und bei 60 MHz etwa mit 15 MHz auf den externen Speicher zugreifen kann (ATMega hat da bei 16 MHz dann doch nur 5 1/3 MHz). Also gut... wir werden uns das wahrscheinlich nochmal durchdenken müssen, welchen Controller wir verwenden und wir das dann am Besten machen! mfg Andreas
Hi wenn es euch wirklich ernsthaft um das Design eines OS geht würde ich zu einer CPU mit MMU greifen. BTW: Muß das sein das du die identische Frage auch gleich noch in dse stellst? Matthias
@Matthias: Naja... ich denke nicht alle, die im Mikrocontroler Forum sind, werden auch die dse Newsgroup lesen bzw. umgekehrt. Deshalb hab ich es auch als sinnvoll erachtet. Andreas
Eine Alternative zum ARM wäre auch noch die SH-Serie von Renesas: SH7045 z.B.. Diese haben auch eine gute Anbindung an ext. Speicher (DRAM, Burst-ROM). Irgendwo war zu lesen, daß die LPC2xxx Probleme mit Interruptpriotitäten haben, die SH haben diese nicht.
@Michael: Wie schauts bei den SH Dingern mit einem GCC Compiler aus? Und weisst du vielleicht auch zufällig, wo man die bekommen kann?? mfg Andreas
Sieh mal unter www.kpit.com. Dort gibt es GCC für SH und H8S CPUs. Einfach installieren - läuft.
Und wo kann man die H8S bzw. SH Typen bekommen. Welcher Elektronikvertrieb hat die?? Weiß das vielleicht auch jemand?? mfg Andreas
Es gibt mehrere Distributoren. Die H8S/2394 z.B. liegen unter 10 ab 100; dies nur zur Preiseinschätzung.
Hallo, Schaue mal auf meiner HP habe eine ARM Webbox gebaut. Es folgen bald die Platinen Layouts. Bis dahin einige Bilder! Mfg Ulrich
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.