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
Muss es JTAG sein? - genügt nicht ein einfacher Bootloader zum Flashen der neuen Firmware. Da würde ein einfaches Bluetooth-Uart-Modul ausreichen.
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.
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
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 ;)
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...
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.
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 ?
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.
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...?
Da hätte man wohl vorher dran denken sollen. 5 Abaküsse an einer ENIAC. Harharhar...
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
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.
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 ?
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..
Dieses Projekt könnte deine Anforderungen erfüllen, vorausgesetzt WLAN ist für dich doch okay: https://github.com/emard/wifi_jtag bzw. https://www.youtube.com/watch?v=oTjehRMI2_Q https://www.youtube.com/watch?v=UEWo4s_5H1s&t= Leider hatte ich bis jetzt selbst keine Zeit, das wifi_jtag von github auszuprobieren.
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.