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


von Patrick B. (peebergi)


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

von Olaf (Gast)


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

von WEIF (Gast)


Lesenswert?


von let (Gast)


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

von Patrick B. (Gast)


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

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.