Forum: Mikrocontroller und Digitale Elektronik Frage an Arm7 Profis / Studenten


von Gästchen (Gast)


Lesenswert?

Hallo,
Frage an die Studenten (auch ehemalige), die im Studium mit Arm 
Mikrocontroller zutun haben/hatten. Mit welcher Lektüre lernt Ihr, 
welche Bücher, welche Controller?
Dann, na ja, eine Frage, die natürlich von vielen Faktoren abhängig ist, 
aber ich stelle sie mal trotzdem. Wie lange braucht es ungefähr, bis man 
da so durchblickt und Programme, mit einigermaßen Anspruch schreiben 
kann?

Hintergrund der Fragerei, ich habe bisher mit AVR alles erschlagen 
bekommen, was so anfällt. Jetzt starten wir ein neues Projekt mit 
Grafik-Display (eigentlich nur Text mit ein paar Symbolen), Bluetooth, 
Audioausgabe, Infrarot, Funk. Diese Peripherie wird aber nie 
gleichzeitig benutzt.
Tja, mit welchem µC komme ich am schnellsten ans Ziel?

Dicker AVR
Xmega
Arm7

Meine Kenntnisse beschränken sich im Moment auf AVR, C-Grundkenntnisse.

Danke schon mal!

von Frank K. (fchk)


Lesenswert?

Gästchen schrieb:

> Frage an die Studenten (auch ehemalige), die im Studium mit Arm
> Mikrocontroller zutun haben/hatten. Mit welcher Lektüre lernt Ihr,
> welche Bücher, welche Controller?
> Dann, na ja, eine Frage, die natürlich von vielen Faktoren abhängig ist,
> aber ich stelle sie mal trotzdem. Wie lange braucht es ungefähr, bis man
> da so durchblickt und Programme, mit einigermaßen Anspruch schreiben
> kann?

Du wirst Deinen ARM in C programmieren. Deine Frage zerfällt also in 
zwei Teile:
a) wie lange brauchst Du, bis Du vernünftig C kannst
b) wie lange brauchst Du, bis Du einen beliebigen Controller verstanden 
hast.
c) wie lange brauchst Du, um eine neue Entwicklungsumgebung zu verstehen

(a) kann ich nicht beantworten.
(b) liegt irgendwo im Bereich von n Wochen
(c) liegt meist irgendwo im Bereich von n Tagen

> Tja, mit welchem µC komme ich am schnellsten ans Ziel?

> Dicker AVR
> Xmega
> Arm7

Vordergründig mit dem, mit dem Du Dich am besten auskennst und der die 
geforderte Leistung ohne große Bastelei liefert.
Eigentlich ist der CPU-Kern eher unwichtig. Auf die Peripherie kommt es 
an, die macht nachher den Unterschied.

Und: Arm7 solltest Du nicht mehr nehmen. Der Cortex M3 ist schneller und 
einfacher zu handhaben. Beim Arm7 brauchst Du immer noch zwingend 
Assemblercode für Interrupt- und Startup-Routinen, beim Cortex nicht 
mehr.

fchk

von Sven (Gast)


Lesenswert?

Du hast also deinen AVR mit c programmiert. Meiner Meinung nach solltest 
du mit nem Arm dann auch keine zu Probleme bekommen.


Die Cortex M3 Dinger kenn ich jetzt nicht, aber den ASM Startup code 
kannste dir recht problemlos aus zigtausend Beispielen im Internet 
"klauen". Ich persönlich programmier halt mir Arm7s (genauer die LPC 
Teile von NXP) und bin extrem zufrieden mit denen. Aber wahrscheinlich 
ist das im Endeffekt Geschmackssache.


Ich würde auf jeden Fall drauf achten, dass du dir nicht schon am Anfang 
nen Flaschenhals strickst. Also nen zu "kleinen" µC für dein Projekt 
nimmst. Im Nachhinein ändern ist immer ziemlich doof...

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Schnapp dir nen STM32.

Software gibtz von Keil uVision (verwende ich privat), als günstigeren 
Debugger empfehle ich den JLink Edu für ca. 60,- von Segger, der läuft 
in vielen IDEs (u.a. Keil uVision, IAR, auch gdb).

Demoversion von uVision sind für Cortex-M3 derivate dutzende Beispiele 
dabei, läuft bis 32k Codesize, RTX RTOS ist ebenfalls mit drin.
Evaluation Boards gibtz auf keil.com zu kaufen, optional kann ein 
ULINK-ME mitbestellt werden, der ist dann etwas günstiger.
Simulation Support mit Peripherals für u.a. STM32 (PLL, Timer, UART, 
...).

Demoversion von IAR geht glaub ich auch bis 32k Code, Examples ebenfalls 
dutzende dabei. Weiteres auf iar.com

Raisonance z.B. arbeitet intern mit gnu, verwendet aber einen eigenen 
Debugger (bekannt von den Hitex-Sticks).

Gibt auch freie IDEs, welche debugger die unterstützen, weiss ich nicht.

Daher empfehle ich generell den JLink (für gnu mit gdb support), wenn 
man sich zu Beginn nicht auf eine IDE festlegen möchte.


Achtung, meine Meinung:
Für mich war uVision tatsächlich die einzige out-of-the-box IDE, mit der 
ich problemlos starten konnte (Beispiele, intuitive Bedienung, vom 
Karton zum Blinky-compile/download in <5 minuten). Und ich habe von 
gcc/makefiles angefangen doch schon ein paar Sachen durch im Bereich 
AVR, M16C, ARM7/Cortex-M3.

> Meine Kenntnisse beschränken sich im Moment auf AVR, C-Grundkenntnisse.
Meine Diplomarbeit war 2k6 der Umstieg von AVR auf Cortex-M3 am Beispiel 
Mega32 --> LM3S828. Hat man sich erst mal an die PLL und das Clock 
Gating gewöhnt, programmiert sich der Cortex-M3 wie ein AVR :-)
Aus / seit dieser Zeit kenne ich auch das uVision.


VG,
/th.

von Matthias (Gast)


Lesenswert?

Ich stimme bei der Wahl der Toolchain (Keil) und dem Core (CM3) zu. 
Allerdings wird Gästchen mit dem LCP17xx mehr Freude haben als mit dem 
STM32, da er schon LPC2000-Erfahrung hat.

von Gästchen (Gast)


Lesenswert?

Danke für die Tipps.

Matthias schrieb:
> Freude haben als mit dem
> STM32, da er schon LPC2000-Erfahrung hat.

Matthias, ich glaube du verwechselst mich, ich bin ein "neues" Gästchen 
:-)



Ja, Tipps in Punkto µC-, und IDE-Wahl habe ich schonmal, aber mit was 
habt Ihr angefangen zu lernen, Welche Bücher habt ihr gewälzt?

Die Basics, wo habt Ihr die her? Wo steht z.B. genau und ausführlich 
beschrieben, was ein DMA-Controller ist, oder was man mit den Bootloader 
alles machen kann, oder warum und wie man Codeteile remapt? So Sachen 
habt ihr doch irgendwie, irgendwo gelernt? Datenblätter, klar, aber da 
steht es halt ziehmlich komprimiert und nicht so gut verständlich. Und 
da ist alles so verteilt, da gibt es keinen "roten Faden".

Wenn Ihr mir da noch Tipps geben könntet...

von Heiko (Gast)


Lesenswert?

Moin,

Der "Insider's Guide to STM32" von Hitex ist - finde ich zumindest - 
ganz nett: http://www.st.com/mcu/files/mcu/1221142709.pdf

MfG, Heiko

...der erstmal wieder Platinen ätzen muss, um das theoretische Wissen 
auch praktisch auszuprobieren...

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


Lesenswert?

Einen groben Überblick über die Möglichkeiten des STM32 gibts in diesem 
Artikel:
STM32

Ist in jedem Fall lesenswert und sind viele Links drin.

von Random .. (thorstendb) Benutzerseite


Lesenswert?

> aber mit was habt Ihr angefangen zu lernen, Welche Bücher habt ihr gewälzt?

Wenn du dich mit AVRs auskennst, und Datenblätter lesen kannst, brauchst 
du keine Bücher zu wälzen im Falle von uVision und Cortex-M3, sondern 
dir nur die mitgelieferten Beispiele anzusehen.

Alles, was du dann noch extra wissen musst ist:
- PLL config (oder nimm CMSIS: SystemInit() )
- bevor eine Peripherie (z.B. GPIO) verwendet werden kann, muss erst die 
Clock dafür eingeschaltet werden,
- wenn Alternate Function verwendet wird (z.B. UART) muss die 
entsprechende Clock Line für das verwendete GPIO (wo der UART Pin dran 
hängt), die Alternate Function Clock und der UART Clock eingeschaltet 
werden, bevor man was machen kann.

Danach gehts im Datenblatt im entsprechenden Peripheral Kapitel weiter.

Ansonsten verweise ich mal auf meinen Beitrag: 
Beitrag "Re: STM32 alias cortex m3 brauchbar?"

VG,
/th.

von Gästchen (Gast)


Lesenswert?

Ok, Datenblätter, die Sachen von Hitex, das habe mir schon mal 
angesehen. Einen schönen roten Faden finde ich da nicht so. Ich schau 
mir das aber noch mal an.

Bisher hat niemand Bücher erwähnt! Habt ihr im Studium keine Bücher?

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


Lesenswert?

Ich nutze das Große Buch Internet.

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


Lesenswert?

Schaltpläne gibt es z.B. von den Demo-Boards von Olimex im Internet.

Ansonsten Demo-Code.

Und die Hersteller-Doku.

von Tom (Gast)


Lesenswert?

Servus,

wenn Englisch kein Thema ist: The Definitive Guide to the ARM Cortex M3 
von Yui. Kostenpunkt ca. 40 €. Ich hab mir das für meine Masterarbeit 
besorgt, das Buch hat mir gut gefallen.

von Tom (Gast)


Lesenswert?

Achso vergessen: Der Hitex Insiderguide ist ok, aber auch nicht mehr. 
Bei manchen Themen ist es für Anfänger einfach zu knapp gehalten.

von Gästchen (Gast)


Lesenswert?

Markus Müller schrieb:
> Ich nutze das Große Buch Internet.

Haste's schon durch und alles kapiert? ;-)


@Tom
Ja, sowas meinte ich!

Tom schrieb:
> Bei manchen Themen ist es für Anfänger einfach zu knapp gehalten.

Eben...!

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.