IGOR USB lässt sich nicht assemblieren

OP
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.
OP
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
OP
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?
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?
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)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.