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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.