www.mikrocontroller.net

Forum: PC-Programmierung Probleme beim kompilieren vonTeensy RawHID code für Windows


Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche die Teesy AVR-USB-Bibliothekt zu implementieren.

http://www.pjrc.com/teensy/rawhid.html

Die µC Software läuft auch einwandfrei und ich kann sie verändern und 
neu kompilieren. Allerdings habe ich ein Problem mit der 
Windows-Software. Zwar funktioniert das fertig kompilierte Programm, 
dass man von der Seite herunter laden kann jedoch schaffe ich es nicht 
den mitgelieferten Quellcode zu kompilieren.
Zuerst heiß es, dass ich eine "hidsdi.h" nicht habe. Also habe ich mir 
das Windows driver deveopment kit (DDK) herunter geladen. Nun kriege ich 
jedoch zahlreiche andere Fehlermenldungen. Zum Beispiel mehfach die 
Meldung "__checkRun does notname a type" in der Datei "hidpi.h".

Hat schon mal jemand das Programm kompiliert und wenn ja, welche Tools 
und Bibliotheken hat er benutzt?

Ist das hier das richtige Topic oder sollte ich die Frage besser unter 
"µC & Elektronik" stellen?

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

Bewertung
0 lesenswert
nicht lesenswert
Philipp Meißner schrieb:
> Ist das hier das richtige Topic oder sollte ich die Frage besser unter
> "µC & Elektronik" stellen?

Da es sich um PC-Programmierung handelt, bist Du hier richtig 
aufgehoben.

Mit was für einem Compiler versuchst Du die Testanwendung zu übersetzen?
Im Makefile steht was von i586-mingw32msvc-gcc, benutzt Du den?

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da bin ich ein wenig überfragt. Ich hatte es mit Dev++ und mit dem 
Visual Studio versucht. Ich wusste aber nicht was für Compiler die 
nutzen.
Ich habe jetzt mal bei Dev++ unter den Compilereinstellungen 
die"mingw32-gcc.exe" ausgewählt. Aber es funktioniert leider immernoch 
nicht. Ich kriege immer haufenweise für mich recht kryprische Meldungen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Philipp,

ich kenne jetzt diese Teesy Bibliothek nicht, aber falls die lediglich 
USB HID-Geräte vom PC aus ansteuert, dann versuchs mal mit der 
USB-Library von www.rahand.eu. Da gibts auch ne kostenlose Version - hat 
zwar kleine Einschränkungen, aber egal. Das Ganze läuft dann unter 
Microsoft Visual Studio Express. Ausserdem ist noch eine fertige 
Beispielanwendung mit dabei.

Grüsse

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß halt nicht ob die perfekt mit dem Teensy µC-Code 
zusammenabreitet. Außerdem hat das Teensy Programm nach eigenen Angaben 
keinerlei Einschränkungen und schafft auch USB-Full-Speed (12 Mbit/s).

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Einschränkungen sind ja nur bei der kostenlosen Version vorhanden. 
Und wenn es funktioniert, dann kannst Du ja immer noch upgraden.

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe dem Autor der Teensy Software geschrieben. Und dieser meinte, 
dass er mit MinGW unter Linux Cross-Platfom compiliert hat. Das werde 
ich diese Tage mal versuchen. Ebenso werde ich es nochmal mit MinGW 
unter Windows versuchen (erste Versuche brachten leider Linker-Errors). 
Wenn ich Erfolg habe, werde ich hier davon berichten.

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die beschriebenen Versuche waren erfolgreich. Ich habe das Programm mit 
MinGW unter Ubuntu, welches in einer Vitual Machine auf Win XP lief 
compiliert.

Autor: Tobias Pfundt (wuka-rudi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hey Philipp,

steh momentan vor dem selben Problem wie du.
Ich versuche den Teensy RAWHID Quellcode mit Visual Studio 2010 zu 
compilieren. Hab mir auch das WDK installiert. Das hatte zur Folge das 
alle Compilerfehler verschwunden sind. Jetzt bekomme ich aber eine lange 
Liste an Linkerfehlern siehe Bild. Über den Umweg mit Ubuntu würde ich 
nur ungern gehen. Hast du es mittlerweile unter Windows hin bekommen 
oder hat jemand anderes eine Idee wie ich das schaffen könnte?

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein ähnliches Bild hatte ich damals auch. Und ich hatte auch das WDK 
installiert. Und da ich vor kryptischen Linkerfehlern immer etwas Bammel 
habe, habe ich mich damals für den Umweg über Ubuntu entschieden. Ich 
hatte mich innerlich Anfangs auch sehr dagegen gesträubt weil ich vorher 
noch nie wirklich was mit Windows gemacht habe.

Aber es ging echt überraschend einfach. Ubuntu in VitualBox installiert, 
MinGW dazu installiert und mehr oder weniger im Handumdrehen lief alles. 
Und da ich eine virtualle Maschine benutzt habe musste ich meinen guten 
alten Windows-Desktop gar nicht wirklich verlassen.

http://www.virtualbox.org/

Ich habe es danach auch nicht mehr weiter versucht unter Windows zu 
kompilieren. Was ich aber tun werde, wenn ich mal wieder dazu komme mit 
Teensy zu arbeiten (was ich hoffe den ich finds klasse), ist mir unter 
Ubuntu eine dll zu kompilieren die dann alle Funktionen kann die ich 
brauche. Und diese dll, die dann ja allen benötigten Code in einem Paket 
beinhaltet müsste man dann einfach in ein anderes Projekt einbinden 
können, dass man dann auch unter Windows kompilieren kann.

Wenn mir jemand zuvorkemmen möchte und eine coole dll auf Teensy-Basis, 
die unter Windows direkt zu benutzen ist, erstellt, und sie hier 
veröffentlicht, wäre das natürlich auch klasse.

Autor: Tobias Pfundt (wuka-rudi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey danke für deine Antwort!
Hab es jetzt auch unter Windows hin bekommen.
Ist eigentlich auch nur MinGW installieren, Eclipse für C/C++ runter 
laden und dann kann es auch fast los gehen. Die 2 Probleme die dann noch 
zu lösen sind ist das man MinGW in den "PATH" eintragen muss und bei 
Eclipse muss man bei den Projekt Settings bei "C/C++ 
Build-->Settings-->MinGW C Linker --> Miscellaneous" unter Other objects 
die Pfade für "C:\MinGW\lib\libhid.a" und "C:\MinGW\lib\libsetupapi.a" 
angeben muss (für das RawHid Beispiel, ansonsten entsprechend andere) 
dann sollte die ganze Sache laufen.

Autor: Tobias Pfundt (wuka-rudi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da du ja schon damit gearbeitet hast hab ich noch ne Frage ist es 
möglich Pakete von 128Bytes zu schicken? Kleinere hat ohne Probleme 
funktioniert, aber größere haut grad irgendwie nicht hin. Vorgesehen 
sind je eigentlich max. 64Byte wenn ich mir die usb_rawhid_send so 
ansehe.
Hab sie einfach mal wie folgt erweitert
// write bytes from the FIFO
  #if (RAWHID_TX_SIZE >= 128)
  UEDATX = *buffer++;
  #endif
  #if (RAWHID_TX_SIZE >= 127)
  UEDATX = *buffer++;
  #endif
  #if (RAWHID_TX_SIZE >= 126)
  UEDATX = *buffer++;
  #endif
  #if (RAWHID_TX_SIZE >= 125)
  UEDATX = *buffer++;
  #endif 
......
bin aus dem Datenblatt auch nicht ganz schlau geworden ob da irgendwas 
dagegen spricht.

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.