Hallo, ich programmiere seit einiger Zeit embedded Systeme auf der PPC Platform (beruflich). Jetzt möchte ich auch privat in die embedded Welte einsteigen. Dazu habe ich mir die ARM7 Platform ausgesucht. Jetzt stellt sich die Frage: Was nehmen? Ich finde die ARM7 von Atmel recht symphatisch, da hier viel Documentation und User-Erfahrung im Internet zu bekommen ist. Leider finde ich kein Entwicklerboard, das meinen Anforderungen genügt. Da werde ich eher mit einem µC von NXP fündig (LCP2378 von Olimex). Ich benötige an einem Entwicklerboard: - Ethernet (100Mbit) - 2x CAN 2.0B - USB - SD-Card - JTAG Optional wären: - Buttons - Display Kennt jemand ein Board mit einem Atmel µC, das meine obigen Anforderungen erfüllt? Ist ein NXP Board ebenfalls eine gute Wahl (insbesondere, was den Support im Internet angeht)? Vielen Dank für Infos... Lars
NXP ARM LPC 2368 LPC Board aus China für 45€ (siehe Fotobeitrag oben) Rowley Crossworks IDE für 120€ mit GCC Compiler (top!) USB Wiggler von Elektronikladen für 40€ es gibt hunderte Boards, für jeden etwas. Olimex ist schon gescheit. fertig ist das einfach zu bedienende System. Mit Armel habe ich keine Erfahrung., rate aber aus Erfahrung von Freeware Developer Kits ab (Winarm, Yago etc) , da diese eine erhebliche Kenntnis von Makefiles, Linkerskripten, Startup Code etc erfordern, was Dir Kauflösungen abnehmen.
Christian J. schrieb:
> LPC Board aus China für 45€ (siehe Fotobeitrag oben)
Wo "oben" meinst du? Etwa den Anhang?
Hat aber leider kein CAN. Such mal nach der Firma ETT aus Thailand, die haben die.
Hi Ich habe das SAM7-EX256 von Olimex. Kommt sehr nahe an deine Anforderungen heran, es fehlt nur 1xCAN. Bin mit dem Board sehr zufrieden. Zum Programmieren / Debuggen nutze ich den ARM-JTAG-TINY von Olimex. Dieser ist jedoch ein reiner FTDI Signalumsetzer und macht bei mir mit manchen USB Ports und Hubs Probleme. Auch werden von Olimex dafür keine 64 Bit Treiber bereitgestellt, man kann sich aber die Original FTDI Treiber entsprechend anpassen. Ich kann dir auch nur Empfehlen die eine IDE zu kaufen, vor allem wenn du noch nicht so viel Erfahrung mir Mikrocontrollern hast. Der Einstieg mit OpenOCD und ähnlichen ist schon sehr frustrierend. Hierbei bieten sich Rowley Crossworks ARM und IAR EWARM an. Crossworks arbeitet direkt mit dem JTAG-TINY, EWARM nur mit dem neuen JTAG-EW. Allerdings finde ich dass der IAR Compiler mit der beste Compiler für embedded ist. Vor allem wenn man auf verschiedenen Architekturen arbeitet. Er kostet aber auch mehr. mfg Manuel
>Jetzt möchte ich auch privat in die embedded Welt einsteigen. >Dazu habe ich mir die ARM7 Platform ausgesucht. Wieso ARM7? Der ist veraltet. Der Nachfolger ist der Cortex-M3. Tu Dir selber einen Gefallen und fang gleich mit dem an. Ist wesentlich besser, in schnelleren Varianten erhältlich (100MHz), sowie deutlich einsteigerfreundlicher und schlicht und einfach viele Krücken des ARM7 hat der nicht mehr. Devboard gibt es in Kürze: http://www.luminarymicro.com/products/dk-lm3s9b96.html Bietet alles, was Du suchst.
Danke für diesen interessanten und unvoreingenommenen Beitrag. Auf den Hinweis auf nicht lieferbare Controller und allgemeine Vorurteile haben wir schon gewartet. >Devboard gibt es in Kürze: >http://www.luminarymicro.com/products/dk-lm3s9b96.html >Bietet alles, was Du suchst. Page not found...
Der 8051 ist bereits fast 30 Jahre alt und wird noch immer genutzt und er scheint auch immer wieder in neuen Inkarnationen auf dem Markt. Und sag nicht, das er keine "Krücken" besitzt. Wer hier den ARM7 verteufelt, der hat noch nicht mit ihm gearbeitet.
Kai F. schrieb:
> Wer hier den ARM7 verteufelt, der hat noch nicht mit ihm gearbeitet.
Oder er hat, und hat bei der Gelegenheit über gewisse
Konstruktionsfehler geflucht. ;-)
Aber du hast natürlich Recht. Nur weil grad eine neue Sau mit bestimmten
Vorteilen durchs Dorf getrieben sind die bisherigen Viecher durchaus
nicht veraltet.
Vielen Dank für die interessanten Vorschläge. Das Board mit dem LCP2368 habe ich auch schon gefunden. Wenn man ein wenig trixt, dann hat dieses Board sogar 2x CAN. Durch Recherche über dieses Board bin ich auch auf den LCP2378 und damit zum Olimex-Board gekommen. Der Hinweis mit der Kauf-IDE ist durchaus wertvoll. Ich werde das ernsthaft ins Kalkül ziehen, obwohl ich mit Makefiles und auch mit BSPs (sprich Startup-Code) keine Probleme habe. Dennoch beugt man diversen Fehlerquellen und Stolpersteinen vor, indem man die problematischen Stellen von vornherein vermeidet. Das SAM7-EX256 hatte ich auch in Erwägung gezogen. Allerdings fehlt mir da eigentlich der zweite CAN. Falls ich keine bessere Lösung finde, ist dieses Board sicherlich weiter auf meiner Liste. Die IAR Workbench hätte ich auch gerne. Mir sind aber mehr als $3000 als Hobby-Investition für den Einstieg eindeutig zu viel. Die Crossworks Tools werde ich mir mal genauer ansehen. Dennoch kommen auch die freien Tools durchaus in Frage. Ein Dev-Board, das "in Kürze" erhältlich ist, nutzt mir heute nichts. Zu oft habe ich auf Hersteller gesetzt, deren Produkt "in Kürze erhältlich" war, um dann nach ewigen Terminverschiebungen eben doch bei einer anderen Lösung zu landen. Ich werde das trotzdem mal beobachten. Sollte das Board verfügbar werden, bevor ich die Tools gekauft habe, bekommen sie auch eine Chance. Dennoch vielen Dank für den Tipp.
Ich habe mit einem anderen ARM7 Derivat herumgespielt, für das es quasi noch nichts gab. Dabei habe ich mit gnuarm / yagarto angefangen. Rückwirkend muss ich sagen, dass sich die freien Umgebungen dahin gelohnt haben, dass ich lernen musste, was ein Compiler, Linker usw. ist und wie die einzelnen Komponenten ineinander spielen. Auf der anderen Seite haben die kommerziellen Compiler einige Vorteile: kürzere Entwicklungszeiten, viele fertige Libraries usw. Crossworks kann ich auch empfehlen. Baut auf gnu-gcc auf. Ich hatte über die Uni für einige Zeit die "Education" Version im Einsatz und war mit dem Support sehr zufrieden.
Dirk hat recht cortex-A/R/M serien werden langfristig ARM palleten ersetzen aus vielen gründen (unter anderem weil ARM das so will). Ob man es will oder nicht. Das bedeutet aber nicht daß es keine ARM Prozessoren mehr geben wird. Ich würde dir auch cortex-m3 (ST, luminary oder bald auch NXP ;-) ) empfehlen. Gruß
Kai F. schrieb: > Der 8051 ist bereits fast 30 Jahre alt und wird noch immer genutzt .. > Wer hier den ARM7 verteufelt, der hat noch nicht mit ihm gearbeitet. Nö, gerade die 8051-Benutzer mögen den ARM-Cortex-M3, weil er auch die wunderschönen Bitbefehle hat und man nicht von hinten durch die Brust ins Auge auf Set- und Clear-Register schreiben muß. Außerdem ist die Interruptlogik des ARM-Cortex-M3 bedeutend einfacher und leistungsfähiger, als die des ARM7. Ich sehe keinerlei Grund, wenn man eh neu anfängt, noch auf den alten ARM7 zu setzen. Die ARM-Cortex-M3 sind verfügbar in Volume-Production von Luminary, ST, z.B. Farnell hat sie als Lagerware. Und Atmel, NXP wollen auch mitmachen. Peter
Also was die Entscheidung zwischen AT91SAM7 und LPC23XX sollte man auch den Flash zugriff berücksichtigen vor allem wenn man den ARM(32Bit) Code und nicht Thumb(16Bit) Code verwendet. Das kann nämlich beim AT91SAM7 über 30MHz Takt zu Wartetzeiten im Prozessor führen das dieser Prozessor auf Thumb Code optimiert ist und ein 16Bit Flash Interface hat). Wogen die meisten LPC23XX mit maximaler Geschwindigkeit ARM Code abarbeiten, da 32Bit Flash Interface. Außerdem fehlt dem gennanten Atmel das externe Speicherinterface. Nur so als Anmerkung da man solche Sachen bei der Prozessor auswahl leicht übersieht. Allerdings würde ich auch gleich mit einem Cortex M3 anfangen!
N'abend, Wunderbar. Es kristallisiert sich heraus dass man zwar durchaus noch auf ARM7 setzten kann, wenn man jedoch sowieso völlig neu einsteigt, dann lohnt es sich gleich den Cortex-M3 in Betracht zu ziehen. Ich werde mich also mal auf die Suche nach einem passenden µC machen. Was Entwicklerboards mit Cortex angeht, ist die Auswahl momentant noch ziemlich dünn.
Mir ist kein (lieferbarer) M3 Controller bekannt der deine Anforderungen erfüllt. Der einzige Lumi mit CAN und Ethernet hat kein USB. Und kein STM32 hat Ethernet. Die LPC17xx sind jetzt auch schon seit einem halben Jahr überfällig. Immerhin sollen sie Pinkompatibel zu den 23ern sein. Man kann also - wenn es sie irgendwann nochmal geben sollte - eine bestehende Platine damit bestücken und den M3 testen. Die LPC23xx und AT91SAM7X haben ETH, CAN und USB on-chip (AT91 nur 1x CAN). Allerdings nur USB Device. USB Host hat der 2388 (144Pin). Wenn du warten kannst/willst wäre der LPC1766 und v.a. die LM3S9Bxx sicherlich interessant. Die LM3S sind für Q3/09 angekündigt. Wann die tatsächlich ausgeliefert werden weiß nur der Himmel. Ich bezweifle das das noch in diesem Jahr sein wird. Stand heute gibt es nur zwei Möglichkeiten: - ARM7 und gut - M3 mit Einschränkungen, z.B. kein USB oder ETH.
Guten Morgen, Das Resumee von let deckt sich völlig mit meinen Recherchen. Der LCP2388 von NXP schein auch noch nicht auf dem Markt zu sein. Ich entwickle jetzt erstmal ein Development Board auf Basis des LCP2378. Dieser deckt momentan meine Anforderungen am besten ab. Warten werde ich nicht, weil es sich nicht lohnt. Niemand weiss, wann die fehlenden Teile tatsächlich verfügbar sind. Also nehme ich jetzt, was ich heute bekommen kann. Sollte ein geeigneterer µC dann verfügbar werden, dann werde ich sehen, ob es sich lohnt ein neues Board mit dem neuen µC zu bauen. Auf jeden Fall waren die Hinweise sehr aufschlussreich. Vielen Dank dafür...
> Der LCP2388 von NXP schein auch noch nicht auf dem Markt zu sein.
Doch, Digikey hat ihn. Der kam zusammen mit dem 2387. Aber Ein
Eval-Board dafür scheint es nicht zu geben.
Also der LPC2388 ist schon seit fast einem Jahr auf dem Markt verfügbar. Ich habe im Juli 2008 bereits welche bei Digikey gekauft. Als Eval-Board gibt es das MCB2388 von Keil. Gibt's z.B. bei Digikey als OM11012 oder bei Mouser als MCB2388. Im Prinzip ist der LPC2388 ein LPC24xx, bei dem der EMC beschnitten wurde. Als günstigere und flexiblere Alternative zum MCB2388 könnte für dich dann auch das LPC-E2468 von Olimex in Frage kommen. Vorteil: massig Speicher und viele Pins auf Steckverbinder herausgeführt.
Hi, jedoch wäre die Atmel Lösung von Vorteil, wenn Du heute mit dem SAM7 anfängst, dann ist es egal auf welche Platform (m3, ARM9 etc.) umsteigst. Häufig ist es so dass die Peripherie sich so arg ändert, dass der Code von ARM7 auf ARM9 z.b. neu geschrieben werden muß. Bei Atmel ist es zumindest bisher so gewesen, dass man leicht von Arm7 auf Arm9 umsteigen konnte. Sicherlich wird das für den CM3 genauso gelten. MfG Joe
Hallo, Joe hat mit dem Recht, dass die Peripherieeinheiten von Atmel untereinander zum Großteil kompatibel sind, egal ob SAM7 oder SAM9. Das Problem bei der Atmel SAM7-Familie ist, dass sie keine USB-Host oder zumindest USB-OnToGo wie der NXP hat. Weiss allerdings nicht welche USB-Variante Lars benötigt. Mfg Ruppi66
Also zunächst hätte ich gerne nur das USB Device. Allerdings will ich mal nicht ausschliessen, dass ich auch mal was mit dem USB Host machen will. Wobei es natürlich zweifelhaft ist mit einer auf dem Board aufgelöteten Typ B Buchse auch USB Host Anwendungen zu entwickeln. Was sich mir aber durchaus aufdrängt ist, dass ich bei NXP scheinbar am besten bedient bin. Und das ist gut so, da ich bis jetzt noch offen für alle Möglichkeiten bin. Sobald ich mich mal festgelegt und auf einer CPU eingerichtet habe, ist der Käse gegessen. Dann bleibe ich i.d.R. auch dabei. Ich werde jetzt wohl mit dem LCP2378 bzw. LCP2388 zur Tat schreiten. Danke an alle für die wertvollen Hinweise.
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.