mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik IGOR USB lässt sich nicht assemblieren


Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi! Weiß jemand von euch, warum man den IGOR Plug USB RS232 und auch den
dazugehörigen Joystick (siehe www.cesko.host.sk) mit dem neuen AVR
Studio nicht mehr assemblieren kann?

Felix

Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist denn los? Wieso antwortet mir nie irgendwer? Hat das irgend nen
Grund dass ich irgendwie gegen die Forum Etikette verstoße oder so?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht weil keiner hier sich den Igor-Code runterziehen und
assemblieren will, bloss weil du zu bequem bist, die Fehlermmeldung zu
posten.

Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den tipp!

Also hier:

AVRASM: AVR macro assembler 2.1.7 (build 23 Mar 20 2006 13:23:28)
Copyright (C) 1995-2006 ATMEL Corporation

E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(50): Including file
'C:\Programme\Atmel\AVR
Tools\AvrAssembler2\Appnotes\m8def.inc'
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(217): warning:
Register r28 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(218): warning:
Register r30 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2909): warning:
Register r14 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2910): warning:
Register r15 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2911): warning:
Register r16 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2912): warning:
Register r17 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2913): warning:
Register r16 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2914): warning:
Register r17 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2915): warning:
Register r18 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2916): warning:
Register r19 already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(479): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(485): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(490): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(493): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(498): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(501): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(506): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(512): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(518): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(524): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(527): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(535): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(542): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(550): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(558): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(565): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(572): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(579): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(586): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(623): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(693): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(720): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(735): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(755): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(783): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(814): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(824): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(826): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(904): error: call k:
Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1010): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1032): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1063): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1124): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1125): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1153): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1172): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1207): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1276): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1294): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1343): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1361): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1411): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1443): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(1480): error: call
k: Unsupported instruction on ATmega8
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(2489): error:
Operand(s) out of range in 'ldi r21,0x8005'
E:\AVRProjekte\USBJoystick\mjoy\MJoy\MJoy.asm(3341): warning:
.cseg .db misalignment - padding zero byte

Assembly failed, 45 errors, 11 warnings


Das sind die Errors von AVR Studio. Mit einer älteren Version von 2004
muss das allerdings geklappt haben, sonst hätte Igor das ja selbst
nicht assemblieren können.

Autor: Felix Jankowski (feejai)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist noch der Code um den es sich eigentlich dreht.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne es so garnicht anders: .def geht pro Register nur einmal.
Ggf. durch #define ersetzen oder alten Assembler auftreiben.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja der Call: "call" gibt's beim Mega8 nicht, Nur Mega16 aufwärts.
Ggf. #define call rcall.

Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt was gefunden, wenn man im neuen AVR Studio den Assembler
auf Version 1 stellt (Project/Assembler Options) funktionierts, gibt
nur die folgenden Warnings:

AVRASM: AVR macro assembler version 1.77.3 (Sep 21 2005 08:43:03)
Copyright (C) 1995-2005 ATMEL Corporation


Assembling 'E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm'
Including  'E:\AVRProjekte\USBJoystick\MJoy_v1.1\m8def.inc'
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(172) : warning :
Register already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(173) : warning :
Register already defined by the .DEF directive
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(770) : warning:
Immediate byte operand out of range
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(775) : warning:
Immediate byte operand out of range
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(780) : warning:
Immediate byte operand out of range
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(784) : warning:
Immediate byte operand out of range
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(786) : warning:
Immediate byte operand out of range
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(971) : warning:
Immediate byte operand out of range
E:\AVRProjekte\USBJoystick\MJoy_v1.1\MJoy.asm(1426) : warning:
Immediate byte operand out of range

Program memory usage:
Code             : 1106 words
Constants (dw/db):  139 words
Unused           :    0 words
Total            : 1245 words

Assembly complete with no errors.




Ich kanns momentan leider nicht testen, sobald ich genaueres weis, werd
ichs mal publik machen.

Vielen Dank an A.K.

Felix

Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, vielen Dank. So klappt es zwar, aber eine wirklcih befriedeigende
Lösung ist das nicht. Wisst ihr, was man ändern muss, um den Code auf
den neuen Assembler zu portieren? Gibts da vllt ne App Note oder so was
ähnliches?

Autor: Hans Mustermann (gast4711)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Habe auch versucht MJoy.asm zu assemblieren, erhalt eaber immer:
MJoy.asm(1718) : Error   : Unknown mnemonic/macro: 
composereportdescriptor

Weiß jemand Rat?

Autor: Hans Mustermann (gast4711)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da war ein ; zuviel im asm-File (zu spät zum Löschen meines 
Beitrages)...

Erhalte aber jetzt den Fehler
mmjoy.asm(471) : Error   : CALL instruction is not supported on ATmega8

Kennt der ATmega8 keinen CALL - Befehl und kann man das irgendwie 
umgehen oder klappt die Portierung nicht?

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#define call rcall

Autor: Hans Mustermann (gast4711)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, danke hatte ein falsches File; Mit MJoy.asm aus MJoy_v1.1.zip für 
ATMEGA8 klappt es (da sind rcall's drin).

Kann aber kein Assembler und auch wenn das Assemblieren jetzt klappt, 
wird das Anpassen wohl zu schwer für mich.

Kennt daher jemand einen Beispiellink zu MJoy für ATMEGA8 mit V-USB
(also in C) ?

(http://mmjoy.googlecode.com/svn/wiki/trash/V_USB_EP81.rar ist ein toter 
Link)

: Bearbeitet durch User
Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach zehn Jahren Schweigen in so einem Thread darf man sich auch 
trauen, einen neuen aufzumachen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.