PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] AVR Studio 5 - Probeme - direkt flashen - funktionierende hexdatei (mit delay)



Abnormal
07.06.2011, 16:52
Hallo, würde mich um einige Tips freuen:

Hab vor einigen Tagen das neue AVR STudio installiert.

Momentan verwende iche s nur um Hexdateien zue rzeugen die ich dann mit ponyprog flashe. Das muß ja auch einfacher gehen, bzw war es in der Version4 ein Mausklick soweit ich das in Erinnerung habe.

Außerdem habe ich mit der 5Version noch keine Funktionierenede Hexdatei zusammengebracht - ich vermute es liegt and er Zeitroutine , denn ich kann die Ports ansprechen und high oder low schalten, aber nichts zB zum blinken bringen.

Auch kann trotzdem ich Anfänger bin ausgeschlossen werden das ein Programmfehler vorliegt, da genau das selbe Programm mit Hexfile das nicht im AVR Studio erstellt wurde einwandfrei funktioniert (Datei im Anhang, aber wie gesagt, der Controler arbeitet einwandfrei sobald kein AVRStudio im Spiel ist).

Was meint ihr?

betsen Gruß aus Wien Abnormal

Stone
08.06.2011, 08:57
Auch kann trotzdem ich Anfänger bin ausgeschlossen werden das ein Programmfehler vorliegt, da genau das selbe Programm mit Hexfile das nicht im AVR Studio erstellt wurde einwandfrei funktioniert

DDRB = 0b010000Wenn schon binär, dann auch wenigstens das ganze Byte beschreiben und nicht nur 6 von 8 Bit ist zwar anscheinen nicht der Fehler aber unsauber ist es trotzdem.

Mein AVR Studio 5 wirft zwar keinen Fehler aus, aber es gibt trotzdem ein Problem.


Device: attiny13
Program: 3316 bytes (323.8% Full)
(.text + .data + .bootloader)Die Delay frisst im 5er einfach zu viel Speicher das gleiche im AVR Studio 4 braucht nur ~7%.


Gruß Matthias

askazo
08.06.2011, 09:26
Das Speicherproblem tritt nur dann auf, wenn die Optimierung ausgeschaltet ist. Das ist im Studio 4 aber genauso.
Der Compiler spuckt auch eine dementsprechende Warnung aus.
Blöd ist halt nur, dass im Studio 5 die Optimierung bei der Neuanlage eines Projektes immer ausgeschaltet ist.

Gruß,
askazo

Stone
08.06.2011, 09:41
Das Speicherproblem tritt nur dann auf, wenn die Optimierung ausgeschaltet ist.
Stimmt, hast recht.
Danke ich hatte bei einem an den Projekt schon ungläubig geschaut, da nach dem initialisieren von etwas Peripherie und Portabfragen schon 50% des Attiny13 voll waren .

Gruß Matthias
(http://www.google.de/url?sa=t&source=web&cd=1&ved=0CCIQFjAA&url=http%3A%2F%2Fde.wikipedia.org%2Fwiki%2FPeriphe rie&ei=QjXvTa7bDInYsgaXqsCuCg&usg=AFQjCNGdi_djh4kXjw2mjPDwqV6V3hWDLw)

Abnormal
08.06.2011, 11:34
Hallo, Super, danke

das ganze wirft für mich als Anfänger dann gleich weitere Fragen auf ;-) :

WIE schalte ich die Optimierung ein (Schritt für Schritt);

Binär Code - verstehe ned ganz:
Der Attiny13 hat 6 Ports die ich anspreche (Pb0-Pb5). genau aus diesen 6 bits besteht meine Anweisung. Ein 7., 8. oder 9. Port ist nicht vorhanden, auch in meinem Programm nicht. Da jedoch von hinten nach vorne geschrieben wird kann man vorne beliebig viele Nullen auffüllen, scheint mir aber total unnötig zu sein ?! Was würde es bringen wenn ich überall vorne 2 Nullen dazumale, wenn doch dort eh immer nur 0 steht und sich der Zustand nicht ändern kann? bzw gar nicht existent ist?

askazo
08.06.2011, 11:45
Optimierung einschalten:
- Rufe mit ALT+F7 die Projekteigenschaften auf
- Klicke in der Baumstruktur links unter "AVR/GNU C Compiler" auf "Optimization"
- Stelle die Drop-Box "Optimization Level" auf "Optimize for size (-Os)"

zum Binärcode:
Dein Controller ist ein 8-bit Controller - d.h. unter anderem, dass alle Register eine Breite von genau 8 Bit haben.
Daher sollten diese auch immer mit 8 Bit angesprochen werden, auch wenn wie bei Dir die oberen 2 Bit gar nicht belegt und somit eigentlich nutzlos sind.
Von der Funktion her ist es unnötig, da hast Du Recht. Aber es ist sauberer programmiert - da sollte man schon ein bißchen drauf achten.

Gruß,
askazo

Abnormal
08.06.2011, 16:23
SUPER! DANKE! Du hast mir sehr geholfen !!!

jetzt bleibt nur noch die Frage, ob ihc auch irgendwie direkt vom AVR STudio aus flashen könnte. Ich verwende derzeit die RS232 SChnittstelle (com3) zum verbinden.
Das liegt mir jetzt aber nicht so im Magen, dann ist PonyProg halt auch für was da ;-)

askazo
08.06.2011, 20:16
Kommt darauf an, welchen Programmer Du hast.
Ich weiß nicht, ob das Studio 5 mit Atmel-fremden Programmern zurecht kommt.
Klick mal bei angeschlossenem Programmer im Menü auf Tools -> AVR Programming
Wenn oben links in der DropDown Box nur "AVR Simulator" auftaucht, gehts leider nicht.

Gruß,
askazo

Abnormal
08.06.2011, 20:25
Hallo,
Nein, leider nur AVR Simulator.

Danke nochmals für Deine Hilfe !

askazo
09.06.2011, 08:25
Wenn das Board STK500-kkompatibel ist, geht's eventuell doch.
Probier's mal über Tools -> Add STK500

Gruß,
askazo