Hallo mikrocontroller.net,
ich habe letztens von einem Freund einen "OpenKubus" bekommen, auf ihm
ist ein AT90USB162.
Jetzt wollte ich die Firmware des OpenKubus mit Make machen, aber leider
erhalte ich unter Ubuntu und Windows diese Fehlermeldung:
1
> "make.exe" all
2
3
-------- begin --------
4
avr-gcc (WinAVR 20100110) 4.3.3
5
Copyright (C) 2008 Free Software Foundation, Inc.
6
This is free software; see the source for copying conditions. There is NO
7
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Ich weiß nicht was ich falsch mache.
Ich habe die sachen von der Projektseite
http://code.google.com/p/openkubus/ heruntergeladen, Crypto-Lib mit Make
erstellt, aber dann bei dem Make des Sec-stick 1 und 2 (alte und neue
Version) bleibe ich bei diesem Fehler hängen (versuche aber die Sec2
Version mit Make herzustellen, Sec1 gibt einen anderen Fehler aus).
Ich hoffe ihr könnt mir weiterhelfen, den es wäre praktisch ein Geschenk
zu benutzen wo ich keine Passwörter in Ubuntu beim Sudo eingeben muss.
Mit freundlichen Grüßen
conan7123
UEBCX ist ein 16-bit-Pseudoregister, das aus UEBCLX und UEBCHX
gebildet wird. Dieses gibt es nur bei den "großen" USB-AVRs
(AT90USB646/647/1286/1287, ATmega32U4), die kleineren haben nur
ein UEBCLX.
erstmal Danke an Oliver und Jörg, ich habe die Makefile auf den
AT90USB162 abgeändert, zwar komme ich nun weiter, aber jetzt bekomme ich
einen anderen Fehler:
1
> "make.exe" all
2
3
-------- begin --------
4
avr-gcc (WinAVR 20100110) 4.3.3
5
Copyright (C) 2008 Free Software Foundation, Inc.
6
This is free software; see the source for copying conditions. There is NO
7
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
LUFA/Drivers/USB/HighLevel/USBInterrupt.o: In function `__vector_11':
34
C:\Users\Mysterion\Downloads\openkubus-20090702.tar\openkubus-20090702\openkubus-20090702\firmware\secstick_v2/LUFA/Drivers/USB/HighLevel/USBInterrupt.c:69: multiple definition of `__vector_11'
35
openkubus.o:C:\Users\Mysterion\Downloads\openkubus-20090702.tar\openkubus-20090702\openkubus-20090702\firmware\secstick_v2/openkubus.c:567: first defined here
36
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions
37
make.exe: *** [openkubus.elf] Error 1
38
39
> Process Exit Code: 2
40
> Time Taken: 00:01
Ich werde es ersteinmal mit der Sec1 Version testen, vieleicht geht es
auch damit, werde gleich mal meinen Beitrag bearbeiten.
Mfg
conan7123
edit:
Ich habe jetzt auch versucht Version Sec1 zu erstellen, werde aber mit
diesen Fehlern abgewiesen:
1
> "make.exe" all
2
3
-------- begin --------
4
avr-gcc (WinAVR 20100110) 4.3.3
5
Copyright (C) 2008 Free Software Foundation, Inc.
6
This is free software; see the source for copying conditions. There is NO
7
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Kevin B. schrieb:> LUFA/Drivers/USB/HighLevel/USBInterrupt.o: In function `__vector_11':> .../LUFA/Drivers/USB/HighLevel/USBInterrupt.c:69:> multiple definition of `__vector_11'> .../openkubus.c:567:> first defined here
Nun, LUFA und openkubus müssen sich schon einig sein, wer von beiden
den USB_GEN_vect behandeln will.
Bist du dir sicher, dass das alles in der Form schon jemals bei
jemandem compilierbar war?
> Ich werde es ersteinmal mit der Sec1 Version testen, ...
Häh, womit?
Nein, das wird nichts. Beim Auftreten eines Fehlers musst du diesen
analysieren und versuchen zu beseitigen. Es bringt rein gar nichts,
wenn du stattdessen kreuz und quer irgendwas herumprobierst.
Entweder kann dir derjenige helfen, der diese Software gebastelt hat,
oder aber du musst selbst da durchsteigen und verstehen, welche Teile
der Software welche Aufgabe haben und wie sie zusammenpassen sollen.
Danke für die schnelle Antwort.
Sicher bin ich nicht ob diese Software jemals funktioniert hat, da mein
Freund es für etwas anderes verwendet hat, er will nichts darüber
sagen.... (wenn man bedenkt was über openkubus im Internet steht kann
man sich das schon denken..., irgendwie doof als Müllschlucker verwendet
zu werden..).
Das mit dem Testen der Sic... Versionen mache ich, weil ich nicht genau
weiß welche Verionen mit diesem Stick laufen (Da dieser nicht so alt ist
denke ich das es die Sec2, also die neu ist)
Ich werde mal bei der Seite mal hinschreiben ob die mal nachgucken
können, aber das wird eh nichts, da jemand das selbe Problem hat und das
seit anfang des Jahres auch nicht beantwortet wurde. :(
Naja, auch wenn es nicht funktioniert: Danke die mir überhaupt
weitergeholfen haben und werde es erstmal beim "Hersteller" versuchen.
Mfg
conan7123
Nun gut, habe mir den Krempel auch mal geholt.
In der Tat, das Ding kann nie compiliert haben. Aber selbst, wenn
man das mit dem DUEBCX löst (was noch durch einen einfachen Hack
im Makefile geht), dann stolpert er, wenn man den AT90USB162 als
Controller einsetzt, darüber:
1
openkubus.c: In function 'main':
2
openkubus.c:60: error: 'DDRE' undeclared (first use in this function)
3
openkubus.c:60: error: (Each undeclared identifier is reported only once
4
openkubus.c:60: error: for each function it appears in.)
5
openkubus.c:61: error: 'PORTE' undeclared (first use in this function)
6
openkubus.c:93: error: 'PINE' undeclared (first use in this function)
7
make: *** [openkubus.o] Error 1
In Zeile 93 wird dabei PE6 abgefragt und an diesem hängt laut dem
Schaltplan der Taster.
Da es einen Port E beim AT90USB162 aber gar nicht gibt, passt das
einfach mal mit deiner Hardware komplett nicht zusammen. Ein
Openkubus V1 kann es übrigens auch nicht sein, denn der hat einen
ATmega16 mit externem USB-IC benutzt.
Du müsstest also als erstes mal rausfinden, was du denn da wirklich
in der Hand hälst. Eventuell kannst du ja auch hier mal ein Foto
posten.
Entschuldige das ich weg war, musste zur Schule...
Ich habe mal ein Bild von gemacht, gekauf wurde es als "OpenKUBUS
(AT90USB646 verfügbar" bei www.embedded-projects.net(mein Freund hat die
PDF weitergeleitet).
Komisch ist nur das da 646 steht, aber 162 drauf ist....
Mfg
conan7123
Ps: Danke das du hilfst, und die Daten runterlädst
Edit:
Ich habe herausgefunden das er einen 16 MHz Quarz hat und die LED auf
PD6 ist
>(AT90USB646 verfügbar" bei www.embedded-projects.net(mein Freund hat die>PDF weitergeleitet).>Komisch ist nur das da 646 steht, aber 162 drauf ist....
Da habt ihr wohl falsch bestellt. Die Bestellnummern
unterscheiden sich nur durch eine 4 und eine 5 am Ende;)
Wenn es bei Benedikt Sauter gekauft worden ist, dann fragt ihn bitte
mal nach dem Schaltplan. Dann kann man auch den Sourcecode soweit
modifizieren, dass er dafür passt.