ATSAMD21G18 - uC meldet sich nicht per SWD

OP (Firma: OpenKNX) #6577194
Lesenswert?

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?
Angehängte Dateien:
OP (Firma: OpenKNX) #6577423
Lesenswert?

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...
Angehängte Dateien:
(Firma: TU Darmstadt) #6577485
Lesenswert?

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.
#6577612
Lesenswert?

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.
OP (Firma: OpenKNX) #6577676
Lesenswert?

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?
Angehängte Dateien:
OP (Firma: OpenKNX) #6577709
Lesenswert?

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.
OP (Firma: OpenKNX) #6577773
Lesenswert?

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.
Gast #6578577
Lesenswert?

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.
Gast #6578610
Lesenswert?

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)?
OP (Firma: OpenKNX) #6578716
Lesenswert?

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.
#6578828
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren