Forum: Mikrocontroller und Digitale Elektronik Hardwareprogrammierung ohne Betriebssystem auf FriendlyARM Mini2440


von A. M. (am85)


Lesenswert?

Hi

Ich habe mir nun das Mini2440 besorgt und würde das Board auch gerne 
dafür nutzen, um direkt (registermäßig) auf die Hardware zugreifen zu 
können. Ich weiß, dass es mit OS viel einfacher ist. Für die Uni 
möchte/muss ich aber ein paar Dinge ausprobieren (arbeiten mit Timern 
und Inerrupts, Zugriff auf und Datenaustausch durch die serielle 
Schnittstelle, etc.) und das eben ohne OS. Nun weiß ich aber nicht, was 
ich speziell für das Board dafür an Software (sowohl für Linux als auch 
Windows als Host OS) benötige und wie ich da vorgehen muss?

Schöne Grüße

von A. M. (am85)


Lesenswert?

Hat irgendwer ne Idee?

von ttl (Gast)


Lesenswert?

erste Versuch mit Mikrocontroller und dann gleich ein ARM? Na dann viel 
Spass. Schau mal bei keil.com
Falls der Controllertyp nicht vorgegeben ist schmeiß das Board in den 
Müll, nimm nenn einfachen 8bitter und schau mal in das Tutorium hier im 
Forum. Lass erst mal eine LED blinken.

von A. M. (am85)


Lesenswert?

Von ersten Versuchen würde ich hier nicht wirklich sprechen. Erfahrungen 
habe ich bereits in der Programmierung des Hitachi H8S2357. Das halt 
aber "nur" im Labor, wo sowohl hardware- als auch softwaremäßig bereits 
alles vorkonfiguriert ist. Bis dato habe ich halt noch keine 
Entwicklungsumgebung für Mikrocontroller selber aufgebaut und deswegen 
bräuchte ich da auch Hilfe.

PS: Eine LED blinken lassen ist ja nun nicht wirklich schwer....

von Volker Z. (vza)


Lesenswert?

Genau!
Deswegen kann man ja damit seine Tool-Chain testen.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

André M. schrieb:
> Nun weiß ich aber nicht, was
> ich speziell für das Board dafür an Software (sowohl für Linux als auch
> Windows als Host OS) benötige und wie ich da vorgehen muss?

Schau mal in die chinesische Anleitung unter ADS und 2440test.
http://translate.google.com hilft bei der Übersetzung.

Vielleicht auch interessant: DexOS
http://www.dex4u.com/ArmImages/Dex2Arm2.jpg
http://www.friendlyarm.net/forum/topic/50

von A. M. (am85)


Lesenswert?

Ok, vielleicht habe ich mich etwas undeutlich ausgedrückt. Ich würde 
gerne wissen, welche Software und welche Hardware (JTAG?) ich brauche, 
um meinen C Code ohne Betriebssystem auf dem Board laufen zu lassen? Es 
geht noch rein gar nicht um die Art des Programms. Es geht rein nur 
darum, wie ich mein Stück Software in den Speicher des Boards bekomme, 
um es dann dort ausführen zu können und wie ich es on-Chip debuggen 
kann.

von Link zu (Gast)


Lesenswert?

André M. schrieb:
> Ich habe mir nun das Mini2440 besorgt und würde das Board auch gerne
> dafür nutzen, um direkt (registermäßig) auf die Hardware zugreifen zu
> können.
Wieso gerade das Mini2440? Und das noch ohne wirkliche Erfahrung.

ttl schrieb:
> erste Versuch mit Mikrocontroller und dann gleich ein ARM? Na dann viel
> Spass. Schau mal bei keil.com
Naja, die Vorgehensweise ist grundsätzlich dieselbe.
Problematisch ist, dass viel größere Datenblatt, dass es hier zwei super 
AVR-Tutorial und AVR-GCC-Tutorial gibt für die ATmega ATtiny 
gibt, und für ARM eher wenig gibt.

Pack das Mini2440 lieber zurück in den Karton und nutze es später. Evtl. 
kaufst du dir ein Pollin ATMEL Evaluations-Board oder das STK500? Da 
gibt es mehr Beispiele, was für den Einstieg wohl angenehmer ist.

Anbei eine kleine, unvollständige, unsortierte Linksammlung:
http://embdev.net/topic/129986#new
Beitrag "GNUARM Eclipse Plugin"
http://gnuarm.alexthegeek.com/
Beitrag "Probleme mit dem USB Treiber für das Friendlyarm mini2440"
ARM
dürften nur bedingt passen...

von A. M. (am85)


Lesenswert?

Ok, um vielleicht ein bisschen Licht ins Dunkel zu bringen.

Vorzugsweise will ich mich in den Bereich Embedded Linux einarbeiten und 
da das Mini2440 hardwaremäßig alles mitgebracht hat, was ich dafür 
brauche, habe ich mich dafür entschieden. Hintergrund des ganzen ist, 
dass ich mich demnächst mit dem Einsatz von Linux auf Virtex4 und 5 
Boards sowie deren Programmierung in C/C++ und wahrscheinlich auch in 
VHDL beschäftigen werde (Studentisches Praktikum).

Da ich aber nicht die 3000€ für ein Virtex 4 Board habe und auch die 
etwas über 300€ für ein Virtex2 Board (academic version), habe ich eben 
zum Mini2440 gegriffen,, was offensichtlich ein ganz gutes 
Preis/Leistungsverhältnis hat, um damit ein paar Erfahrungen zu sammeln. 
Und wenn ich das Board schonmal habe, dann würde ich es auch gerne für 
einfachere Dinge benutzten. Eben irgendwelche Spielerein mit Timern, 
Interrupts und ähnlichen. Was halt so auch in der Uni mal behandelt 
wird.

PS: Es sagen immer alle "Warum gleich ARM? Pack das lieber wieder weg"? 
Bis jetzt habe ich noch keine vernünftige Begründung gehört.

von ... (Gast)


Lesenswert?

hast du dich schon mal bei den Artikeln hier im Forum umgesehen?
als Beispiel: http://www.mikrocontroller.net/articles/ARM

von Thomas K. (batta)


Lesenswert?

Die Angst vor ARM kann ich auch nicht verstehen.
Was die IDE angeht:
Als Anfänger würde ich dir entweder zu Keil (den ULink ME gibts derzeit 
mit Cortex M3 Board für 90 €. IDE ist bis 32 KB begrenzt) oder zu 
Crossworks ( Personal Edition $ 150 + JTAG z.B. den OpenOCD USB von 
Olimex) raten.
Eine kostenlose Toolchain + OpenOCD würde ich nur empfehlen, wenn du 
dich mit makefiles, Linkerskripten und startup Dateien rumschlagen 
willst bzw. dich gut damit auskennst.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Der Quellcode des verwendeten Bootloaders ist meistens ganz hilfreich 
(oft uboot; ob bei Mini2440 auch so, weiss ich nicht). Darin kann man 
sich abschauen, wie man den Controller zu initialisieren hat (Stack(s), 
Speicherinterface(s), Interruptsystem).

von P.F. (Gast)


Lesenswert?

Wie wärs mit ner Trial Version des Keil oder IAR Compilers? Als JTAG 
Emulator würde ich den von Keil nehmen oder halt Segger J-Link, da gibts 
auch eine non commercial Version, die vom Preis her ok ist.

von A. M. (am85)


Lesenswert?

Martin Thomas schrieb:
> Der Quellcode des verwendeten Bootloaders ist meistens ganz hilfreich
> (oft uboot; ob bei Mini2440 auch so, weiss ich nicht). Darin kann man
> sich abschauen, wie man den Controller zu initialisieren hat (Stack(s),
> Speicherinterface(s), Interruptsystem).

Um den Quellcode mache ich mir prinzipiell nicht so die Sorgen. Wenn ich 
die passenden Header für das Board bzw. den Prozessor habe, dann sollte 
es mit dem User Manual eigentlich nicht sooo schwer sein, da passenden 
Code zu generieren. Die Frage ist halt nur immer noch, wie ich den Code 
aufs Board bekomme.

Thomas K. schrieb:
> Die Angst vor ARM kann ich auch nicht verstehen.
> Was die IDE angeht:
> Als Anfänger würde ich dir entweder zu Keil (den ULink ME gibts derzeit
> mit Cortex M3 Board für 90 €. IDE ist bis 32 KB begrenzt) oder zu
> Crossworks ( Personal Edition $ 150 + JTAG z.B. den OpenOCD USB von
> Olimex) raten.
> Eine kostenlose Toolchain + OpenOCD würde ich nur empfehlen, wenn du
> dich mit makefiles, Linkerskripten und startup Dateien rumschlagen
> willst bzw. dich gut damit auskennst.

Als JTAG Adapter war der Wiggler beim Board dabei. Der sollte ja für die 
ersten Aufgaben auch reichen, denke ich mal. Eigentlich wollte ich jetzt 
nicht noch immense Summen in die Software stecken (Studentenbudget). 
Gibt es da denn keine preisgünstigeren Möglichkeiten / vielleicht auch 
eine brauchbare Entwicklungsumgebung auf Eclips Plug-in Basis?

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

> Die Frage ist halt nur immer noch, wie ich den Code aufs Board bekomme.
* Wiggler + H-JTAG
* u-boot
* supervivi

> Gibt es da denn keine preisgünstigeren Möglichkeiten / vielleicht auch
> eine brauchbare Entwicklungsumgebung auf Eclips Plug-in Basis?
Ist doch alles schon genannt worden: Artikel ARM -> Compiler
GNUARM, WinARM, YAGARTO, Demo von IAR/Keil/Crossworks

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.