www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfänger: ARM in C programmieren


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe mir hier das Board mit dem Atmel Sam7s256 gekauft und habe 
Crossworks mal zum Test installiert, da ich ja mit Arms anfangen möchte.
Habe vorher Pics programmiert, da sich mein Lehrer mit denen am besten 
auskannte.
Habe nun das Problem, dass ich einfach nicht rein komme. Mein Problem 
ist auch, dass es verschieden Header-Files gibt, Crossworks hat eigene 
und die Beispiele die ich finde, verwenden meistens andere.
Kann mir da jemand einen Tipp geben oder irgendwie helfen, wie ich da 
mit dieser IDE weitermachen kann und vll dazupassende Beispiele finde.

Mfg Stefan

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoi Stefan,
was hast du denn für eine Version von Crossworks? Beachte:
Nicht jeder ARM wird von der Software unterstützt. Du kannst dann zwar 
trotzdem Code dafür schreiben, nur wenns dann ans Linkerscript bzw. an 
den Startup-Code geht wirds etwas hässlich. Ansonsten kannst du dir von 
der Rowley-Seite sogenannte Board Support Packages runterladen - die 
brauchst, wenn du ein fertiges Development Board einsetzt. In den 
Packages sind dann alle Header-Dateien drin, die man für dieses Board 
braucht.

Wenn du ein selber gebautes Board verwendest, gibts dafür natürlich kein 
BS, da musst du dir dann halt das entsprechende Support Package für den 
jeweiligen Controller runterladen. In dem sind jeweils die 
Startup-Dateien und alle nötigen Header drin.

In der Dokumentation zum Crossworks findest du eine Beschreibung von 
allen mitgelieferten Header-Dateien und wozu man die braucht. Ist halt 
schon so: Wenn du irgend ein Beispiel aus dem Internet runterlädst, das 
nicht mit Crossworks gemacht wurde, dann sind da natürlich andere Header 
includiert und es werden u.U. andere Funktionen aufgerufen, als die in 
Crossworks verfügbaren. Da musst du dann halt ein bisschen rumpröbeln, 
geht wohl kaum anders. Es gibt im Programmordner, wo Crossworks 
installiert ist, 2 simple Beispiele, wo man nachschauen kann, wie man 
z.B. Interrupts initialisiert und solchen Kram. Mir persönlich haben die 
etwas weitergeholfen; da ich mein Board selber baue werde ich auch ein 
Board Support Package benötigen, das ich selber bauen muss.

Gruss

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tobias!

Danke für deine Antwort.
Habe zuerst Crossworks 1.6 verwendet mit dem ich etwas zusammen gebracht 
habe. Dann habe ich die 1.7er Version gefunden und mit der komme ich 
überhaupt nicht klar. Nichts funktioniert mit dieser Version.
Also bleib ich mal bei der 1.6er. Ich werd mir die Beispiele anschauen, 
vll komm ich dann weiter, ist ziemlich schwer mit dem arm.
Danke für deine Hilfe.

Mfg Stefan

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, das Board ist von Olimex.

Mfg Stefan

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hätte da noch eine Frage:

Wie kann ich den Ram mit Samba programmieren. Weil man ja sonst dauernd 
den Samba vom Flash löscht?

Mfg Stef

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung, dazu müsste man wissen was Samba ist....

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist der Bootloader für den AT91SAM. Dieser überschreibt sich dauernd 
und man muss ihn mit der Recovery Methode (Jumper umstecken, 10s 
warten.....) wieder aktivieren.

Mfg Stefan

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so.
Der Bootloader liegt wohl ab Adresse 0 im Flash, was?
Das Flash muss aber gelöscht werden, bevor man was reinschreiben kann. 
Also MUSS sich dieser Samba beim Programmieren löschen. Denke ich mal. 
Ich kenn den nicht, aber so muss es ja wohl sein, denn sonst kann man 
nichts ins Flash schreiben, wenn das vorher nicht gelöscht wurde.

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.