Forum: Mikrocontroller und Digitale Elektronik Aller Anfang beim ARM - Controller.


von U. B. (ub007)


Lesenswert?

Hallo !

Ich hab hier im Forum schon mal einbischen rumgesucht, bin aber noch 
nicht so richtig fündig geworden.
Im Augenblick geht die Tendenz offensichtlich alles auf die 32-Biter von 
ARM-Cortex.
Ich wollte mich jetzt da mal einlesen. Ich hab schon einige Erfahrung 
mit 80x51,PIC und ATMELS gemacht. Soviel ich weiß ist ATMEL beim ARM 
auch irgendwie unterwegs.
Ich wollte wie bei den ATMELS auch etwas wie den AVR Dragon mit einer 
GNU-Umgebung mir mal ansehen/kaufen (also den Programmer ), doch ich 
weiß nicht auf was für eine Tendenz sich die Industrie einigen wird 
(wird wahrscheinlich im Augenblick niemand sagen können). Klar das ist 
auch Anwendungsabhängig, aber ich möcht halt nicht einen ARM uC "lernen" 
der eher nachher als Exote gilt. Wenn das Ding auch noch Linux-tauglich 
wäre - sowohl von außen - Programmierbar bzw. Debuggbar - als auch von 
innen -  event. auch mit einem Mini-Linux-Kernel laufen könnte dann wäre 
das ne feine Sache.
Vielleicht könntet ihr mir beim Einstieg etwas weiterhelfen ?

Gruß Uli

von Albert .. (albert-k)


Lesenswert?

An sich ist der Umstieg nicht so schwer wenn man schon wie du etwas 
Erfahrung in der ganzen Sache mitbringt. Trotzdem musst du dir vorher 
ein paar Fragen stellen, um die Flut an optionen etwas einzuschränken:

- Bevorzugter Hersteller? (Vl. magst du die machart der Datenblätter 
einer Firma nicht oder es gibt dir zu wenig Support/Code-Beispiele)
- Willst du ein fertiges Eval-Board/Kit oder nur einen Programmer und 
Controller um alles von der Picke auf selbst zu machen?
- In Welche Leistungsklasse der Controller willst du gehen? (Automotive, 
Industrie, HID, Embedded Computer, etc.)
- Entwicklungsumgebung Open Source oder auch Kostenpflichtig (oder 
Kostenlos mit Beschränkung)?

von willibald (Gast)


Lesenswert?

Uli B. schrieb:
> Im Augenblick geht die Tendenz offensichtlich alles auf die 32-Biter von
> ARM-Cortex.

Aus gutem Grund. Die Dinger sind schnell, trotzdem stromsparend, und 
haben eine moderne Architektur, die sich einfach und ohne nervige 
Klimmzüge programmieren lässt.

Es gibt verschiedene Cortex-"Familien":

+ Cortex-M0/M1/M3/M4 (M für "Mikrocontroller"): Nachfolger zum ARM7 und 
Upgrade für ältere 8- und 16-Bitter. Die kleineren Familienmitglieder 
haben nicht genug Speicher, um Linux starten zu können. Für die größeren 
gibt es uCLinux (abgespeckte Linux-Variante, die auf Prozessoren ohne 
MMU läuft). Um die Vorteile eines vollwertigen Linux auszuschöpfen, sind 
die Cortex-M aber wohl alle nicht geeignet. Sehr verbreitet sind 
hingegen diverse Echtzeitsysteme (FreeRTOS und Kollegen).

+ Cortex-A8/A9/A15 (A für "Application"): Nachfolger zum ARM9 / ARM11, 
Konkurrenten zu XScale und inzwischen auch zu Atom-Prozessoren. Werden 
(anders als die Cortex-M) praktisch nur mit Betriebssystem eingesetzt 
(Linux, Android, Windows CE), weil sich das bei der Vielfalt der 
Funktionen auf jeden Fall rechnet. Typische Anwendungen sind Smartphone, 
Webpad, Settop-Box, portable Video-Player.

+ Außerdem gibts noch die Cortex-R4/R5 (R für "Realtime"). Die werden 
z.B. im Automotive-Bereich eingesetzt, also für Privatanwender eher 
unzugänglich.

Im Prinzip muss man sich also entscheiden: Cortex-M ohne Linux oder 
Cortex-A mit Linux. Als Konsequenz ergibt sich, dass man für die 
Cortex-M fast sicher irgendeinen Programmieradapter braucht (z.B. JTAG, 
oder auch SWD) und für die Cortex-A fast genauso sicher drauf verzichten 
kann und nur eine RS232- und eine Ethernet- oder USB-Schnittstelle 
braucht (solange man den Bootloader heil lässt).

> Klar das ist auch Anwendungsabhängig, aber ich möcht halt nicht
> einen ARM uC "lernen" der eher nachher als Exote gilt.

Cortex-M: Gut im Geschäft sind hier in Europa ATMEL, NXP und ST. Für 
besonders stromsparende Anwendungen auch EnergyMicro. Andere (Toshiba, 
TI, Nuvoton) spielen bisher keine große Rolle, aber mein Eindruck von 
der Embedded World 2011 ist, dass sich das im Fall von TI und Nuvoton 
bald ändern könnte.

Da aber alle Cortex-M-Derivate dieselben Innereien haben (CPU-Kern, 
grundlegendes Speicherlayout, Interruptcontroller, SysTick-Timer und 
einiges andere), sind die Unterschiede zwischen den Herstellern 
erheblich kleiner als z.B. in der ARM7-Familie und erstrecken sich im 
Wesentlichen auf die Taktfrequenz und die Ausstattung mit Peripherie und 
Speicher. Die Gefahr, Exotenwissen anzuhäufen, ist daher gering.

Cortex-A: Da die Dinge fast immer Betriebssysteme haben und sowieso 
nicht auf der nackten Hardware programmiert werden, sind für die 
Herstellerauswahl andere Dinge entscheidend.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Lese hier im Artikel: STM32

Da gibt es viele Tipps, die gängigen Links zu den Compilern, Demo-Boards 
und auch beschrieben, was anders ist zu den "kleinen" 8-Bitter.

Lässt sich auf alle Cortex-M3 Variationen gleichermaßen anwenden nicht 
nur den STM32.

von Tante Käthe (Gast)


Lesenswert?

Das könnte interessant sein als Einstieg. Ich werde sehr wahrscheinlich 
das Seminar in Berlin wahrnehmen.

Ist kostenlos ... ob es umsonst war, weiß ich später ;-)

Noch was zu oben: Die Frage ist so wie: Ich such ein Auto ... ;-)
Wenn Du Dir über Deine Anforderungen klar bist, kannst Du mittlerweile 
aus über 20 Anbietern die richtigen Produkte mit ARM Cortex aussuchen 
("vom 1l-Auto bis zum Ferrari").

Das ist auch das schöne ander Cortex-Welt: 1 Entwicklungsumgebung, 
CMSIS-SW-Standard, der den Austausch der MCUs zumindest vereinfacht, 
bzw. Plattformentwicklung mit mehreren Herstellern ermöglicht.

Propriatäre "CPU-Cöre" haben aus meiner Sicht im Breitenmarkt 
ausgedient. Nur noch da wo Spezialisten Ihre Vorteile so auspielen, daß 
man den Mehrwert auch verkaufen kann, kommen Sie noch zum tragen (siehe 
Infineon TriCore im Auto).

http://www.avnet-memec.eu/events/seminar-detail/event/design-strategies-for-arm-system.html

Details
Date & locations
10.05.2011 - Paris (Bercy)
17.05.2011 - Milan
19.05.2011 - Birmingham
26.05.2011 - Berlin
Design Strategies for ARM® SystemsThe rapid diversification and 
proliferation of ARM technology is impacting designers of a wide array 
of products. As technology options increase, many designers are turning 
to channel partners like Avnet for technical solution recommendations 
that are unbiased and impartial and that address performance and 
functionality requirements specific to a project, end application or 
industry segment.

To address the needs of our customers, Avnet Memec will host a European 
series of technical trainings, representing a unique multi-manufacturer 
collaboration that features an range of providers showcasing the latest 
design solutions for ARM systems.


Training Courses

45- and 75-minute specialized training courses taught by factory subject 
matter experts and organized into two technology areas — 
microcontrollers & application processors. The emphasis of each course 
will be to demonstrate practical, real-world design solutions.

click here to read more details about the course offerings.


Exhibition

Events will also feature partner exhibits that will allow for direct 
interaction with factory experts looking to share their insights into 
exciting new products and advanced technologies and to demonstrate the 
latest development platforms for ARM systems.

von U. B. (ub007)


Lesenswert?

Hallo !

Erstmal danke an alle ! Das sind klasse Infos !

Gibts denn event. auch Seminare/Workshops oder sonstwas in Raum 
Süddeutschland - also Raum Stuttgart - Ulm bzw. wo kann man da mal 
nachfragen ?

Dieser CMSIS-SW-Standard - ist das ne Software die man braucht (Preis ?)
oder kann man hier auch auf z.B. gnu Compiler tools ausweichen wie bei 
AVR-Studio ?

Gruß Uli

von U. B. (ub007)


Lesenswert?

....

Ach - hatte ich vergessen ...

Gibts schon zu ARM Cortex Bücher ?

Gruß Uli

von Tante Käthe (Gast)


Lesenswert?

CMSIS:
http://www.elektroniknet.de/embedded/technik-know-how/entwicklungs-tools-fuer-hard-und-software/article/29620/0/
http://infocenter.arm.com/help/index.jsp -> gib mal CMSIS als 
Suchbegriff ein
Das ist ein SW Standard für alle Cortex M Hersteller.
D.h. es ist keine Extra-SW sondern Du erhältst von ARM und den 
Herstellern - wie z.B. die EFM32LIB von Energy Micro - eine SW-Lib, die 
den Standard erfüllt. Somit kannst Du einfacher von Hersteller zu 
Hersteller wechseln.
Beispiel: EThernet-Projekt mit STM32, dann Low Power Projekt mit EFM32. 
Wenn Du die SW nach CMSIS aufbaust, kannst Du Funktionen deines 
Applikationscodes von einer MCU auf die andere übernehmen.

Bücher:
http://www.arm.com/support/resources/arm-books/index.php

Free tools:
z.B. Gnu Compiler und Eclipse
Auf meinem Laptop läuft Eclipse und Gnu Compiler für Energy Micro, die 
haben eine Appnote zu dem Thema herausgebracht - siehe 
www.energymicro.com und suche unter Downloads ...

Andere ARM Seminare laufen glaube ich bei Silica und EBV, schau mal da 
auf die Homepages.

Schönen Abend
TK

von (prx) A. K. (prx)


Lesenswert?

Uli B. schrieb:

> Gibts schon zu ARM Cortex Bücher ?

Joseph Yiu: The Definitive Guide to the ARM Cortex-M3, Second Edition

von U. B. (ub007)


Lesenswert?

Hallo !

Danke für die super Infos.
Ich glaube für den Einstieg (ohne Linux) wollte ich mir den M3
wie im Link beschrieben mal zulegen:

http://de.mouser.com/Search/ProductDetail.aspx?R=STM32-103STKvirtualkey63420000virtualkey909-STM32-103STK

Da ich mit dem AVR Dragon gute Erfahrungen gemacht habe würde das Board 
über JTAG ansteuern.

Für das programmieren / Debuggen habe ich diesen Adapter gefunden, weiß 
aber nicht ob der sich mit dem Dragon bzw. mit dem M3-Board verträgt:

http://de.mouser.com/Search/ProductDetail.aspx?R=ARM-JTAGvirtualkey63420000virtualkey909-ARM-JTAG

Haut das soweit hin ?

Gruß Uli

von U. B. (ub007)


Lesenswert?

Hallo !

Sorry ich glaube das war der falsche Programmadapter, da ich keinen 
Parallel-Port mehr habe.

Das müßte aber dann der richtige sein:
http://de.mouser.com/Search/ProductDetail.aspx?qs=mEsWLNrVceO7wEpQe%252b2VBg%3d%3d

Gruß Uli

von Sebastian H. (sh______)


Lesenswert?

Wozu irgend nen Frickel-Programmer wenn man auch für wenig Geld 
Professionelle Hardware bekommt?

http://www.segger.com/cms/j-link-edu.html

von U. B. (ub007)


Lesenswert?

Hallo !

Ja, das stimmt.
Heißt das jetzt dass ich nur diesen Programmer brauche, oder ist der AVR 
Dragon zusätzlich notwendig ?
Wäre event. nicht so schön wenn das AVR-Studio diesen Programmer nicht 
unterstützt oder kann ich dann z.B. über Eclipse und GNU diesen 
Programmer ansteuern ?

Gruß Uli

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Sebastian H. schrieb:
> Wozu irgend nen Frickel-Programmer wenn man auch für wenig Geld
> Professionelle Hardware bekommt?
>
> http://www.segger.com/cms/j-link-edu.html

Hehe :-)

Den würd ich dir auch empfehlen, dann kanste nämlich mit allen IDEs 
arbeiten, den Demos von Keil µVision, IAR, den gnu Sachen, ...


VG,
/th.

von (prx) A. K. (prx)


Lesenswert?

Uli B. schrieb:

> Heißt das jetzt dass ich nur diesen Programmer brauche, oder ist der AVR
> Dragon zusätzlich notwendig ?

Habe ich was verpasst? Ich dachte es ginge hier um ARMs und nicht um 
AVRs. Mit dem Dragon kannst du ARMs nicht imponieren, m.W. nicht mal 
denen von Atmel. Mit dem Studio ist es ähnlich.

von Thomas K. (rlyeh_drifter) Benutzerseite


Lesenswert?

A. K. schrieb:
> Mit dem Dragon kannst du ARMs nicht imponieren, m.W. nicht mal
> denen von Atmel. Mit dem Studio ist es ähnlich.

ja da gibts den Atmel SAM-ICE Programmieradapter

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3892&category_id=163&family_id=605&subfamily_id=1739

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.