Forum: Mikrocontroller und Digitale Elektronik ARM7 von Atmel oder NXP?


von Lars T. (laptop24)


Lesenswert?

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

von Christian J. (elektroniker1968)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

Christian J. schrieb:

> LPC Board aus China für 45€ (siehe Fotobeitrag oben)

Wo "oben" meinst du? Etwa den Anhang?

von Christian J. (elektroniker1968)


Angehängte Dateien:

Lesenswert?

Hat aber leider kein CAN. Such mal nach der Firma ETT aus Thailand, die 
haben die.

von Manuel A. (Firma: Fraunhofer IIS) (hed)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

>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.

von Stefan (Gast)


Lesenswert?

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...

von Kai F. (k-ozz)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Lars T. (laptop24)


Lesenswert?

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.

von Tilo (Gast)


Lesenswert?

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.

von nurso (Gast)


Lesenswert?

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ß

von Peter D. (peda)


Lesenswert?

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

von Crimson (Gast)


Lesenswert?

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!

von Lars T. (laptop24)


Lesenswert?

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.

von let (Gast)


Lesenswert?

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.

von Lars T. (laptop24)


Lesenswert?

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...

von let (Gast)


Lesenswert?

> 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.

von Kai F. (k-ozz)


Lesenswert?

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.

von Joe (Gast)


Lesenswert?

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

von Ruppi66 (Gast)


Lesenswert?

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

von Lars T. (laptop24)


Lesenswert?

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