Hallo zusammen, ich versuche mich in den ARM Cortex M3 von Atmel einzuarbeiten. Ich habe folgendes: - Board SAM3-256 von Olimex mit Atmel ATSAM3S4B - Atmel Studio 6 - Atmel ICE Debugger Grundlagen über Elektrotechnik und C-Programmierung aus Elektrotechnik Studium sind vorhanden. Aber mit Microcontroller habe ich noch nicht so viel gemacht. Mein Problem ist, ich komme bei Atmel Studio mit den vielen ASF Librarys die standardmäßig für den Chip ATSAM3S4B dabei sind nicht zu recht. Ich habe mir auch die Dokumentation von Atmel durch gelesen, aber ich komme trotzdem noch nicht weiter. Ich bin schon am verzweifeln. Mir geht es um folgendes: - Welche Librarys sind wirklich für einfaches Ansprechen der PIO notwendig? - Welche Headerdateien muss ich konfigurieren? - In welcher Headerdatei bzw. Headerdateien muss ich mein Olimex Board konfigurieren bzw. definieren? - Wenn ich nachträglich Librarys von ASF einfüge, muss ich dann noch irgendwelche Anpassungen in den ASF Headerdateien machen? Mein Ziel ist es zu wissen wo und was ich konfigurieren muss um beliebige Boards mit den ATSAM3S4B programmieren zu können. Und das ASF von Atmel richtig nutzen zu können. Ich hoffe mir kann jemand einbisschen helfen. Ich bedanke mich schon im Voraus. Gruß Viktor
Viktor G. schrieb: > - Welche Headerdateien muss ich konfigurieren? Falsche Herangehensweise. Man fängt mit einem fertigen Beispielprojekt an, z.B. Blinky. > - In welcher Headerdatei bzw. Headerdateien muss ich mein Olimex Board > konfigurieren bzw. definieren? Schlechte Wahl des Boards: Olimex sind IIRC auch deshalb so billig weil da keine Software dabei ist. D.h. man muss im Schaltplan nachgucken an welchem GPIO die LEDs dran hängen. Man nehme ein möglichst exact zur MCU auf dem Olimex Board passendes Beispiel Projekt und flashe das auf den Controller. Das Hello, World auf dem µC ist das LED Blinky Programm. Selbst wenn die LEDs nicht passen wird man den Programmablauf im Debugger sehen. Danach schaut man sich an wie die GPIOs definiert sind und biegt die auf die für LEDs passenden IOs um. Hintergrung ist die recht komplexe Initialisierung moderner µCs mit Clock-Tree etc, die man sich nur mühsam aus dem Handbuch rauszerren kann. Dann hat man einen Stand mit dem man sich langsam in die Libraries und den Prozessor vortasten kann. Oftmals ist die Doku eher drürftig - man liesst oft besser gleich den C Quellcode um zu verstehen was die ASF Funktionen so tun. Dazu benötigt man das passende Referenz Handbuch - das ist praktisch immer das dickste PDF in der Dokumentation zum Prozessor, dort sind alle Bits in der Hardware beschrieben.
Jim M. schrieb: > man liesst oft besser gleich den C > Quellcode um zu verstehen was die ASF Funktionen so tun Das mach ich genauso. Auch wenn ich eine SW erweitere wird zunächst das passende ASF Beispiel geladen um dort die Informationen rauszuziehen oder auch mal zu testen. Und ehrlich gesagt nutze ich die ASF auch ganz gerne. Aus meiner Sicht mach es wenig Sinn das Rad an dieser Stelle nochmal zu erfinden. Klar wird öfter mal der Reiz ausgelöst: „Das kann man doch anders machen“. Aber dann sag ich mir wo zu. Das Schöne an den modernen Cortex Kontrollern ist es ja das man normal nicht mehr in eine Ressourcen limitierte Programmierung gezwungen wird.
Erstmal Literatur durchlesen wie ein ARM funktioniert und die Referenz zum µP durcharbeiten. Dann versteht man auch welche Register mit welchen Werten gesetzt werden müssen. Dann ein Board Projekt erzeugen im Atmel Studio usw... Warum keinen Arduino DUE ?
Mann muss wohl atmel-Fanboy sein um mit deren Bananenprodukten anzufangen. Selber schuld. Als Anfaenger sollte Mann eher mit einem kleinen M0 starten.
Das ist Quark, der Befehlssatz von den Grundlegenden Funktionen ist gleich. ARM = ARM nur die Hardware unterscheidet sich je nach Modell und Hersteller. Ich habe mir das Demo von Olimex mal angeschaut. Das ist eine Mouse Emulation per USB. Keine Ahnung warum man so etwas als Demo zur Verfügung stellt für Anfänger? Wie bist du denn zum Atmel Studio Projekt gekommen ? In der Demo werden die Register direkt gesetzt. Ohne dessen Verständnis ist man dann verloren. Die ASF von M3 und M0 unterscheiden sich bei Atmel leider grundlegend in ihren Funktionen. Grundsätzlich schaut man immer erst in den Headern nach, gute Programmierer geben kurz und knapp hier hinweise was die Funktion macht und wie man sie verwendet. Meist sind in den Headern ganz unten auch Beispiele aufgeführt. Als Anfänger sollte man zu einen Board greifen was sehr gut Dokumentiert ist und wo es Zahlreiche Beispiele gibt. In dessen kann man den Arduinos nichts nachsagen.
:
Bearbeitet durch User
Danke für eure Beiträge. Also sieht es so aus das ich mich mehr mit dem Datenblatt des Controllers auseinander setzen muss. Ich habe das Board gewählt weil es in einem Buch ARM Cortex-M3 Mikrocontroller: Einstieg und Praxis (mitp Professional) verwendet wird. Die IDE habe ich von Atmel genommen, weil im Buch nur Eclipse mit hundert anderen zusätzlichen Tools vorgestellt wurden die nicht richtig funktionierten. Exclipse mit den hundert anderen zusätzlichen Tools ist der größte Misst.
Hi, Wenn ST eine Alternative ist: Ich kann das stm32VLdiscovery wärmstens emfpehlen. http://www.watterott.com/de/STM32VL-Discovery Dazu die kostenlose IDE "EMBitz" (ohne L!) https://www.embitz.org/ Mit diesen beiden Komponenten hast du innerhalb weniger Minuten dein erstes Blinky mit dem CortexM3 fertig. Falls Fragen aufkommen wird dir hier gerne weitergeholfen. Es ist wirklich kinderleicht! Ein blinky-Beispielprojekt kann ich beisteuern. Grüße! J.O
:
Bearbeitet durch User
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.