mikrocontroller.net

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


Autor: Gästchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Random ... (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gästchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Random ... (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gästchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze das Große Buch Internet.

Autor: Markus Müller (mmvisual)
Datum:

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

Ansonsten Demo-Code.

Und die Hersteller-Doku.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gästchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.