Forum: Mikrocontroller und Digitale Elektronik AT32UC3 Starthilfe


von Denis (Gast)


Lesenswert?

Hallo,

bei meinem letzten Projekt stellte sich nach langer Quälerei heraus dass 
ich an die Grenzen meines guten alten xMega128 gestoßen bin.

Um mal einen vorsichtigen Fuß in die 32Bit Welt zu setzen habe ich mir 
das AT32UC3A3 xPlained Board bestellt.
Für die Programmierung bleibt mir zum Glück mein Dragon-Board erhalten.

Leider komme ich aber gar nicht soweit.
Die Programmierung erscheint mir um ein Vielfaches komplexer und das 
Angebot an Beispielen und Dokumentationen um ein Vielfaches kleiner.

Ein Versuch ein VS1053 über SPI anzusteuern endete in absoluter 
Verzweifelung.

Selbst dass zusammenstellen seines AVRStudio-Projekts aus schon 
vorhandenen Komponenten des ASFs macht es irgendwie nicht einfacher.

Aus diesem Grund möchte ich euch fragen ob ihr für alte 8Bit-Hasen ein 
paar gute Einsteigerhilfen kennt.

von cskulkw (Gast)


Lesenswert?

Hallo Denis,

ja, in dem Status verweile ich nun mittlerweile seit 2 jahren. Das ein 
oder andere habe ich zwar durch Modifikation mit dem ASF hinbekommen. 
Aber so richtig fliege ich noch nicht.

Die Dokumentation des ASF ist schlecht. Das habe ich in diversen 
Werbeveranstaltungen bei ATMEL kommuniziert. Aber es passiert nichts. 
Wenn die so weiter machen, werden die ihre Chips dann behalten dürfen, 
weil man irgendwann keine Lust mehr hat und auf ARM umsteigt.
Vielleicht ist das Studio 6 so eine Vorahnung von Atmel, um den Pfad mit 
dem AVR nicht irgendwann einstampfen zu können.
Mich würde es nicht wundern, wenn das ASF für die ARM auch so armselig 
dokumentiert ist...

Ich habe jetzt mal angefangen ca. 600 Seiten des UG vom UC3C zu lesen.

Jetzt verstehe ich wenigsten, was die in ihren Funktionen manipulieren.
Das schlimmste ist die Universalität zw. den Kompilern.

Allein um einen Takt hinzubekommen, braucht man 3 Komponennten, wenn man 
den Chip mit 66 Mhz Core-Takt treiben lassen will.

Man braucht einen Timer, die SCIF und die PLL. Naja, genau genommen auch 
noch den FLashC wegen der Waitstates. Aber das ist nur ein 
Funktionsaufruf.

Vielleicht ist es sinnvoller, sich ein eigenes Framework zu bauen. Das 
ist zwar mühselig, aber dann weiss man, dass es funktioniert. Bisher 
habe ich mit Code von Anderen immer Schiffbruch erlitten.

Vielleicht hast Du ja Lust, Dich mit jemandem zusammenzuschließen und 
wir machen unser eigenes Ding.

Könnte ja vielleicht sogar Spaß machen.

Ansonsten gewöhne Dich bzgl. des ASF an Pointer. Also auch 
Funktionspointer. Ohne denen geht nichts. Ich habe zwar gekotzt. Aber 
jetzt schätze ich die Art der Programmierung.

Gruß

Carsten

von Phil S. (zippi)


Lesenswert?

Hey,

ich bin grad an einem Tutorial dran ca. 30% hab ich im Moment Fertig, 
ich denke mal nächsten Monat werde ich den link veröfentlichen.
Dort sind dann die ersten gehversuche mit den AVR32 dokumentiert.
Wie man ein Projekt erstellt, was man alles benötigt und vorallem wie 
das mit dem Bootloader und linkerskript funktioniert.
zusätzlich noch einfache Funktionen wie:
z.B. LED blicken und CPU configuration.

Nach und nach werde ich dann auch versuchen ein ganz simples und 
übersichtliches Framwork + Dokumentation zu veröfentlichen.

gruß
Zippi

von Ingo (Gast)


Lesenswert?

Ich habe mal die STM32F4 Serie ausprobiert, zusammen mit dem Atollic 
True Studio. Hat alles in Allem etwa ne Woche Einarbeitung gebraucht, 
aber dann ging es. Bin begeistert. Kann ich nur empfehlen!


Ingo

von Dirk (Gast)


Lesenswert?

Ich wäre auch für ein einfaches (eigenes) Framework, da ja aller 
möglicher Mist in dem ASF enthalten ist. Die Bezeichnung der Funktionen 
und defines könnte man ja übernehmen, solange es nicht zu umständlich 
ist. Quasi das ASF einkürzen. So hat man zum Start erstmal ein kleines 
übersichtliches Projekt (evtl. um schnell mal eine Komponente zu testen)

von hkn (Gast)


Lesenswert?

Hallo Denis,

ein Test-Board ist schon ein guter Anfang, wenn man sein späteres 
Hardware-Design erst einmal nicht betrachtet.

Du brauchst eine EDE und ein Toolchain. Von AVR wird das AVR Studio 5 
angeboten und das AVR32 Studio, das auf Eclipse aufgesetzt ist. Ich habe 
mich für das AVR32 Studio entschieden, da es meiner Meinung nach 
übersichtlicher ist. Ich habe das Atmel-Toolchain und die EDE 
installiert. Ich fand es etwas verwirrend, dass das AVR32 Studio auch 
schon ein Toolchain installiert hatte.

Die zweite Hürde war die Nutzung von den ASF-Beispielen. Für mein AVR32 
Studio waren noch keine Beispiele für den AT32UC3Cxxx vorhanden, für die 
anderen uC konnte mein AVR32 Studio, wie im AVR Studio 5, Projekte aus 
Beispielen erstellen. Deshalb habe ich das ASF extra runtergeladen und 
in das AVR32 Studio gelinkt. Ich habe mich dann an die Beispiele 
gehalten.

Ich arbeite mit den Make-Files aus dem ASF. Mit z.B. make all kann man 
die Beispiele compilieren. So kann man auch seine einzelnen Komponenten 
testen. Ich habe mir mein Projekt aus den Beispielen für spi, i2C, 
usart, usw. zusammengebaut. Die Schwierigkeit sein Projekt zum Laufen zu 
kriegen, besteht darin, dass es so viele verschiedene Dateien gibt: 
Definitionen für Demo-Boards, Anweisungen an den Compiler, usw.. Das 
macht das ASF "erschlagend". Die Dokumentation der Funktionen finde ich 
persönlich sehr gut, aber die verschiedenen Funktionen für z.B. 
"uC-Start" sind ungewohnt. Da das ASF auf so unterschiedlichen 
Prozessoren läuft, mag ein Grund sein, das es so viele Dateien, 
Funktionsaufrufe, Definitionen, etc. gibt. Mein Tipp: Konzentriert nach 
einem passenden Beispiel aus dem ASF suchen und probieren.

Die Doku für den AT32UC3C fand ich generell sehr gut, aber mir fehlten 
z.B. im Datenblatt Code-Beispiele, die jetzt dem ASF zu entnehmen sind. 
In der Doku zum ASF befindet sich ein Baumdiagramm in dem das 
Zusammenspiel der verschiedenen Komponenten grafisch dargestellt wird. 
Das solltest Du dir genau anschauen.

Wenn man seine eigene Hardware zum Laufen bringen möchte, kann man 
ebenfalls die Beispiele verwenden. Falls ein anderer uC verwendet wird, 
müssen die neue Definitionen für das eigene Board geschrieben werden.

von Waldemar M. (waldim90)


Lesenswert?

Hi,
ich versuche mich seit ca 3 Tagen auch an einem AVR32 ( habe das UC3L064 
Xplained bei ebay ergattert).
Zum blinken einer LED habe ich ca 5 Minuten gebraucht, aber als ich dann 
die RGB LED mit PWM ansteuern wollte, habe ich auch das Kotzen gekriegt. 
Hat ne weile gedauert bis ich verstanden habe, welche Schritte man gehen 
muss, zuerst im GPIO den PWM Pin aktivieren, die Clockeinstellungen 
durchblicken für die PWM und dann wars aber einfach...
Jedoch muss ich den anderen zustimmen, dass die Beispiele zu wenig bzw 
schlecht dokumentiert sind. Die Doku reicht aus wenn man schon den 
vollen Durchblick hat, aber als Einstieg ist das eine echte Quälerei...

Die "Universalität" bei dem Teil ist natürlich ziemlich praktisch, man 
kann jede Clock einstellen und und und...

Ich fänd es auch cool ein eigenes Framwork für Standardaufgaben zu 
haben...

MfG Waldemar

von gox (Gast)


Lesenswert?

@zippi: Ist dein Tutorial schon fertig? Ich würde mich sehr dafür 
interessieren.

von Phil S. (zippi)


Lesenswert?

Hey,

es ist noch im vollem gange ;).

Hier schonmal der Link:
http://www.avr32-wiki.de/

Aktuell sind die ersten Gehverusche drin.

Jetzt Folgen kurze Tutorials.
Im Downloadbereich hab ich 2 Kurze Frameworks für die CPU und die IOs 
drin, weitere folgen noch.

Später will ich Projekte wie MP3 Player, Gameboyemulator etc. Online 
stellen.

Also es ist noch viel Arbeit da ;).

Gruß
Zippi

von Henry P. (henrylexx)


Lesenswert?

Du Schreibst sogar ein eigenes Framework ... sehr cool.... ich bin 
mitlerweile schon einstück weiter... nächsten monat wird der Piko 
bestellt, damit ich dads was ich bisher mir im Praktikum angeignet habe 
nicht vergesse... und ausbauen kann...
ein Frage hätte ich da aber gerade doch noch... ich kann leider auf 
meinem UC3C_EK kein Pin finden der direkt rausgeführt wurde, ist das 
normal (ich meine direkt nen GPIO-Pin denn ich dann an meinen 
Schrittmotor (Treiber) anschlissen kann?)

von Phil S. (zippi)


Lesenswert?

Hey,

Schau mal bei J19 und J20, dort sind 12 IOs ;).

Welche dort genau anliegen, findest du hier auf Seite 5 unten links:
http://www.atmel.com/Images/AT32UC3C_EK_schematics_rev2.pdf

Gruß
Zippi

von Henry P. (henrylexx)


Lesenswert?

oh man stimmt hätte ich auch selbst drauf kommen können, ich war wohl zu 
ungeduldig... :S
J20 ist bei mir gar nicht als Pin raus gezogen, nur als footprint...

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.