Anfänger: ARM in C programmieren

Gast #921390
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
#921628
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
Gast #923303
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
Gast #926086
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
#926126
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.