ARM - Fragen

OP #2373651
Lesenswert?

Guten Morgen,

in der Uni beginnen wir mit der Programmierung von Mikrorechnern - 
gleichzeitig beginnt in einem weiteren Fach die Programmierung in C++
Zu diesen Themen habe ich ein paar Fragen zu denen ich z.T. keine klaren 
Antworten finden konnte:

1: ARM Prozessoren werden in C Programmiert! Ist C++ ebenfalls möglich?

2: Da in der Uni ein ARM Mikrorechner eingesetzt wird, möchte ich mir 
ebenfalls einen für daheimzulegen. Dabei hatte ich bereits an den 
"EKI-LM3S3748" (http://www.watterott.com/de/EKI-LM3S3748) gedacht, da er 
bereits über ein display etc. verfügt. Was haltet Ihr von diesem Bord?

3: Ist es möglich bekannte Arduino Shields ebenfalls auf dem in Punkt 2 
genannten Board, bzw. generell mit ARM Prozessoren zu betreiben (auch 
für anfänger gedacht?) ?

4: Können ebenfalls z.B. Motoren und GPS Module mit ARM verwendet 
werden?



Da ich schon viel im Internet gesucht habe und der Vorlesungsstoff erst 
begonnen hat bin ich noch blutiger Anfänger in diesem Fachgebiet - auch 
wenn die ein oder andere Frage trivial für Kenner erscheint, nehmt es 
mir bitte nicht übel ;)


Gruß
tobma
Gast #2373654
Lesenswert?

T. M. schrieb:
> 1: ARM Prozessoren werden in C Programmiert! Ist C++ ebenfalls möglich?
Ja, aber u.U. ineffizient.

> 2: Da in der Uni ein ARM Mikrorechner eingesetzt wird, möchte ich mir
> ebenfalls einen für daheimzulegen. Dabei hatte ich bereits an den
> "EKI-LM3S3748" (http://www.watterott.com/de/EKI-LM3S3748) gedacht, da er
> bereits über ein display etc. verfügt. Was haltet Ihr von diesem Bord?
Wenn ARM, dann ok. Evtl. Infos über gemeinsam genutzte Peripherie 
einholen.

> 3: Ist es möglich bekannte Arduino Shields ebenfalls auf dem in Punkt 2
> genannten Board, bzw. generell mit ARM Prozessoren zu betreiben (auch
> für anfänger gedacht?) ?
1. anfänger schreibt man am anfang gross -> Anfänger
2. ARM- uC sind aufwärtskompatible zu AVR-uC, wenn man sie 
ausschließlich in C programmiert - C ist unabhängig zur verwandten 
Hardware.
-ARM bedeutet keineswegs, dass er nur für ARMe Studenten geeignet ist, 
sondern ein Advanced Risk Microcontroller ist :-)

> 4: Können ebenfalls z.B. Motoren und GPS Module mit ARM verwendet
> werden?
Ja, so sie über die von diversen ARM uC verfügbaren Schnittstellen 
verfügen.
#2373671
Lesenswert?

T. M. schrieb:
> 1: ARM Prozessoren werden in C Programmiert! Ist C++ ebenfalls möglich?


Das ist in etwa wie die Frage: "Fahren Autos über 100km/h?" Es gibt so 
eine große Auswahl an verschiedenen Prozessoren dass es eigentlich nicht 
möglich ist eine allgemeingültige Aussage zu treffen ohne das weiter 
einzugrenzen.


> 2: Da in der Uni ein ARM Mikrorechner eingesetzt wird, möchte ich mir
> ebenfalls einen für daheimzulegen. Dabei hatte ich bereits an den
> "EKI-LM3S3748" (http://www.watterott.com/de/EKI-LM3S3748) gedacht, da er
> bereits über ein display etc. verfügt. Was haltet Ihr von diesem Bord?

Ich hab ein LM3S6965 Board von TI und das läuft super und die Qualität 
ist auch sehr hochwertig. Dank StellarisWare gibt es für die TI Boards 
auch reichlich Demo-Code direkt vom Hersteller!

> Da ich schon viel im Internet gesucht habe und der Vorlesungsstoff erst
> begonnen hat bin ich noch blutiger Anfänger in diesem Fachgebiet - auch
> wenn die ein oder andere Frage trivial für Kenner erscheint, nehmt es
> mir bitte nicht übel ;)

Ein guter Einstieg in die µC Welt ist das Tutorial hier auf der Seite. 
Auch wenn es für 8Bit AVR gedacht ist, ist doch vieles auch für z.B. nen 
ARM CortexM1/3 o.ä. passend und dort sind die Datenblätter auch noch 
übersichtlicher für einen Einsteiger.
Persönliche Seite #2373693
Lesenswert?

Mit den Shields ist es so, dass die normalerweise mit 5V Betriebs- und 
IO-Spannung laufen. ARM-CPUs laufen mit 1,8V/3,3V. Es gibt jedeoch 
welche, die an ihren IO-Pins 5V Signale vertragen ("5V tolerant").

Da das jedoch kein schöner weg ist, würde ich drauf achten, dass sich 
das jeweilige Shield, was du verwenden willst, komplett mit 3,3V 
betreiben lässt, dann kannst du es direkt n das ARM-Board packen.
#2373762
Lesenswert?

>> 1: ARM Prozessoren werden in C Programmiert! Ist C++ ebenfalls möglich?
> Ja, aber u.U. ineffizient.

Ich sehe keinen Grund, C++ nicht von Anfang an einzusetzen. Schon wenn 
man "nur" in C schreibt, werden dank C++ enums typsicher. Das ist 
effizienter (bessere Prüfungen des Compilers, z. B. geringere Codegröße 
bei Verwendung von const enums mit switch/case).

Ob man auf einem µC C mit der kompletten C stdlib verwendet, oder 
exzessiv C++ templates spielt keine Rolle. In beiden Fällen wird man 
nicht besonders glücklich.

Die Frage ist eigentlich nur, wo steht der Startblock. Der von C steht 
weiter hinten :-)
OP #2374147
Lesenswert?

Sebastian H. schrieb:
> Ich hab ein LM3S6965 Board von TI und das läuft super und die Qualität
> ist auch sehr hochwertig. Dank StellarisWare gibt es für die TI Boards
> auch reichlich Demo-Code direkt vom Hersteller!

Wenn ich mir das LM3S6965 was Sie besitzen anschaue ähnelt es ja sehr 
dem von mir (vorab) gewähltem Board: EKI-LM3S3748

Gibt es eine gute Seite mit Zusatzmodulen zu "unseren" Boards?

Gruß
tobma
#2374161
Lesenswert?

T. M. schrieb:

> Glaub auf dem Prozessor steht: STM32FJOD

STM32F103

Dann wärs wohl besser, ebensolche STM32 zu verwenden, statt der LM3. 
Denn der Core ist zwar gleich, aber Peripherie wie Ports, Timer, 
serielle Schnittstellen etc sind zwischen den diversen Familien wie 
LPC1xxx, STM32 und LM3 völlig verschieden, innerhalb aber meist gleich 
oder ähnlich. Forensuche und Artikel helfen weiter.
OP #2374187
Lesenswert?

A. K. schrieb:
> T. M. schrieb:
>
>> Glaub auf dem Prozessor steht: STM32FJOD
>
> STM32F103
>
> Dann wärs wohl besser, ebensolche STM32 zu verwenden, statt der LM3.
> Denn der Core ist zwar gleich, aber Peripherie wie Ports, Timer,
> serielle Schnittstellen etc sind zwischen den diversen Familien wie
> LPC1xxx, STM32 und LM3 völlig verschieden, innerhalb aber meist gleich
> oder ähnlich. Forensuche und Artikel helfen weiter.

OK wieder was dazugelernt. Nach einer kurzen Suche habe ich z.B. 
folgende zwei Boards ausfindig gemacht:

Nummer 1: http://www.futurlec.com/STM32_Development_Board.shtml

Nummer 2: http://www.quickembed.com/Tools/Shop/ARM/201001/64.html
          (STM32F103VCT6 LQFP100 Kit board, Price 99USD)

Da im laufe des Semesters ein LCD Display miteingebunden wird gefällt 
mir Nummer 2 relativ gut.
Kenne Sie spezielle Boards die so empfehlen würden?

Gruß
tobma
#2374193
Lesenswert?

Obacht, Text- und Grafikdisplay sind zwei sehr verschiedene Paar Schuhe.

Wenn mit Display ein Grafikdisplay gemeint ist, käme auch das in Frage:
http://www.steitec.net/ARM-Boards/ARM-STM32F103-Cortex-M3-Board-Plus.html
http://www.steitec.net/ARM-Boards/ARM-STM32F-Cortex-M3-LCD-Board.html
aber Grafikdisplays sind nicht standardisiert, da funktioniert jedes 
anders.

Bei Textdisplay ist das HD44780-Interface sehr verbreitet. Dann evtl. 
Propox-Modul plus Eval-Board und Display:
http://www.propox.com/products/t_174.html?lang=en

NB: Hier ist Duzen üblich, Siezen ungebräuchlich.
OP #2374223
Lesenswert?

Hallo du ;)

Hab dieverse Skripte und Seite der Uni gerade noch mal durchsucht.
Also im laufe der Zeit müssen wir ein zeichenbasiertes LCD (16 Zeichen) 
ansteuern sowie folgende Hardware: Avago HDSP-C5E3 (7 Segment-Zähler)

Es ist aber auch möglich bei den beiden Boards mit Grafik-Display 
zusätzlich über die GPIO 8 Kanal Schnittstelle oder die Steckpunkten ein 
Textdisplay anzuschliessen oder ?


Natürlich werde ich mich mit dem Professor noch mal beraten, allerdings 
möchte ich bereits eine kleine Vorauswahl treffen.
#2374250
Lesenswert?

T. M. schrieb:

> Es ist aber auch möglich bei den beiden Boards mit Grafik-Display
> zusätzlich über die GPIO 8 Kanal Schnittstelle oder die Steckpunkten ein
> Textdisplay anzuschliessen oder ?

Ja. Grafikdisplays gibt es mit eingebauten Display-Controller oder ohne. 
Mit Controller sind sie relativ umgänglich. Obacht bei der 
Anschlusstechnik, Folienkabel sind eine haarige Sache. In grösseren 
Formaten sind diese Displays recht teuer. Displays ohne Controller sind 
nichts für Anfänger.

Eine flexible Lösung wäre die Propox-Variante. Da gibts beides, ein 
Textdisplay und ein Grafikdisplay 128x64 mit Controller

An Entwicklungsumgebung (IDE, Compiler) und Debugger-Probe denken. 
Meistens wird ein separater JTAG- oder SWD-Debugger vorausgesetzt, 
kostet extra. Der dann wiederum zum Entwicklungssystem passen muss und 
das sollte zu dem entsprechenden System der Uni passen. Auffällig bei 
dem Foto oben ist nämlich das Fehlen des sonst verbreiteten 20-Pin 
Anschlusses für einen Debugger. Die Probe könnte aber integriert sein, 
als Bestandteil des USB-Anschlusses wenn mit FT2232.
OP #2374333
Lesenswert?

Verwirrter Anfänger schrieb:
> Der form factor des Boards aus dem Skript ist ja standard arduino.

Da könntest du recht haben.

Es wird halt in der Uni so sein, dass wir an das kleine Borad je nach 
Versuch diverse Module anstecken.
Zum Lernen und diverse Freitzeitprojekte würde ich halt gerne direkt ein 
Board kaufen, dass generell die Standarts hat und ebenfalls schon 
mögliche Extras, sodass ich nicht direkt bei zwei Zusatzmodulen alle 
Stecker belegt habe.

Gruß
Persönliche Seite #2374401
Lesenswert?

T. M. schrieb:
> sodass ich nicht direkt bei zwei Zusatzmodulen alle
> Stecker belegt habe.

Das wird schwer. So "Standards" wie z.B. PCI beim PC wirst du auf keinem 
Controllerboard finden.

Und auf die Arduiono kann man nur ein Modul stecken. Wenn das nach oben 
hin die Pins weitergibt auf eine Steckerleiste, dann ergibt das halt 
"Sandwich-Boards". Allerdings kann man ja Pins in den seltensten Fällen 
mehrfach belegen.

Mit einem Satz Flachbandkabel auf Stiftleisten und einem kleinen 
Steckbrett bist du wohl am flexibelsten. So steckst du das ARM Board am 
Steckbrett an, die Erweiterungsplatine auch und mit Klingeldraht 
verbindest du was du verbunden haben willst.
Gast #2374463
Lesenswert?

Nils S. schrieb:
> Mit einem Satz Flachbandkabel auf Stiftleisten und einem kleinen
> Steckbrett bist du wohl am flexibelsten. So steckst du das ARM Board am
> Steckbrett an, die Erweiterungsplatine auch und mit Klingeldraht
> verbindest du was du verbunden haben willst.

Da kann ich nur zustimmen, ich benutz zwar auch ganz gerne den Arduino 
und daraus kann man auch ganz gut "Türme" bauen, aber zum selber basteln 
ist der nicht ideal.

Der <zensiert /> Abstand zwischen den Pins auf der oberen Leiste hat zur 
Folge, dass man keine einfachen Lochrasterplatinen nutzen kann, sondern 
sich jedesmal eine Platine ätzen und bohren muss. Wenn man nur fertige 
Module benutzt mag das ja gehen, aber das wird auf die Dauer doch recht 
teuer.

Ich würde ein Board empfehlen, dass schmall genug ist, um es direkt auf 
ein Steckbrett zu stecken. Beim Arduino wären das z.B.
http://www.watterott.com/de/Arduino-Mini
http://www.watterott.com/de/Arduino-Nano

Bei ARM könnten das
http://www.watterott.com/de/ARM-mbed-NXP-LPC1768-Development-Board
http://www.watterott.com/de/LPC1769-LPCXpresso

sein.
Grundsätzlich würde ich aber nehmen, was der Prof empfiehlt.
OP #2374484
Lesenswert?

Nachdem ich 3/4 des Tages auf der Suche im I-Net war habe ich einige 
Boards gefunden. Nur eine kleine Top 4 der Borads:

1. 
http://www.micro4you.com/store/dev-tools/arm/arm-stm32f107-development-board.html

2. http://www.steitec.net/ARM-Boards/ARM-STM32F-Cortex-M3-LCD-Board.html

3. 
http://www.micro4you.com/store/dev-tools/arm/stm32f103-development-board.html

4. 
http://www.steitec.net/ARM-Boards/ARM-STM32F103-Cortex-M3-Board-Plus.html

Also ich habe vor mit folgenden Boards den Prof zu besuchen.
Wie bereits erwähnt suche ich ein Board mit möglichst vielen 
Schnittstellen (auch z.B. Display) und auf Basis von STM32F103.

Mein Top 1 Board heißt STM32F107, meint Ihr das stellt ein großes 
Problem dar?
Desweiteren gibts 'DEN' Shop für diese Borads, da manche Seiten nicht 
immer soo vertrauenserweckend aussehen.

Und meine letzte Frage: Gibts es eine Seite für diverse Zusatzmodule?
z.B. eine übersicht für Module die GPIO (8 Kanal) Stecker verwenden.



Auch möchte ich noch mal DANKE für die vielen Bemühungen sagen!

LG
tobma
#2374514
Lesenswert?

T. M. schrieb:

> Mein Top 1 Board heißt STM32F107, meint Ihr das stellt ein großes
> Problem dar?

Nein. Hat anderes USB und zusätzlich Ethernet, Rest gleich.

> Desweiteren gibts 'DEN' Shop für diese Borads, da manche Seiten nicht
> immer soo vertrauenserweckend aussehen.

Bei Steitec hätte ich keine Bedenken. Das Micro4you Board gibt es auch 
bei http://www.futurlec.com/STM32_Development_Board.shtml und die sind 
schon länger dabei und ok, auch der Versand ist nicht teurer als 
hierzulande, nur dauerts länger.

> Und meine letzte Frage: Gibts es eine Seite für diverse Zusatzmodule?
> z.B. eine übersicht für Module die GPIO (8 Kanal) Stecker verwenden.

Es gibt keinen Standard für solche Verbindungen, so sind beispielsweise 
bei Atmels STK500 und bei dem erwähnten STM32-Board VCC/GND vertauscht. 
Direkt passende Zusatzboards gibts gelegentlich für die Produkte eines 
Boardherstellers. Wie beispielsweise Mikroelektronika, aber die haben 
m.W. kein STM32. Oder eben wie das Arduino-System.

I/O-Module wie die von Futurlec und Mikroelektronika sind deshalb nicht 
unnütz, nur muss man die Verbindungen dann u.U. etwas zurechtpfriemeln.

Via ebay hatte ich mal ein Bündel 1-poliger Verbindungskabel mit 
beidseitig Steckern für die Stiftleisten solcher Pfostenverbinder 
besorgt. Damit kriegt man das auch ohne Löten von Zwischenpatches 
zustande.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren