Hallo zusammen hoffe ihr könnt mir helfen Bin neu in der Elektronik und wollte mal mit einem Atmega 16, dem Evolution Bord von Pollin und AVR Studio ein kleines einfaches Programm schreiben. Dazu muß ich doch erstmal den ".include"m16def.inc" laden. So und wenn ich auf Build gehe sagt er "Error creating Process" Also was ist an der Zeile den Falsch? Vielen Dank schon mal im vorraus.
Dirk Engelmann wrote:
> Dazu muß ich doch erstmal den ".include"m16def.inc" laden.
Öh, wie "lädst" Du die Datei denn? Du weißt hoffentlich, dass Du erstmal
überhaupt ein Projekt erstellen musst...
mehrfacher STK500-Besitzer wrote:
> Wird das Pollin-Board überhaupt vom AVR-Studio unterstützt?
Nicht direkt...
Aber wo liegt das Problem.... Ich schreibe meine Applikationen auch im AVR-Studio und lade die Hex-File dann mit Ponyprog aufn Chip
Christian Schmalor wrote: > Aber wo liegt das Problem.... Ich schreibe meine Applikationen auch im > AVR-Studio und lade die Hex-File dann mit Ponyprog aufn Chip Das "Problem", das derzeit eigentlich noch keines ist, ist, dass der OP bisher nur AVRStudio und das Pollin-Board erwähnt hat (und kein PonyProg), was den mehrfachen dazu bewegt hat, schonmal dezent den Hinweis einfließen zu lassen, dass da zur Vollendung eventuell noch was fehlt...
Dirk Engelmann wrote: > Dazu muß ich doch erstmal den ".include"m16def.inc" laden. > So und wenn ich auf Build gehe sagt er "Error creating Process" Kannst du näher beschreiben, was du machst, ich verstehe es nicht, so dass ich einen sicheren Tipp abgeben kann. Es könnte nämlich sein sein, dass der Aufruf von WinAVR über das GCC-Plugin klemmt. Voraussetzung wäre, 1/ dass du ein C Projekt angefangen hast. Dagegen spricht, dass du mit dem .include"m16def.inc" eine typische Assembler-Zeile angegeben hast und 2/ dass du ein rel. modernes WinAVR aus 2007 benutzt Jetzt weiss ich nicht, ob das nur ein Fehler bei deiner Projektauswahl ist oder meine Vermutung grundsätzlich falsch ist. Bitte füge zu deiner Beschreibung auch hinzu, welche AVR Studio Version inkl. Servicepacknummer und ggf. welche WinAVR Version und welches Windows du hast. Hier gibt es auch Problemmöglichkeiten (allerdings mit anderen Fehlermeldungen).
ja das Projekt erstelle namen geben den µc und die schnittstelle auswählen. Wollte dabei übers parrall port an die ISP schnittstelle gehen. wiel das sei der sicherste weg. Das Bord soll als STK 500 erkannt werden. will erstmal eine LED über ein port blinken lassen. Um zu schauen ob alles passt. Danke für die schnelle Antwort
ich benutze Win Me und AVR Studio 4.11.401 GUI Version 4, 11, 0, 401 Operating System Major 6 Minor 0 PlatformID 2 Build 6000 Plugins: Stk500Dll 1, 0, 0, 43
hab schon mit Keil gearbeitet und so einiges gemacht aber immer nur im Simulator. Jetzt will das auch mal praktisch nutzen.
Dirk Engelmann wrote: > will erstmal eine LED über ein port blinken lassen. Um zu schauen ob > alles passt. Dann musst Du erstmal ein komplettes Programm schreiben. Da reicht die m16def.inc allein nicht aus. Schau Dir das AVR-Tutorial mal an.
Ok es liegt am Projekt erstellen. Also ich wähle einen Dateinamen der mit .asm endet dann nehme ich den µc (hab jetzt mal aus dem Tutorial mal ein kurzes Prog für den Atmega8 genommen) .include "m8def.inc" ; Definitionsdatei für den Prozessortyp einbinden ldi r16, 0xFF ; lade Arbeitsregister r16 mit der Konstanten 0xFF out DDRB, r16 ; Inhalt von r16 ins IO-Register DDRB ausgeben ldi r16, 0b11111100 ; 0b11111100 in r16 laden out PORTB, r16 ; r16 ins IO-Register PORTB ausgeben ende: rjmp ende ; Sprung zur Marke "ende" -> Endlosschleife und dann kann ich zwischen JTAGICE mkII ICE 40 ICE 50 JTAG ICE AVR Simulator ICE 200 wählen. Hab jetzt zur Simulation den AVR Simulator gewählt. Jetzt sucht er die hex datei und findet sie nicht. Müste dann um an das Board zu senden die JTAG ICE nehmen.(denk ich mal) Brauche erstmal den Anfang und die Einstellungen dann komm ich klar. War damals mit Keil genauso.
Dirk Engelmann wrote: > Ok es liegt am Projekt erstellen. > > Also ich wähle einen Dateinamen der mit .asm endet wenn du neues Projekt anlegst, ist im ersten Dialog die Abfrage nach dem Projektnamen. Den gibst du ein, woraufhin AVR-Studio einen Dateinamen dafür vorschlägt. Hüte dich vor allen Projektnamen die irgendwelche Besonderheiten enthalten. Also keine Umlaute, kein Leerzeichen im Namen, etc. Am besten du beschränkst dich auf die Zeichen A-Z, a-z und 0-9. Das eine oder andere Sonderzeichen mag noch angehen. Aber halte die Dinge einfach! Den Dateinamen lässt du auf jeden Fall mit einem Buchstaben beginnen. Achte auch darauf, dass das Projekt nicht in dem bescheuerten 'MyDokuments', oder wie das heist, Pfad abgelegt wird, sondern erzeuge dir auf C:\ einen Ordner 'Projekte' und den gibst du als Pfad im AVR Studio an. Im Dialog noch 'Verzeichnis erzeugen' und 'Datei erzeugen' anhaken und es geht weiter zum nächsten Dialog. Dort Prozessor und Simulator auswählen. Fertig. > > dann nehme ich den µc (hab jetzt mal aus dem Tutorial mal ein kurzes > Prog für den Atmega8 genommen) > > .include "m8def.inc" ; Definitionsdatei für den Prozessortyp > einbinden > > ldi r16, 0xFF ; lade Arbeitsregister r16 mit der > Konstanten 0xFF > out DDRB, r16 ; Inhalt von r16 ins IO-Register DDRB > ausgeben > > ldi r16, 0b11111100 ; 0b11111100 in r16 laden > out PORTB, r16 ; r16 ins IO-Register PORTB ausgeben > > ende: rjmp ende ; Sprung zur Marke "ende" -> Endlosschleife Yep. Den Code in das vom AVR Studio vorgefertigte Textfenster eingeben (in der Titelzeile steht der Dateiname der Text-Datei). Bis jetzt ist dein Programm nur ein Text. Jetzt muss irgendwer daraus das eigentliche Programm generieren. Das macht in dem Fall der Assembler. Den startest du zb. mit F7 rummel, rummel, rummel. Nach ein paar Sekunden ist dein Programm fertig gebaut. Achte auf das Ausgabefenster. Da läuft einiges durch. Untersuche es, ob da etwas auftaucht was nach Fehlermeldung stinkt. > Hab jetzt zur Simulation den AVR Simulator gewählt. > > Jetzt sucht er die hex datei und findet sie nicht. Wenn der Build Schritt (F7) geklappt hat, dann sollte das jetzt kein Problem mehr sein. Ergebnis des Build Schrittes ist die HEX-Datei.
Ok erste hürde geschafft, mein rechner hat mich verarscht. Es lag an der ordnerverwaltung. Danke
OK mit dem ATmega8 hat alles funktioniert. Nun hab ich nur die include m16def eingesetzt (was normal gehen sollte) .include "m16def.inc" ; Definitionsdatei für den Prozessortyp einbinden ldi r16, 0xFF ; lade Arbeitsregister r16 mit der Konstanten 0xFF out DDRB, r16 ; Inhalt von r16 ins IO-Register DDRB ausgeben ldi r16, 0b11111100 ; 0b11111100 in r16 laden out PORTB, r16 ; r16 ins IO-Register PORTB ausgeben ende: rjmp ende ; Sprung zur Marke "ende" -> Endlosschleife und er sagt mir Attempt to redefine keyword 'or' was soviel bedeutet neudefinierung des schlüsselworts or ; UCSRA .equ RXC =7 .equ TXC =6 .equ UDRE =5 .equ FE =4 .equ OR =3 .equ DOR =3 ;New name for OR .equ PE =2 .equ U2X =1 .equ MPCM =0 jetzt hab ich die zeile mit einem ; rausgenommen und es geht. ; UCSRA .equ RXC =7 .equ TXC =6 .equ UDRE =5 .equ FE =4 ;.equ OR =3 .equ DOR =3 ;New name for OR .equ PE =2 .equ U2X =1 .equ MPCM =0 Aber das fällt mir doch mal auf die Füße wenn ich or verwenden will oder?
Dirk Engelmann wrote: > jetzt hab ich die zeile mit einem ; rausgenommen und es geht. > ; UCSRA > .equ RXC =7 > .equ TXC =6 > .equ UDRE =5 > .equ FE =4 > ;.equ OR =3 > .equ DOR =3 ;New name for OR > .equ PE =2 > .equ U2X =1 > .equ MPCM =0 > Aber das fällt mir doch mal auf die Füße wenn ich or verwenden will > oder? Wie der Kommentar schon andeutet. In dem Fall benutzt du dann DOR. Es ist keine gute Idee, dieselben Wörter in verschiedener Bedeutung zu verwenden. Mit OR ist nun mal untrennbar die binäre ODER-Verknüpung zweier Register verbunden. Belasse es dabei.
Ja. An diesen Stellen im Quellcode (die ich in deinem Quellecode nicht sehe) solltest du DOR statt OR verwenden. Die Stellen in fremde Sourcen wirst su erkennen, denn der Assembler wird meckern, dass er OR nicht kennt. ADD: Eher doch nicht, weil es ja ein Keyword ist. Der Assembler meckert dann, wenn sich ein Syntaxfehler einstellt. Dein AVR Studio ist ja eine ältere Version. Nach der 4.11 kamen noch die 4.12 und inzwischen ist 4.13 aktuell mit inzwischen glaube ich 3 Servicepacks seit Release. Möglicherweise wurde m16def.inc schon seitens Atmel korrigiert. Die 4.13 muss allerdings nicht unbedingt auf WinME laufen ich habe (in Verbindung mit C) Probleme mit der 4.13 auf Win98SE.
ja das hat mich eben auch gewundert. Ich verwende kein OR oder DOR und er mekkert mich deswegen an. Wenn ich es verwendet hätte wäre es mir verständlicher gewesen. Gut ich werd mir mal ne neuere Version Saugen und mal schaun ob die m16def dort was anderes stehen hat.
So jetzt läuft alles. (aufdenbodenrumkugelfreu) Vielen Dank an alle die mir hier so gut geholfen haben.
Habe alles soweit eingestellt. Bei mir kommt dann aber: "../Lauf_3.c:1:22: error: m16def.inc: No such file or directory"
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.