LPC22xx Controller?

Gast #127224
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
Gast
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.
Gast
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
Gast
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
Gast
@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
Gast
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.
Gast
@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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.