Forum: Mikrocontroller und Digitale Elektronik Erfahrungen mit LPC2103?


von Mathias (Gast)


Lesenswert?

Hallo, hat jemand von euch schon Erfahrung mit den neuen "Low Cost"
Arm Controllern von Philips sammeln können? Habe nämlich eventuell vor
neben den 8051, in eine weitere, schnellere Controllerfamilie
einzusteigen. Der Grund dafür ist, dass ich mit den max. 9 Mips meiner
8051(LPC9xx) bei manchen Aufgaben einfach zu langsam bin.
Als Alternative würden sich die AVR Controller bzw. gleich die Philips
Arms anbieten. Von den Kosten her liegen zweitgenannte ja noch unter
den AVR Controllern(1.7€ bei 100 Stück). Wie sieht es denn mit der
Programmierung aus? Da ich in C programmiere, dürfte es bis auf die
32Bit Adressen ja nicht wirklich große Unterschiede geben oder? Die
Tatsache, dass man den GNU Compiler in die KEIL IDE einbinden kann,
spricht ja auch nicht gerade gegen diese Controllerfamilie...

Mfg, Mathias

von Robert Teufel (Gast)


Lesenswert?

Hallo Mathias,

wenn du vom LPC900 direkt zum ARM wechselst, dann wird die Code Groesse
in den meisten Faellen wachsen. Merkwuerdigerweise passiert dasselbe,
wenn du von einem ARM auf einen LPC900 gehst. Ein Softwareentwickler,
der sich der Architektur bewusst ist, die er verwendet wird versuche
auf einem 8-bit controller 8-bit Daten zu verwenden und moeglichst
wenig mit lagene Variablen rechnen, wenn er aber auf einem 32-bit
Rechner arbeitet, dann beachtet man solche Einschraenkungen nicht mehr
(man muss auch nicht).

Der langen Rede kurzer Sinn, ich wuerde keine grossen
Performancevorteile von einem LPC900 zum AVR erwarten aber einen
grossen Sprung zum LPC2103.

Andererseits wuerde der Code fuer den AVR wahrscheinlich ziemlich
gleich gross bleiben, fuer den ARM wird er wahrscheinlich wachsen.

Noch ein Wort zum Thema GNU Compiler; der Compiler ist OK, die
Libraries sind bes....onders gross. Also GNU verwenden mit einem
LPC2103 ist OK allerdings kann bereits ein fprintf das Flash fuellen.

Gruss, Robert

von Mario (Gast)


Lesenswert?

ich bin gerade dabei mich mit der Thematik auseinanderzusetzen. Einguter
Startpunkt ist der Einführungsartikel in der Artikelsammlung auf dieser
Seite, also einfach mal vorbeischauen.

@Robert: Ich hab zwar noch keine genaue Ahnung von den ARM-Tool-chains,
aber das klingt nach der Benutzung der falschen library. Es gibt da
drei:
 * glibc => für den großen, die benutzt wahrsch. du.
 * newlib => für embedded
 * uclib => für embedded

welche der beiden embedded-libs besser ist, oder welchen Unterschied
(wenn überhaupt) es da gibt, konnte ich noch nicht herausfinden

Gruß
Mario

von mthomas (Gast)


Lesenswert?

newlib ist relativ ueblich (u.a. in gnuarm. WinARM, diverse
"Selbstkompilieranleitungen"). Bei der newlib nach Moeglichkeit
iprintf verwenden statt printf. (s)iprinf unterstuetzt keine "float",
dafuer wird das Binary aber nicht ganz so stark "aufgeblaeht".
dietlibc waere noch zu erwaehnen. Neben technischen Details bei der
libc-Auswahl auch auf die Lizenzbedingungen achten.

Martin Thomas

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.