Hi all! Ich habe das Beispiel "usb-device-cdc-serial-project-1.1-at91sam7s-ek" von Atmel verwendet um eben einen virtuellen Comport am Pc zu bekommen über den ich dann Daten austauschen will. Ich habe das Programm kein bisschen verändert! Ich benutze Yagarto in Verbindung mit Eclipse zum Entwickeln und downloaden der .bin Files über OpenOCD und einen JTAG Adapter. Ich habe auch einen AT91SAM7S256. (die Header-Boardversion von Olimex) So viel zur Umgebungsbeschreibung ;) Nun zu meinem Problem: Mein Problem ist, dass ich Alles wunderbar compilieren und dann auch auf den ARM7 flashen kann, aber der sich trotzdem nicht korrekt bei meinem Windows anmeldet!! Ich bekomme immer nur "USB-Gerät wurde nicht erkannt" er frägt gar NICHT nach irgendwelchen Treibern. Ich habe auch schon versucht einfach die von Atmel compilierte .bin Datei zu verwenden: mit dem selben Ergebnis. Das deprimierende ist, dass er mir das auch sagt wenn ich nur ein einfaches LED-blink Programm draufspiele... Das bedeutet aber auch das das Flaschen an sich funktioniert. Ich habe verschiedene Ansätze was das Problem sein könnte und würde mich freuen, wenn jemand was dazu sagen könnte: - das Headerboard enthält keine Beschaltung für einen Externen Pull-Up wie die sonstigen Developmentboards (von atmel aber auch von Olimex) es ist nur ein einfacher 1,5k Pullup Widerstand installiert. kann das zu Problemen führen? - Die Treiber fehlen meinem Windows irgendwie und deshalb wird der Controller nicht erkannt. (kannn fast nicht sein, weil ich extra nachgesehn habe, das ich die usbser.sys habe) - ich verwende zum flashen nicht Sam-Ba sondern den USB-Tiny-Jtag Adpater von Olimex. Kann dann der Bootloader Sam-Ba dazwischen funken(wenn der noch irgendwie im Flasch des Controllers sitzt)? - Ich meine über Led AN/AUS herausgefunden zu haben, das der Controller sich irgendwie aufhängt wenn er in die "USBD_Init()" reingeht. Wie gesagt ich habe an dem Quellcode nichts verändert! Wenn jemand eine Idee zu meinem Problem hat wäre ich ihm Dankbar für Tipps!!! Vielen Dank und viele Grüße Julian Straub
Hallo Bist du dir sicher, dass das das Programm definitiv auf dem Controller läuft, also du es erfolgreich ins Flash geschrieben hast? Sieht nämlich so aus, als währe das nicht der Fall. Funktioniert die USB-Verbindung zum SAM-BA Bootloader, wenn du diesen lädst? Wenn das geht sollte zumindest die Hardware i.O. sein. Wie schreibtst du denn die Software in den Flash. Mit dem JTAG und Openocd? Evt. wird die nämlich garnicht geladen, weil SAM-BA den Speicher mittels Lockbits spert. Wenn du z.b. Openocd zum Programmieren benutzt, wie sieht denn dessen Ausgabe aus? Selbst wenn am Schluss eine Erfolgsmeldung kommt können die Lockbits ein Programmieren verhindert haben. Am Board sollte es nicht liegen. Das mit der Pullupcontroll ist so zwar nicht ganz datenblattkonform aber es funktioniert problemlos. Häng mal das Bin-file an. Dann kann ich das evt. mal auf meinem Board testen. Gruß Holger
Hi! Danke für die schnelle Antwort Holger! Ich bin mir ziemlich sicher das das Programm drauf ist. Ich programmiere per OpenOCD und habeauch erst die warnung bekommen, dass die Lockbits gesetzt seien. Die habe ich dann gelöscht und ab da könnte ich wunderbar flashen. Wie gesagt hat es auch funktioniert ein einfaches blink Programm draufzuspielen. Aber der Tipp mit dem Sam-Ba ist interessant. Ich bekomme nämlich keine Verbindung zu Sam-Ba über USB (Seriell kann ich nicht testen, da ich keinen RS232 Anschluss an meinem Laptop habe und das Header board sowieso keinen Treiber drauf hat für die Pegelwandlung) Ich habe nach der folgenden Anleitung versucht Samba auf dem Controller zu installieren: When the TST pin is set during power-up and PGMEN0, PGMEN1 and PGMEN2 are set, the device is entering is a specific test mode and performs a SAM-BA™ Boot System Recovery which consists in copying the SAM Boot Assistant (SAM-BA™) in the first two sectors of the on-chip Flash memory. The system recovery procedure takes 10s. Dann hab ich 10 Sekunden gewartet und saft weg und wieder hin aber kein Samba hat sich angemeldet und mit dem Sambatool am Pc konnt ich mich auch nicht verbinden. Der zeigt mir nur Com-Ports und die funktionieren alle nicht(sind von Bluetooth Geräten). Was hat das zu bedeuten? Hardware kaput? Ich habe das Ding ganz neu aus dem Shop hier also wenn dann ist das defekt gekommen. Ich werd gleich mal an den Shopbetreiber schreiben. Also stört es gar nciht wenn da nur ein Pullup dran ist und mehr nicht? Ich habe dir mal eine bin Datei angehängt. Ist von einem At91SAM7S256. Ist einfach nur die .bin Datei aus dem Beispiel von Atmel. Sollte also einfach funktionieren. Das Board müsste sich einfach anmelden und nur zeigen dass es ein USB Gerät ist. (das simpelste was es gibt) Vielen Dank schon mal für deine Antwort Julian Straub
Okay alles zurück!! Ich habe es gerade aus lauter Verzweiflung noch einige mahle versucht und dann hat es doch noch geklapt Sam-Ba zu installieren und mit ihm auch das vorher erwähnte Programm zu installieren (sogar das zum simulieren einer Seriellen Schnittstelle). Also zusammengefasst: - Die Hardware ist nicht kaput - Sam-Ba funktioniert - Ich konnte mit Hilfe von Sam-ba einen Seriellen Port simulieren. Daraufhin habe ich dann gedacht okay dann versuchst dus nochmal über JTAG und OpenOCD. Allerdings hatte ich da dann wieder keinen Erfolg. Wieder zusammgefasst: - Ich kann über OpenOCD die Lockbits löschen und dann das Flash programmieren - Dies habe ich durch ein kleines LED-Blinken Programm verifiziert - Was ich weiterhin nicht kann ist das selbe Programm, dass ich vorher mit Samba einwandfrei installiert hatte mit Openocd über JTAg zum laufen bringen. Meine Vermutungen gehen in die Richtung, dass ich die Flash datei irgendwo falsch im Flash abspeichere? Ist es möglich das das Sam-Ba besser macht? Könnte es sein, dass das Problem im Makefile liegt? Ein irgnedwie signifikanter Unterschied zwischen dem (funktionierendenn) LED Blick-Programm und dem USB Seriell- Programm ist: Im LED Projekt gibt es ein Linkerscript in dem irgendwie die Speicherbereiche festgelegt werden im USB Projekt nicht?! (kann das im Makefile auch gemacht werden?) Mit Makefiles kenn ich mich leider zu wenig aus... Ich habe das Makefile einmal angehängt, vielleicht kann ja jemand was dazu sagen? Viele Grüße Julian Straub
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.