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
> 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
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/doc6310.pdf http://www.atmel.com/dyn/resources/prod_documents/atmel_tutorial_source.zip ciao WEIF
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.