Forum: Mikrocontroller und Digitale Elektronik SAM7H256 Board von Olimex + USB Beispielprogramm


von Benjamin (Gast)


Lesenswert?

Hallo!

Ich probiere seit einiger Zeit den USB Port am Sam7h256 Board von Olimex 
(Sam7S256) zum laufen zu bringen.
Habe schon einige Beispielprogramme ausprobiert.
Aber mein Rechner erkennt den Controller immer nur als "Unbekanntes 
Gerät".
Wollte aber einen HID oder MSD Treiber verwenden und keinen eigenen 
erstellen.
Hat mir jemand ein einfaches USB-Programm für den Controller das Zeichen 
empfangen und senden kann, es wäre mir damit sehr geholfen.
Ich verwende IAR Embedded Workbench und programmiere in C.
Danke vielmals!

MfG

Benjamin

von gerhard (Gast)


Lesenswert?

hallo benjamin,
in den examples der workbench findest du ein sog. usb framework. das 
sollte eine gute basis sein:
...\arm\examples\Atmel\AT91USBFramework\

auf der atmel homepage findest du application notes dazu:
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4092


gruss
gerhard

von Benjamin (Gast)


Angehängte Dateien:

Lesenswert?

Danke habs gleich ausprobiert, hab da n Beispiel gefunden 
(AT91SAM7S64-BasicUSB-IAR4_11A-1_0).
Habe gleich mal das Programm auf den Controller aufgespielt.
Meines Wissens müsste doch nach dem auspielen und starten die 
USB-Schnittstelle als HID oder MSD erkannt werden und nicht als 
Unbekanntes Gerät (insofern sie richtig initialisiert ist)
Mit einem Unbekannten Gerät kann ich ja niemals Daten empfangen/senden.
Will dann eigentlich Angangs mit einem USB-Sniffer schauem ob was 
ankommt oder nicht, später dann die Schnittstelle im PC in einer 
Oberfläche verankern.
Jedoch soweit bin ich noch lange nicht.
Hab mal das Beispiel angehäng damit du weisst wovon ich spreche.
Kannst du mir da noch n Tipp geben auf was ich achten muss oder wo mein 
Problem liegen könnte?

Tausend Dank!

MfG

Benjamin

von Benjamin (Gast)


Lesenswert?

Also habs zumindest soweit hinbekommen das der Controller jetzt richtig 
erkannt wird.
Ich probiere jetzt einfach mal weiter melde mich wieder.
Danke nochmals!

Benjamin

von Benjamin (Gast)


Lesenswert?

Ich nochmal!

Also habe bemerkt als ich Zeichen an den PC übersenden wollte, dass das 
Programm in eine Whileschleife zu HID Konfigurierung in der Main stehen 
bleibt(while (!HID.IsConfigured(&HID));)
Kann mir ejmand sagen warum (Hab das Programm im vorvorthread 
beigefügt).

Wär echt super wenn du/ihr mir helfen könntet bin etwas ratlos.

Danke!

MfG

Benjamin

von Benjamin (Gast)


Lesenswert?

Also so wie ich das sehe bleibt er beim USB-Device Neustart hängen, d.h. 
er bekommt den Interrupt (AT91C_UDP_ENDBUSRES) nicht, weil der Host 
nicht zählt.

Hat jemand n Denkanstoß oder n Lösungsvorschlag?

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.