Hallo! Ich hab mir ein kleines Board mit ATSAMD21G18 machen lassen. Biser hatte ich nur fertige Boards. Nun wollte ich einen BL flashen, aber ich bekomme keine Verbindung per SWD. Ich habe eine BMP (umgeflahster ST-Link v2 clone) - auf meine andere SAMD21 Boards komme ich drauf. Bei beiden meiner gefertigten Boards (JLCPCB) bekomme ich "jtag scan failed" als Antowrt auf monitor jtag_scan im gdb. Ich bin jetzt nochmal penibel die Schaltung durch und finde aber keinen Fehler. Hab ich irgendwas vergessen?
Kannst Du mit dem Oszi schauen, ob die Signale vernueftig sind? Kannst Du Blackmagic-hosted (fuer den PC) kompilieren und schauen ob blackmagic -t mehr Hinweise bringt?
Dom S. schrieb: > Hab ich irgendwas vergessen? Ja. Je einen Abblock-Kondensator 100nF an Pin 6, 17, 36, 44. Braucht's nicht? Na dann .......... dann eben ohne. Jeder ist seines eigenen Glückes Schmied.
Ich probier mal mit dem Oszi. Wie schnell sind die Signale? Hab nur ein einfaches. blackmagic hosted bedeutet was? Kompilieren auf Windows? Gibts da keine fertigen Binaries? Muss dafür die bmp umgeflashed werden?
Kondensatorverkäufer schrieb: > Dom S. schrieb: >> Hab ich irgendwas vergessen? > > Ja. > > Je einen Abblock-Kondensator 100nF an Pin 6, 17, 36, 44. > > Braucht's nicht? Na dann .......... dann eben ohne. > Jeder ist seines eigenen Glückes Schmied. Ne die sind da! Siehe Rendering. In dem Screencapture vom schematic waren die nur nicht dabei...
Uwe B. schrieb: > Kannst Du mit dem Oszi schauen, ob die Signale vernueftig sind? SWDIO (gelb) und SWCLK (blau)
Aktualisier mal die Firmware. BMP hatte lange Zeit recht kurze HIGH Signale, vielleicht kommt der Sam damit nicht klar Aktuelle Firmware wird sowieso fuer Hosted gebraucht, und hat ausgelichenere SCK Low and High Times. Kompiliere hosted mit "make PROBE_HOST=hosted HOSTED_BMP_ONLY=1", dass kommt dann ohne libusb und libftfdi aus und sollte mit gcc auch unter Windows gut gehen.
Dom S. schrieb: > In dem Screencapture vom schematic waren die nur nicht dabei... So so, immer schön das zeigen was nicht Tatsache ist. Tolle Verarschung!
Das ist Bestandteil der üblichen Salamitaktik. Der TO zeigt nicht das vollständige Projekt, sondern läßt gleich mal das weg, von dem er meint, daß es ja daran eh nicht liegen könnte.
Also mein Jlink braucht VTref und GND... Dein J3 gibt das nicht her... Das Extern an das Board ran zu fummeln, ist keine praktische Idee. Das dumme am ATSAMD21G18 ist das seine Fuses im Flash sitzen. Wenn da Müll drin steht. Um ihn zu löschen braucht man dann auch noch die Reset Leitung. Ohne wird es schwierig den Flash zu löschen und Defaultwerte wieder rein zu schreiben. Kurz das Ding kann man unwiederbringlich kaputt programmieren.
:
Bearbeitet durch User
Thorsten S. schrieb: > Das ist Bestandteil der üblichen Salamitaktik. Der TO zeigt nicht das > vollständige Projekt, sondern läßt gleich mal das weg, von dem er meint, > daß es ja daran eh nicht liegen könnte. Ach Bitte was soll dieser völlige Off-Topic Bullshit?! Ich hatte den Screenshot zufällig zur Hand, und dabei ist mir gar nicht aufgefallen dass die Cs da fehlen. Mea culpa. Ich geh' mich geißeln, mit der zwölfendigen.. 7 Tage und Nächte. Was hätten Sie nun gerne?
Dom S. schrieb: > Ach Bitte was soll dieser völlige Off-Topic Bullshit?! Reiss dich am Riemen! Du willst was hier im Forum, nicht wir!
Komm, geh woanders stänkern, hier unterhalten sich Erwachsene.
Marco H. schrieb: > Also mein Jlink braucht VTref und GND... Dein J3 gibt das nicht her... > Das Extern an das Board ran zu fummeln, ist keine praktische Idee. > > Das dumme am ATSAMD21G18 ist das seine Fuses im Flash sitzen. Wenn da > Müll drin steht. Um ihn zu löschen braucht man dann auch noch die Reset > Leitung. Ohne wird es schwierig den Flash zu löschen und Defaultwerte > wieder rein zu schreiben. > > Kurz das Ding kann man unwiederbringlich kaputt programmieren. Ich hab SWDIO, SWCLK, VTREF und GND verbunden. J3 ? Sagt mir nichts. Wie gesagt ST-Link V2 clone - der hätte auch noch ein RST. Der ATSAMD21G18 ist brandneu, Müll sollte da eigentlich nicht drinstehen.
Marco, Danke !! Der Tipp mit dem Reset hats gebracht :) Nachdem ich die RST Pins verbunden habe, findet der swdp_scan die MCU! Sobald nun der BL drauf ist gehts dann auch ohne RST. Kann mir jemand erklären warum das so ist? An den RST hab ich gar nicht gedacht, weil ich bisher mit der BMP nur mit SAMD21 genutzt habe die schon einen BL drauf hatten und da war der RST nicht nötig.
Der Reset gehört eh über einen Widerstand an VCC angelegt mit Zusatzbestchaltung. So ist das Mist.
Der RESET Pin vom SAMD hat einen internen Pullup und der externe PullUp ist laut Datenblatt explizit "OPTIONAL" ! Warum ist das Mist ?
Ich glaube es hängt mit dem NVM Controller zusammen...
:
Bearbeitet durch User
Dom S. schrieb: > ATSAMD21G18 - uC meldet sich nicht per SWD Dom S. schrieb: > Ich hab SWDIO, SWCLK, VTREF und GND verbunden. Dom S. schrieb: > bekomme ich "jtag scan failed" als Antowrt Hast du JTAG mit SWD durcheinander gebracht?
CPU Reset Extension: ...The debugger is detected on a RESET release event when SWCLK is low....
Stefan ⛄ F. schrieb: > Hast du JTAG mit SWD durcheinander gebracht? Ich dachte, SWD wäre EIN JTAG interface ? Der "monitor jtag_scan" Befehl im gdb über eine BMP funktioiert auf jeden Fall auch mit SWD !
Dom S. schrieb: > Ich dachte, SWD wäre EIN JTAG interface ? Nein. Die Firmat ST verwendet den Begriff "SWJ-Interface" und meint damit sowohl SWD als auch JTAG. Vielleicht kommt dein Eindruck daher. Das sind aber zwei völlig unterschiedliche Übertragungsprotokolle auf unterschiedlich vielen Leitungen. Mit SWD Sprichst du nur einen Mikrochip mit ARM Kern an. Mit JTAG kann man hingegen ganze Platinen testen, sofern sie denn dafür ausgelegt sind. Bei JTAG kann man ähnlich wie bei SPI mehrere IC's verketten. JTAG beschränkt sich nicht nur auf Mikrocontroller.
Dom S. schrieb: > Der "monitor jtag_scan" Befehl im gdb über eine BMP funktioiert auf > jeden Fall auch mit SWD ! Es wird beim Scan aber unterschieden zwischen jtag und swd, default ist SWD. Ein ‚mon s‘ als Befehl reicht, klappt das damit (auch ohne reset Leitung)?
Johannes S. schrieb: > klappt das damit (auch ohne reset > Leitung)? Kann ich jetzt leider nicht mehr testen - ich hatte nur 2 "jungfräuliche" SAMDs und sobald der BL drauf ist geht es ja. ich könnte mal ein chip erase probieren...
oh man. jetzt hab ich ewig rumprobiert und auf einmal brachte "monitor jtag_scan" immer einen Fehler... Schlussendlich hab ich in Beitrag 1 quatsch geschrieben. Ich hab als Kommando immer "monitor swdp_scan" verwendet. Auch das hat nur mit Reset-Leitung funktioniert. Soviel gelesen zu dem Thema dass ich wohl die Kommandos verwechselt hab.
Vorsicht beim Erase ! Du darfst auf keinem Fall den Flash komplett löschen. Denn dann hast du als Fuses 0xFF... Programmiert und wenn du in die Register schaust was das bedeutet ist weiterer Ärger vorprogrammiert. Ich kenne das Memorylayout nicht. Aber immer nur die Teilbereiche löschen im Flash wo der Code hingehört. Denn der SAM hat keinen Default Bootloader ROM.
:
Bearbeitet durch User
ohoh. ich hab con 0x00 bis 0x040000 gelöscht... Bisher aber noch kein merkwürdiges Verhalten. läuft noch...
Der Begriff SWJ kommt in der ARM Doku vor. Und bis auf CortexM0(+) kann (fast) jeder Cortex JTAG und SWD.
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.