Forum: Mikrocontroller und Digitale Elektronik ARM Prozessor mit C programmierbar


von Hannes Weninger (Gast)


Lesenswert?

Hallo,

ich möchte einen ARM 9/11 für mein Projekt verwenden und diesen in C 
programmieren. Ich hab bei Olimex folgendes Board gefunden:

https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/

Weiß jemand ob man mit diesem Board den ARM in C programmieren kann?

Besten Dank und lg
Hannes

von Timmo H. (masterfx)


Lesenswert?

Du kannst bei jedem ARM in C programmieren.
Brauchst halt nur den Compiler (z.B. GNU-ARM)

von Leopold (Gast)


Lesenswert?

Hannes Weninger schrieb:
> Hallo,
>
> ich möchte einen ARM 9/11 für mein Projekt verwenden und diesen in C
> programmieren. Ich hab bei Olimex folgendes Board gefunden:
>
> https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/
>
> Weiß jemand ob man mit diesem Board den ARM in C programmieren kann?
>
> Besten Dank und lg
> Hannes

Es können Programm in C für diesen Controller geschrieben werden. 
Beispiel ist auf deiner verlinkten Seite zu finden.

von Hannes Weninger (Gast)


Lesenswert?

Ich kann das noch micht ganz überblicken, kenn mich mit ARM noch nicht 
so aus, hab nur C167- Controller programmiert vor 8 Jahren - auch in C.

Wenn ich mir das ARM- Board bestelle, hab ich dann alles, was ich zum C- 
Programmieren brauche oder brauch ich da noch was.

Ideal wärs so:

1. kaufen
2. GNU-ARM Compiler runterladen und drauf auf den ARM
3. IDE (welche auch immer) und los gehts -> Datenblätter mit 
Pinbelegungen stehen zur Verfügung usw.


Geht das so wie ich mir das Vorstelle.
Besten Dank!!
lg
Hannes

von Eumel (Gast)


Lesenswert?

Hannes Weninger schrieb:
> GNU-ARM Compiler runterladen und drauf auf den ARM

Hä?

Also mal langsam. Du schreibst ein Programm auf  deinem Computer (in C, 
das ist für ARM Controller gut geeignet)das wird compiliert und dann auf 
den Controller geladen.

Hannes Weninger schrieb:
> ARM 9/11

Da ist Cortex M3 auf dem Board.

von Eumel (Gast)


Lesenswert?

Hannes Weninger schrieb:
> Datenblätter mit
> Pinbelegungen stehen zur Verfügung usw.

Da solltest du vielleicht mal reinschauen. Immerhin steht doch wie das 
Programm auf den Controller übertragen wird. Anahnd dieser Informationen 
entscheidest du dann ob du noch einen Programmer brauchst, eventuell ist 
auf dem Controller ja auch ein Bootloader drauf.

von Blackbird (Gast)


Lesenswert?

Du brauchst unbedingt einen "Programmer". Am 20pol JTAG-Connector kannst 
Du ihn anschließen.
Programmieren/Compilieren und Downloaden kann man auf dem PC mit der 
Simplicity Studio von Energy Micro (kostenlos).
Jedes STK von Energy Micro kann auch als JTAG-Programmer/Debugger 
benutzt werden. Das wäre dann Dein "Programmer.

Also (irgendein Energy Micro-) STK und das Simplicity Studio - und Du 
kannst loslegen.

Blackbird

von Blackbird (Gast)


Lesenswert?

Der EFM32G880F128 ist ein Cortex-M3. Bootloader hat der keinen drauf.
Als IDE für C kann man u.a. die freie (auf 32k Code limitierte) IAR 
Kickstart Version verwenden.


Blackbird

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Hannes Weninger schrieb:
> hab nur C167- Controller programmiert

Mit Keil µVision? Dann schau dir mal das (ebenfalls 32k code free) 
MDK-ARM an :-)

von Hannes Weninger (Gast)


Lesenswert?

Besten Dank für die Info.
Wo bekomm ich den "Programmer" her.
Mir ist die vorgehensweise jetzt nicht ganz klar, gibt es jetzt eine 
IDE, mit der ich das Programm in den ARM "laden" kann.
Von JTAG hab keine Ahnung - das müsst ich mir erst anschauen was das ist 
und kann.

lg
Hannes

von Steel (Gast)


Lesenswert?

Hannes Weninger schrieb:
> Mir ist die vorgehensweise jetzt nicht ganz klar, gibt es jetzt eine
> IDE, mit der ich das Programm in den ARM "laden" kann.

Ja.

> Von JTAG hab keine Ahnung - das müsst ich mir erst anschauen was das ist
> und kann.

Dann mach das.

von Blackbird (Gast)


Lesenswert?

Du holst Dir ein Starter-Kit von Energy Micro, installierst das 
Simplicity Studio sowie eine C-IDE (Keil, IAR, GCC, ...).
Das Starter-Kit ist STK und Programmer zugleich, weil EM das SEGGER 
JLINK-Tool via Lizenz da mit draufhat.
Die C-IDE wird in das Simplicity Studio mit eingebunden. Damit hast Du 
alle Werkzeuge, um den EFM32-Controller auf dem Kit zu programmieren. 
Der Download des Hex-Files erfolgt über die C-IDE.

Ein selbstgebautes Board mit einem EFM32 hat den SEGGER JLINK-Debugger 
nicht. Dort sieht man nur den 20pol. JTAG-Anschluß vor (siehe 
Pin-Belegung der EFM-Controller). Da das Starter-Kit auch diesen 
Anschluß hat und man diesen auf "OUT" setzen kann (via Simplicity 
Studio), hat man jetzt die Möglichkeit, das externe Board genauso zu 
programmieren und zu debuggen wie das Starter-Kit (das in diesem Modus 
nur als Programmer/Debugger und Current Monitor mit USB-Anschluß dient).

Statt Starter-Kit (STK) kann man auch einen handelsüblichen 
JTAG-Programmer/Debugger benutzen. Ist aber nicht billiger und 
wesentlich unkomfortabler.
Die ca. 70,-€ für ein Starter-Kit lohnen sich schon.


Gehe mal auf die Seite von Energy Mikro, dem Hersteller der Controller.

Blackbird

von Blackbird (Gast)


Lesenswert?

Wenn Dir ein ARM7 reicht, kann ich die ADuC-70xx-Reihe von AD empfehlen. 
Die haben einen Bootloader drauf, der über RS232 (3,3V) erreichbar ist. 
IDE und Programmier-Tool sind frei.
Einen Controller (oder irgendein beliebiges Board), die IDE und das 
Programmier-Tool ARMWSD.exe, schon kann man loslegen.


Blackbird

von Hannes Weninger (Gast)


Lesenswert?

Also noch mal zusammengefasse, wenn ich das bestelle:

https://www.olimex.com/Products/ARM/EnergyMicro/EM-32G880F128-STK/

dann hab ich mal alles an HW und die SW kann ich mir zusammen - googeln.
Hab ich das richtig verstanden?

Besten Dank!!
lg
Hannes

von Blackbird (Gast)


Lesenswert?

Nein.
Der "Programmer" fehlt Dir noch.
(dass OLIMEX da "STK" an das Board dranschreibt, bedeutet nicht, dass da 
auch eine JLINK-Debugger drauf ist.)

Als Programmer gehen nur die Orginal Energy Micro STKs.
Und diese sind gleichzeitig auch noch Development-Board.

Also so ein Board und die freie Software - das reicht schon. Das 
OLOMEX-Board alleine nützt Dir nichts.

Blackbird

von Tante Käthe (Gast)


Lesenswert?


von 23Gast (Gast)


Lesenswert?

Blackbird schrieb:
> Als Programmer gehen nur die Orginal Energy Micro STKs.
> Und diese sind gleichzeitig auch noch Development-Board.

Das ist so natürlich nicht richtig. Es gibt auch andere Programmer. 
Wichtig ist nur, dass diese SWD für ARM Cortex-M können und dafür ist 
das STK von Energy Micro nicht die günstigste Lösung. Der J-Link EDU 
Programmer ist z.B. günstiger als das STK von Energy Micro. Allerdings 
könntest du dir auch gleich nur ein STK (Start Kit) von Energy Micro 
kaufen und dann hast du alles was du braucht (inkl. IDE).

Gruß Gast

von Steel (Gast)


Lesenswert?

Ich hoffe sehr dass es sich um ein Hobbyprojekt handelt. Ansonsten sag 
mal das Produkt, damit ich es meiden kann.

von Rene B. (themason) Benutzerseite


Lesenswert?

@Hannes

wenns nicht unbedingt ein ARM9/11 (warum eigentlich ?) sein soll dann 
kann ich dir nur das STM32F4 Discovery Board für 15 Euro empfehlen. Da 
ist der Programmer direkt drauf und es gibt jede Menge Beispielcode inkl 
ner Library, und ner kostenlosen IDE (CooCox) mit der man sehr schnell 
erste Erfolge erzielen kann.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rene B. schrieb:
> wenns nicht unbedingt ein ARM9/11 (warum eigentlich ?) sein soll dann
> kann ich dir nur das STM32F4 Discovery Board für 15 Euro empfehlen.

Wenn's denn ein ARM11 sein soll, dann wäre ein Raspberry Pi wohl die
sinnvollste Investition. ;-)

von Rene B. (themason) Benutzerseite


Lesenswert?

@Jörg

Das wäre wohl die beste wahl. Aber ne Himbeere auf lowest Level 
programmieren ... Also einfach nen Programmer, C-Compiler und Attacke 
.... Sportlich sportlich.
Wenn man vorher "nur" was mit nem C167 ist das schon ne mächtige 
Herausforderung. Daher auch mein Vorschlag mit dem Discovery. Der ist 
sehr  gut handelbar. Und der bringt den Programmer direkt mit und hat 
ordentlich was an Beispielen. Ärger mich gerade ein wenig das ich das 
Teil nicht schon früher entdeckt hab. Hab mich lange Zeit schwer getan 
mit den ARMs, da es keine "kompakte", easy-to-use 
IDE+Compiler+Debugger+Programmer gab ohne das man sich mit verschiedenen 
Start-Up-Codes oder zig Konfigurationen und sonstigem rumschlagen 
musste, was einem beim Discovery echt einfach gemacht wird. Dann macht 
das Datenblatt wälzen und Board-Selbst-Entwickeln auch wieder Spaß, wenn 
man schnell die ersten Gehversuche hinbekommt und ne echt gute und 
verständliche Doku hat.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rene B. schrieb:
> Aber ne Himbeere auf lowest Level
> programmieren ... Also einfach nen Programmer, C-Compiler und Attacke
> .... Sportlich sportlich.

Das trifft aber letztlich auf so ziemlich jeden ARM9/11 zu, und damit
ist der TE ins Rennen gegangen.

Wenn man einfach einsteigen will, sollte man eher einen Cortex-M
nehmen.  OK, das anfangs referenzierte Olimex-Board passt natürlich
dahingehend besser, aber man sollte sich drüber im Klaren sein, dass
der Sprung von einem Cortex-M zu einem ARM9/11 ein recht großer ist.

von Moritz M. (moritz_m35)


Lesenswert?

Hallo,

wenn du mit ARM anfangen willst würde ich dir eins von den 
STM32F-Discovery Boards vorschlagen. Die sind sehr preiswert >20€ und da 
ist schon ein ST-Link als Debugger mit drauf und auch je nach Board 
externe Peripherie für den Controller. Als IDE dann z.B CooCox CoIDE und 
GNU-ARM (kostenlos und ohne Begrenzungen)

Kannst dir ja mal den Artikel ansehen 
http://www.mikrocontroller.net/articles/STM32

Ich denke als Anfang in der ARM Welt sollte das dann erstmal reichen. 
Außerdem hat z.B die STM32F4 Reihe auch schon relativ viel Power 
(168MHz, 1MB Flash, FPU, DSP, viel Peripherie usw). In den neueren 
Versionen sogar bis 180 MHz und 2MB Flash) Wenn das dann nicht mehr 
reicht kann man sich ja die ARM9/11 oder Cortex A oder so ansehen.

Moritz

von Hannes Weninger (Gast)


Lesenswert?

Also ich muss sagen, ich hab jetzt noch keinen Überblick was ich für den 
Anfang brauche.
Wäre es vielleicht möglich, dass mir jemand eine Liste schreibt, was ich 
alles bestellen müsste, damit ich dann anfangen kann. Vor allem der 
Programmer bereitet mir kopfzerbrechen - da hab ich keine Ahnung was das 
ist.

Es handelt sich übrigends um ein Hobbyprojekt - also keine Angst :-)

Besten Dank!
lg

von Blackbird (Gast)


Lesenswert?

Dann schreib erst mal genau auf, was Du willst. Bis jetzt ist alles 
passend für Deine wenigen ungenauen Anforderungen. Alle Infos sind da.

Blackbird

von Hugo (Gast)


Lesenswert?

Hannes Weninger schrieb:
> Also ich muss sagen, ich hab jetzt noch keinen Überblick was ich für den
> Anfang brauche.
> Wäre es vielleicht möglich, dass mir jemand eine Liste schreibt, was ich
> alles bestellen müsste, damit ich dann anfangen kann. Vor allem der
> Programmer bereitet mir kopfzerbrechen - da hab ich keine Ahnung was das
> ist.

1. JTAG Emulator: Segger J-Link EDU, ~50 Euro
2. Beliebiges Cortex M3/M4 Evalboard mit JTAG/SWD Schnittstelle
3. Entweder kostenlose IDE auf GCC/Eclipse basierend oder freie Version 
einer kommerziellen Toolchain wie z.B. IAR, Keil, Atollic, Rowley 
Crossworks, ... (diese haben dann meisten eine Codesize Limitierung, was 
aber für dich am Anfang egal ist)

Alternativ zu 1. und 2.:
4. Evalboard auf dem schon ein JTAG Emulator on board sitzt, z.B. 
STM32F4-Discovery

Alternativ zu 3:
emIDE.org, einfache Toolchain die auf GCC und CodeBlocks basiert, 
unterstützt den J-Link

Nice to have:
Middleware wie z.B. RTOS oder Dateisystem, damit man nicht alles selber 
programmieren muss, da kann man sich auch bei Segger mit Trialversionen 
derer Middleware bedienen.

von Blackbird (Gast)


Lesenswert?

Wenn es schon EFM-Controller sein sollen:
* EFM32-Starterkit kaufen.

Auspacken, Software von beiliegender CD installieren, Software 
registrieren lassen, beiliegenden USB-Kabel anschließen: fertig.

Die IDE aufrufen, Workspace und Projekt anlegen oder öffnen, Software 
schreiben oder verändern, downloaden, debuggen, ... - das sind dann 
Deine ersten eigenen Schritte in der ARM-Welt.

Blackbird

von Hugo (Gast)


Lesenswert?

Blackbird schrieb:
> Die IDE aufrufen,

Welche IDE ist denn dabei!??

von Hugo (Gast)


Lesenswert?

Du meinst aber jetzt nicht Simplicity Studio? Weil das ist keine IDE.

von Blackbird (Gast)


Lesenswert?

Wenn es auch schon eine Weile her ist und der TO schon genug verwirrt 
ist:
Auf der beiliegenden CD ist die IAR Kickstart IDE mit drauf.
Simplicity Studio war nicht gemeint, ist aber auch auf der CD.

Blackbird

von Hugo (Gast)


Lesenswert?

Ok, die CD kannte ich nicht, bin jetzt nur von dem ausgegangen, was EM 
auf der Webseite verfügbar ist.
Stimme dir aber zu, IAR Kickstart IDE macht Sinn für einen einfachen 
Einstieg.

von Blackbird (Gast)


Lesenswert?

Da das Starterkit alles enthält (Simplicity Studio + IAR IDE Kickstart + 
USB-Kabel + Board) kann man nach der Installation der Software (Updates 
für alles + Registrierung bei IAR) gleich loslegen.
Es macht aber Sinn, die neueste IAR Kickstart Version direkt von IAR zu 
laden, die CD-Versionen sind meisten etwas älter.

Die Tools und die Beispiele vom Simplicity Studio erleichtern den 
Einstieg in die Programmierung. C sollte man aber können.

Das Starterkit-Board ist jetzt "nur" noch 
Programmer/Debugger/Current-Monitor für Olimex-Boards und eigene Boards.


Blackbird

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.