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


von Felix J. (feejai)


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

von Felix J. (feejai)


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?

von A.K. (Gast)


Lesenswert?

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

von Felix J. (feejai)


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.

von Felix J. (feejai)


Angehängte Dateien:

Lesenswert?

Hier ist noch der Code um den es sich eigentlich dreht.

von A.K. (Gast)


Lesenswert?

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

von A.K. (Gast)


Lesenswert?

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

von Felix J. (feejai)


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

von Felix J. (feejai)


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?

von Hans M. (gast4711)


Lesenswert?

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

Weiß jemand Rat?

von Hans M. (gast4711)


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?

von Draco (Gast)


Lesenswert?

#define call rcall

von Hans M. (gast4711)


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
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

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.