Hallo, ich bin dabei ein Board mit einem AT91SAM7X256 (siehe Anhang) in Betrieb zu nehmen. Leider bekomme ich weder über USB noch über den seriellen (RS232) Debug-Port keine Verbindung mit dem Board. Laut Atmel soll das ja auch ganz einfach gehen. SAM-BA installieren, "Erase"-Jumper stecken, Board anschalten, Board abschalten, "Erase"-Jumper entfernen und per USB mit dem PC verbinden. Anfangs wurde an meinem Arbeitsplatz-PC das Board erkannt (Name wurde wie im Treiber hinterlegt angezeigt), der Treiber konnte aber nicht installiert werden. Der Rechner ist doch tatsächlich abgestürzt! Und das bei Win-XP. SAM-BA soll laut Atmel alle angeschlossenen Devices erkennen und in einer Liste anzeigen. Das funktioniert auch nicht. Nachdem ich eine ältere Version von SAM-BA installiert habe und noch ein paar mal versucht hatte eine Verbindung herzustellen, wird jetzt am Arbeitsplatz-PC nicht mal mehr ein Device am USB erkannt. Daraufhin habe ich das ganze am Notebook probiert. Dort konnte ich den Treiber ebenfalls nicht installieren (auch abgestürzt), das Board wird aber jedenfalls noch als Device erkannt. Eine Verbindung ist ebenfalls nicht möglich. Soweit der Stand. Es liegt nah zu vermuten, dass der ARM einfach defekt ist, also von mir zerstört wurde (Einbau, Test, usw.). Meine Frage: Wie schwierig ist die Anbindung eines AT91SAM7X256 über USB mit SAM-BA? Sollte das ohne Probleme von PC-Seite funktionieren oder gibt es mit dem Treiber/SAM-BA Schwierigkeiten? Vielen Dank für eure Antworten im Voraus. Torsten
hallo thorsten, wenn dein board von windows erkannt wird dann kann der at91sam7x nicht defekt sein da die usb enumeration offensichtlich noch funkt. und dazu auf jeden fall ein laufender at91sam7x benötigt wird. welche sam-ba version hast du verwendet? ich würde die letzte (v2.0) empfehlen. hast du einen jtag-ice? wenn ja welchen? hast du ein eval board (at91sam7x-ek o.ä.)? wenn ja wird dieses von windows erkannt? gruss gerhard
Hallo Gerhard, 1) USB-Enumeration ist ein guter Punkt. 2.) SAM-BA 2.0 (ebenfalls mit SAM-BA 1.11 und SAM-BA 1.8 getestet) 3.) JTAG-ICE ? -> auf dem Board ist der Anschluss vorgesehen - Adapter habe ich dafür aber (noch) nicht 4.) Das mit dem Eval-Board ist ja so mein Problem. Ich habe leider nur dieses von mir selbst entwickelte und hergestellte Board. Ich kann die Verbindung zum PC nicht anders testen. Im Datenblatt wird auf das "exakte" einhalten des 18.432MHz Quarzes hingewiesen, sonst funktioniert die SAM-BA mit USB nicht. Könnte es da Probleme (C's usw.) geben? Gruß, Torsten
hallo thorsten, betreffend der Quarz-Genauigkeit: wenn wie schon festgestellt die enumeration funkt dann kann der quarz kein problem verursachen. hast du schon versucht die serielle debug-schnittstelle für sam-ba einzusetzen? gruss gerhard
Hallo Gerhard, Das habe ich auch schon probiert. Funktioniert leider auch nicht. Da will ich aber noch mal mit dem Oszi schauen, ob am AT91 überhaupt was ankommt. Da fällt mir gerade noch was ein. SAM-BA funktioniert mit TCL-Scripts. Ich selbst habe auch TCL extra installiert. Könnte es vielleicht damit Probleme geben? (Denke ich aber ehr nicht) Hast du schon Erfahrungen mit einem AT91SAM7X256? Wenn ja, hat bei dir die Verbindung über USB ohne Probleme funktioniert? Ich bin jedenfalls erst mal mit meinem Latein am Ende. Mir fehlt eben die Möglichkeit, die PC-Seite der Kommunikation zu testen. Gruß, Torsten
>Laut Atmel soll das ja auch ganz einfach gehen. SAM-BA installieren, >"Erase"-Jumper stecken, Board anschalten, Board abschalten, >"Erase"-Jumper entfernen und per USB mit dem PC verbinden. Nicht ganz ... nach dem Jumper stecken und dem Board anschalten muss ~20 Sekunden gewartet werden. Dann Board ausschalten, Jumper entfernen und Board wieder anschalten. Durch den Jumper wird das interne ROM ausgeführt und das ROM ist quasi SAM-BA. Der kopiert sich dann selber ins Flash und erst bei einem neuen Reset ohne gesetzen Jumper wird dann der SAM-BA im Flash ausgeführt. Das dauert aber eine kleine Ewigkeit, da das Ding dann auf einem niedrigen (ich glaub 32kHz waren es) Systemtakt läuft. Mfg Thomas
hallo thomas, der von dir beschriebenen vorgang gilt nur für die at91sa,7s familie. beim at91sam7x wird durch löschen des flash das gpnvm bit 2 gelöscht und damit das rom (mit sam-ba boot) auf adresse 0 gespiegelt. gruss gerhard
Hallo Thomas und Gerhard, nach Thomas seinem Hinweis habe ich das Board mal 2 Minuten mit gesetzten "Erase"-Jumper laufen lassen. Danach wurde mir als mögliche Connection "\usb\ARM0" angezeigt (ein Lichtblick). Daraufhin habe ich noch das Board ausgewählt (AT91SAM7X256-EK) und auf "Connect" geklickt -> "no valid ID" (oder so ähnlich) wurde angezeigt. Im Manual zu SAM-BA steht, dass man nach dem Wechseln des Prozessortyps das Target wieder neu starten soll. Gesagt, getan. Jetzt wird keine Verbindung in SAM-BA mehr angezeigt. Aber der USB-Treiber meldete sich wieder mit der Board-Bezeichnung "atm6124.Sys ATMEL AT91xxxxx Test Board". Das steht auch so im Treiber (atm6124.Inf). Die Aufforderung zur Treiberinstallation kam, ich habe diese bestätigt und wieder mal 5 Minuten gewartet, bis Windows neu gestartet wurde. <Mist> Im Moment bin ich der Meinung, dass an meinem PC/Notebook/Windows etwas nicht richtig funktioniert oder der Treiber einfach einen Bug hat. Wenn ich den "Erase"-Jumper gesetzt habe, das Board eine gewisse Zeit laufen lassen, Board wieder abgeschalten und den "Erase"-Jumper entfernt habe: Wird SAM-BA dann bei jedem Power-ON des Prozessors gestartet, oder muss man diese Prozedur jedes mal wieder machen? Vielen Dank für Eure Hilfe. Gruß, Torsten
hallo thorsten, hier ein auszug aus der at91.com seite zum thema sam-ba und at91sam7x: There is no specific hardware setting to boot-up from the ROMed application. The only need is to clear the GPNVM2. The ERASE pin or a software erase can be used for this. BOOT UP THE BOARD WITH SAM-BA Boot: 1) On AT91SAM7X-EK Board, put the jumper called "ERASE" (J8), 2) Power up the board, 3) Shutdown the board and remove the "ERASE" jumper (J8), 4) Power up again, now the board is booting up from the internal ROM and has launched SAM-BA Boot Recovery, gruss gerhard
Hallo Gerhard, diesen Teil zu SAM-BA habe ich mindestens schon 10mal gelesen. Trotzdem vielen Dank. Jetzt liegt natürlich die Vermutung nahe, dass mein Board mal funktioniert und mal nicht und das oben beschriebene ein Zufallstreffer war. Hast du eventuell ein paar Hinweise für mich, woran so ein Verhalten liegen könnte. Gruß, Torsten
hallo thorsten, ich würde dir empfehlen sam-ba über die serielle schnittstelle zu betreiben und PC-seitig auf der seriellen einen "sniffer" zu installieren um feststellen zu können, ob ein datenverkehr vorliegt oder nicht. gruss gerhard
Hallo, vielleicht solltest Du Dir doch einen JTAG-Adapter bauen/besorgen. Für die Inbetriebnahme eines selbst erstellten Boards ist das sicherlich die bessere Lösung als SAM-BA. Viele Grüße Dirk
hallo thorsten der empfehlung von dirk kann ich mich nur anschleßen. ohne debug-möglichkeit wirst du über kurz oder lang scheitern. wenn es günstig sein soll dann empfehle ich dir den olimex arm-usb-ocd in verbindung mit gcc und openocd. eine gutes tutorial und alle notwendigen tools findest du unter: www.yagarto.de gruss gerhard
Hallo, erstmal vielen Dank für eure Antworten. Nachdem ich die C's am USB-Port von 22pF auf 10pF geändert habe, bekomme ich ab und an eine Verbindung mit dem AT91 über USB. Es funktioniert also erstmal, nur eben nicht sicher. Ich werde in den nächsten Tagen den Quarz usw. überprüfen, ob es dort eventuell Schwierigkeiten gibt. Bericht folgt. Gruß, Torsten
Hallo Torsten, ich kann dir noch folgendes empfehlen. Besorge dir einen ULINK JTAG Adapter von Keil, den gibt es auch kostengüstiger von ST Micro. Dann lade dir die Evaluation Version von Keil Arm Mdk 3.03a herunter. Mit dieser Kombination hast du direkten Zugriff auf den Prozessor ohne Umwege über USB etc. In dem Paket sind auch fertige getestete Applikationen im Quelltext die normalerweise sofort funktionieren und Du hast Zugriff auf alle Prozessor-Register mit Darstellung aller Betriebsarten. Gruß Dirk
Hallo, ich bekomme jetzt, zumindest so halbwegs, eine stabile Verbindung über USB zu meinem Board. Der Stand der Dinge: - am Desktop bekomme ich keine Verbindung über USB zu dem Board - am Notebook bekomme ich an 2 der 3 USB-Ports eine Verbindung über SAM-BA v2.0 bzw. SAM-PROG v2.3 (Up- und Download funktioniert) - der Bootloader wird durch setzen des "ERASE"-Pins auf VCC zum Starten "vorbereitet" (Jumper stecken, Board anschalten, Board abschalten, Jumper entfernen, Board anschalten, Bootloader startet und meldet sich als Device am PC an) Das Problem an meinem Board lag/liegt an der zum Teil fehlerhaften Platzierung der C's für VDDIN und VDDOUT, also für 3.3V und 1.8V. Diese sind teilweise zu weit von den entsprechenden Pins entfernt. Diese !!! MÜSSEN !!! so dicht wie möglich an den entsprechenden Pins liegen. Ebenfalls sollte der Quarz (incl. C's) sowie das PLLRC-Netzwerk so dicht wie möglich an den µP gelegt werden. Das ist extrem wichtig! Vielen Dank nochmal für eure Hilfe. Es hat sehr geholfen den/die Fehler einzugrenzen. Gruß, Torsten
Hallo Torsten, ich habe einen AT91SAM7 S64, und die Verbindung über USB ist stabil. An PLLRC habe ich 1k5+22n und 2n2 angeschlossen, an den Quarz habe ich keine Kondensatoren angeschlossen. Welche Werte hast Du an dem PLLRC-Pin angeschlossen? Gruß, Feadi
Hallo Feadi, an PLLRC habe ich ( 1k5 + 10nF ) || 1nF gegen Masse (vgl. Schaltplan oben). Hast du das Board selbst entwickelt? Warum hast du an deinem Quarz keine C's? Hast du eventuell einen Qszillator? Gruß, Torsten
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.