LPC22xx Controller?

Gast #127224
Lesenswert?

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
#127225
Lesenswert?

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 #127226
Lesenswert?

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 #127227
Lesenswert?

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 #127228
Lesenswert?

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 #127230
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren