mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ganz neu bei µCn und mit ARM beginnen


Autor: Patrick Bauer (peebergi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin ganz neu was Mikrocontroller, was C angeht (kann nur Java). Ich 
muss aber wegen meines Jobs einen ARM programmieren. Jetzt arbeite ich 
mich da langsam ein. Das Board mit dem ich arbeiten MUSS ist das 
AT91SAM7-P64 (wo ist der Unterschied zu S64?).
Ich habe bisher diese OpenOCD Beispielprogramm heruntergeladen und 
ausgeführt. Ich nutze Programmers Notepad zum Entwickeln. Das Programm 
lief soweit einwandfrei und ich konnte es einigermaßen nach meinen 
Wünschen modifizieren, sprich ich habe die LED-Blink-Zyklen verändert.
Jetzt wollte ich mich daran machen ein ganz simples Programm selbst zu 
schreiben. Eines wo ich vll einfach durch drücken der Buttons die LEDn 
leuchten lasse. Soweit bin ich bisher aber noch nicht gekommen. Versuche 
krampfhaft Hilfe bzw. Infos zu finden, welche Dateien denn für ein 
minimales Programm notwendig sind. Habe in mein Projekt bisher nur 
AT91SAM7S64.h und crt.s neben main.c drin und ersteres in main.c mittels 
include eingebunden. Muss ich noch irgendwelche Dateien einbinden? 
Welche Elemente brauche mindestens in main.c damit es laufen könnte? 
Kann ich ein x-beliebiges makefile benutzen?! Nein, ich muss mir dafür 
eins schreiben, oder?! Was ist darin mindestens nötig?

Vielleicht kann mir ja hier jnd weiterhelfen.

Vielen Dank.

Gruß,
Patrick

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann ich ein x-beliebiges makefile benutzen?! Nein, ich muss mir dafür
> eins schreiben, oder?! Was ist darin mindestens nötig?

Es gibt fuer make eine ziemlich dicke Anleitung die man mal gelesen
haben sollte. Schon allein wegen dem Unterschied zwischen TAB und
SPACE. :-)
Prinzipiell ist das auch nichts anderes als eine Programmiersprache.

Normalerweise kann man aber irgendein Makefile von jemand anderem 
nehmen, liesst einmal die Anleitung zu make und passt es sich dann nach 
seinen
wuenschen an. Danach kann man es eigentlich immer weiterverwenden.

Olaf

Autor: WEIF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

schau dir mal die pdf auf

http://www.quantum-leaps.com/resources/papers.htm##GNU-ARM

an, da werden die Hintergründe gut erklärt.

Auch von Atmel gibts da was :

http://www.atmel.com/dyn/resources/prod_documents/...

http://www.atmel.com/dyn/resources/prod_documents/...

ciao

WEIF

Autor: let (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die wahrscheinlich wichtigste Seite für ARM Einsteiger:
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/

Schau da mal nach ob es dort eine Demo mit dem Namen 'blinky'
für den SAM gibt. Der Name ist Programm ;)

Bei den Beispielen auf der genannten Seite liegen Makefiles bei
die sich gut für eigene Anwendung ändern lassen (wobei ich nur
die Beispiele für die LPCs kenne).
Die Regeln sind recht einfach:

Ziel: Abhängigkeiten
[Tab] Anweisung um 'Ziel' zu erstellen

Abhängigkeiten können sowohl Dateien als auch andere Ziele sein.
Ziele können Dateien und andere Ziele sein.
Daneben gibt es noch allgemeine Vorschriften die 'make' sagen
wie man z. B. aus einer .elf Datei eine .hex Datei macht:

%.hex: %.elf
[Tab] $(OBJCOPY) -O ihex $< $@

$< und $@ sind Platzhalter für die Namen der .hex bzw. .elf Dateien.

Ich denke das sollte vorab schon genügen um ein gegebenes Makefile
zu verstehen und abzuändern.


 - Michael

Autor: Patrick B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also erstmal Danke für die Antworten.

In die Makefiles kann ich mich nun glaub ganz gut einarbeiten.
Ich stehe aber noch vor dem Problem welche Dateien ich denn für ein 
minimales Programm benötige.
Ich habe in meinem Projekt jetzt AT91SAM7.h AT91SAM7S64.h crt.s main.c 
und ein makefile aus einem Beispielprogramm, das ich noch abändern 
möchte. In main.c habe ich die *.h Dateien eingebunden.
Ich würde jetzt gerne ein eigenes Programm schreiben und kein 
Beispielprogramm verändern.
Meine Frage ist vielleicht ein bisschen doof, aber ich bin absoluter 
Neuling (muss aber leider Jobtechnisch damit zurecht kommen):

Was muss ich denn (allgemein gesagt) alles in main.c initialisieren, 
einbinden etc. um ein minimales Programm zum laufen zu kriegen das mir 
beispielsweise nur eine LED zum leuchten bringt, wenn ich einen Button 
auf dem Board drücke?

Vielen Dank für Hilfe.

Patrick

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.