mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik JTAG über Funk


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: M.T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen.

Ich möchte gern meine Jtag-Schnittstelle ( AVR Dragon -> Mega64 ) per 
Funk umsetzen, da die Steuerung jeweils umprogrammiert werden muss, 
jedoch an einer äußerst ungemütlichen Stelle platziert ist. An was muss 
ich da denken und welche Funk Lösungen könntet ihr Empfehlen?

Distanz: ca. 10m und 3 bis 3 Wände.


Habt vielen Dank für eure Hilfe

Autor: Stefan S. (chiefeinherjar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss es JTAG sein? - genügt nicht ein einfacher Bootloader zum Flashen 
der neuen Firmware.
Da würde ein einfaches Bluetooth-Uart-Modul ausreichen.

Autor: pegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt einige Projekte wo der AVR mit einem Raspi programmiert wird.
Wie wäre es dann über WLAN?
Dann ist auch gleich die Sicherheit gewährleistet.

Autor: M.T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WLAN finde ich etwas zu übertrieben für die Aufgabe. Ich dachte eher an 
ein Modul so an die 400MHZ, welches mir 5-8 Kanäle 1zu1 überträgt.

Was das Programmieren betrifft möchte und muss ich bei JTAG 
bleiben...leider

Autor: Georg A. (georga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M.T. schrieb:
> Ich dachte eher an
> ein Modul so an die 400MHZ, welches mir 5-8 Kanäle 1zu1 überträgt.

Dann wirst du schon nach dem ersten Mal wieder hinlaufen dürfen ;) Da 
brauchts einen Fehlerschutz und eigentlich was bidirektionales, wenn das 
vernünftig gehen soll.

Ganz ehrlich: Jede Methode, die das zuverlässig kann, was du willst, ist 
technologisch meilenweit über einem Mega64, dann kannst dann gleich die 
statt dem Mega64 hernehmen ;)

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg A. schrieb:
> Dann wirst du schon nach dem ersten Mal wieder hinlaufen dürfen ;) Da
> brauchts einen Fehlerschutz und eigentlich was bidirektionales, wenn das
> vernünftig gehen soll.
Nun ja, JTAG ist bidirektional. Und da man mit JTAG immer an den 
TAP-Controller kommt, kann man es im Fehlerfall einfach nochmal 
versuchen.
Aber eine direkte Funk-JTAG-Lösung ist mir auch nicht bekannt.

Der Programmer mit einem Raspi o.ä. funktauglich zu machen erscheint 
auch mir die schnellste + günstigste Lösung zu sein, um den 
Anforderungen gerecht zu werden...

Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M.T. schrieb:
> WLAN finde ich etwas zu übertrieben für die Aufgabe. Ich dachte eher an
> ein Modul so an die 400MHZ, welches mir 5-8 Kanäle 1zu1 überträgt.

Das wird aber vergleichsweise lahm.

Und ein per SSH angesteuerter Raspberry Pi, der per AVRDUDE und GPIOs an 
den JTAG oder ISP Pins wackelt, wäre praktisch fertige Hardware. Mit 
ziemlicher Sicherheit auch noch billiger als die 433 MHz Lösung.

> Was das Programmieren betrifft möchte und muss ich bei JTAG
bleiben...leider

Den Mega64 müsste AVRDUDE ach via JTAG unterstützen.

Autor: M.T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank euch erstmal für die guten Tipps und Antworten.

433 hatte ich wegen der größeren Reichweite angedacht. Ich werde mir die 
Rasp-Variante genauer betrachten.

Zu allem "Übel" hat die Schaltung 5 separate 64er, die ich ( auch per 
Funk ) erstmal auch separat ansteuern muss...per MUX. Also es wird nicht 
leicht.


...Hat meine Hebamme auch schon gesagt 😃

Autor: Rufus Τ. F. (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm WLAN und einen USB-Device-Server.

Das lässt sich mit einem WLAN-fähigen Raspberry Pi (Zero W genügt) 
umsetzen, die Software dafür ist mit "Virtual Here" für diverse 
Betriebssysteme verfügbar und Du musst an Deiner Softwareumgebung 
praktisch nichts gegenüber dem direkten Betrieb Deines JTAG-Adapters am 
USB-Port ändern.

Da Du nur ein USB-Device ansteuern willst (den JTAG-Adapter), kostet 
Dich "Virtual Here" auch kein Geld.

https://virtualhere.com/usb_server_software
https://virtualhere.com/usb_client_software

Das ist nicht "übertrieben", sondern einfach umzusetzen und praktikabel. 
Jede andere Variante wäre ein erheblicher Mehraufwand.

Da Du das 433-MHz-Band erwähnst: In diesem darfst Du nicht im 
Dauerbetrieb senden, sondern nur mit einem relativ niedrigen Duty-Cycle, 
was die erzielbare Datenrate verringert. Obendrein müsstest Du Dich um 
die komplette Fehlererkennung und -Korrektur selbst kümmern (wenn z.B. 
der Außentemperaturfühler Deines Nachbarn sich meldet, willst Du nicht, 
daß das Deine JTAG-Session stört), d.h. das in WLAN etablierte und lange 
erprobte Rad komplett neu erfinden.

Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M.T. schrieb:
> Zu allem "Übel" hat die Schaltung 5 separate 64er, die ich ( auch per
> Funk ) erstmal auch separat ansteuern muss...per MUX. Also es wird nicht
> leicht.

Keine Ahnung ob der so viele GPIOs hat, aber man könnte dem AVRDUDE in 
seiner avrdude.conf mehrere "Linux GPIO" Programmer mit jeweils 
unterschiedlichen Pins definieren.

Besser wäre es wenn die µC alle in einer JTAG Chain angeordnet wären, 
aber das geht z.B. nur wenn die auch alle an der selben Spannungsquelle 
hängen.

Oder sind die räumlich so weit auseinander dass man sowieso 5 RPi 
benutzen müsste...?

Autor: Sputnik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hätte man wohl vorher dran denken sollen.

5 Abaküsse an einer ENIAC. Harharhar...

Autor: M.T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank an alle Antworten.

Zunächst...Eine JTAG Chain ist umzusetzen und die 64er sind alle auf 
einer Platine. Jedoch soll die JTAG als Flasher fungieren, nicht als 
Debugger. Ginge das auch per Chain?

Deine Variante Rufus werde ich studieren und mich melden. Ich denke auch 
das klingt am praktikabelsten....Im Mom

Autor: pegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
https://www.nongnu.org/avrdude/user-manual/avrdude_5.html

Die erste Erklärung zu jtagchain klingt doch schon interessant für 
mehrere Atmegas in der Kette.

Autor: M.T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir jetzt nen Raspberry Pi zero w kommen lassen und bin zunächst 
mal begeistert. Wie ich schon meinte ist der Aufwand des OS und dessen 
config relativ hoch für jemand ungeübten. Aber das bekommen wer hin 😎

Autor: Martin S. (strubi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

auf dem Linkit Duo (MT7688 SoC, damals unter 10€) habe ich mal nen 
JTAG-Proxy-Server implementiert. Da auf dem Ding noch ein Atmega 32U 
sitzt, kann man auch die Bitbanging-Variante praktizieren oder gleich 
die Pins für einen weiteren AVR anzapfen. Ein modifizierter AVRdude ist 
von Haus aus mit dabei..

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieses Projekt könnte deine Anforderungen erfüllen, vorausgesetzt WLAN 
ist für dich doch okay:

https://github.com/emard/wifi_jtag

bzw.
Youtube-Video "IAR workbench with WiFi JTAG"
Youtube-Video "Debugging Crazyflie using WiFi JTAG"

Leider hatte ich bis jetzt selbst keine Zeit, das wifi_jtag von github 
auszuprobieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.