Forum: Mikrocontroller und Digitale Elektronik AVR ISP Flashen mit Android Smartphone


von Peter Z. (hangloose)


Angehängte Dateien:

Lesenswert?

Habe eine kleine Android App geschrieben um AVR Mikrocontroller
über die USB-OTG Schnittstelle zu flashen.
Die Software unterstützt das STK500v2 Protokoll.

Android Smartphone war in meinem Fall ein Galaxy S3.
Als Programmieradapter habe ich den mySmartUSB light für 16 Euro 
verwendet.
Ein original AVRmkII funktioniert damit nicht!
Man benötigt auch noch einen USB-OTG Adapter

Im Moment kann man nur den Flash Speicher beschreiben.
HEX Datei wird vom Root der SD Karte gelesen.

Mich würde jetzt brennend interessieren ob das Ganze auch noch auf 
anderen
Android 4+ mit USB-OTG Devices funktioniert.

Vielleicht traut sich ja jemand es mal auszuprobieren ;-)
Haftung ist natürlich ausgeschlossen!

von coolzero0001 (Gast)


Lesenswert?

Hallo Peter,
was für einen USB-OTG-Adapter haste benutzt.

von Peter Z. (hangloose)


Lesenswert?

Ich hab mir den original Samsung für ca.12 Euro gekauft.
Es müssten aber auch die 3 Euro Teile funktionieren...

von Jonas W. (mf-fahrer)


Lesenswert?

Für mich ist das ganze ganz interessant, aber welche Controller kann man 
damit alles programmieren?
Und wird es ein Update geben sodass man auch den AVRisp MKII verwenden 
kann?


Viele Grüße
Jonas

von Peter Z. (hangloose)


Lesenswert?

Im Moment nur die 4 Mikrocontroller vom Screenshot.
Hab aber vor noch weitere Typen zu unterstützen.
Warte aber erstmal auf Feedback ob es bei anderen auch problemlos 
funktioniert. Danach werde ich weitere Parameter der xml Dateien 
einpflegen.

Nein der mkII wird leider nicht unterstützt
Prinzipiell sollten alle Programmer mit cp2102 oder ftdi Chip
die das STK500V2 Protokoll beherschen funktionieren...
Habe aber nur den mySmartUSB light getestet.

Für den STM32 Bootloader hab ich auch eine App geschrieben,
die ist aber noch nicht ganz fertig...

von M. G. (looking)


Lesenswert?

Peter Z. schrieb:
> Für den STM32 Bootloader hab ich auch eine App geschrieben,
>
> die ist aber noch nicht ganz fertig...

Daran wäre ich sehr interessiert.
Kannst du das bitte posten, wenn es fertig ist?

Super wäre es, wenn du auch den Quellcode der Android Apps zur Verfügung 
stellen könntest, sodass man es als Beispiel für eigene Projekte 
verwenden könnte.
Danke.

von Pete K. (pete77)


Lesenswert?

Kannst Du auch auf dem Smartphone kompilieren?
Wenn nicht, verstehe ich den Mehrwert nicht so ganz.

Hex-File per Email auf das Smartphone, um es dann den Controller zu 
flashen?

von Peter Z. (hangloose)


Lesenswert?

@M. G.
Wenn er fertig ist werd ich es posten. Kann aber noch dauern da ich im 
Moment noch ein paar andere Projekte fertigstellen muss.

Den Quellcode werde ich nicht veröffentlichen.

@Pete K.
Ob es für dich keinen Mehrwert darstellt, ist mir eigentlich egal.
Ich hab es aus Spaß gemacht und um ein bisschen mit der 
"usb-serial-for-android" Lib zu spielen
https://code.google.com/p/usb-serial-for-android/
und die daraus gewonnen Erkenntnisse für andere Projekte von mir
(http://www.pezitec.com/) zu nutzen
Das ist dann sozusagen der Mehrwert für mich ;-)

Und ja es gibt wohl auch eine Art IDE für das Smartphone zumindest was 
AVR betrifft. Habe ich aber selber nicht ausprobiert.
Beitrag "Mikrocontroller per andruide Tablet flashen."

Und ja man könnte sich auch vorstellen das HEX File per Email auf das 
Smartphone zu senden um es dann automatisch zu flashen.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Also, mir gefällt dieses Projekt. :-)

Peter Z. schrieb:
> Und ja man könnte sich auch vorstellen das HEX File per Email auf das
> Smartphone zu senden um es dann automatisch zu flashen.

Vielleicht kann man auch kleine Assembler-Programme direkt auf dem Hany 
bzw. Tab schreiben oder anpassen und dann gleich dort übersetzen? Man 
bräuchte nur einen kleinen, einfachen Assembler dafür.

Magst du dir mal diesen anschauen?
http://avra.sourceforge.net/

Wahrscheinlich lässt er sich sogar ohne größere Probleme für Android 
übersetzen. Ich verwende AVRA laufend für meine Assembler-Projekte und 
bin damit sehr zufrieden.

von Sebastian (Gast)


Lesenswert?

Hallo ! Tolle Idee, ich werde das gleich Heute mal probieren. Hast du 
auch Support für den 328p ? Ich teste mit nem Nexus 7 und einem Odroid 
U2 ...

von Peter Z. (hangloose)


Lesenswert?

@Sebastian
Wenn ich Rückmeldungen bekommen habe das es mit den anderen Controllern 
funktioniert. Kann ich gerne den ATMega328 mit dazu nehmen.

von Peter W. (Gast)


Lesenswert?

Leider wird der Programmer auf meinem Huawei Mediapad S7 mit 3.2 nicht 
gefunden - ebenso werden serielle Kabel und Arduinos nicht erkannt.
Laufwerke, Tastaturen und Mäuse funktionieren mit dem Hama OTG Kabel.
Vielleicht klappt es ja mit Android 4+

von Electronics'nStuff (Gast)


Lesenswert?

Ist ja ganz gut, aber wieso sollte man von seinem Handy einen µC flashen 
wollen?

Gruss

von Sebastian (Gast)


Lesenswert?

Ich denke, als Tool für den Service (Update im Feld) kann das statt 
Laptop durchaus eine Alternative sein.

von Peter Z. (hangloose)


Lesenswert?

@Peter W.
Danke trotzdem das du es ausprobiert hast...

Die USB Lib sollte eigentlich Geräte ab Android 3.1+ unterstützen.

Welchen Programmer hast du verwendet?
Diesen?
http://shop.myavr.de/index.php?sp=article.sp.php&artID=200006

Vielleicht liegt es auch an dem Host Adapter den du hast!?

Mich würde ja interessieren ob es auf dem Nexus 7 Tablet läuft

von Peter W. (Gast)


Lesenswert?

Ja, mySmartUSBLight. Aber wie gesagt, es funzen auf dem Tablet überhaupt 
keine USB-seriell Wandler. Am Stecker liegt es nicht, USB Sticks und 
andere Zubehörgeräte (auch Leonardo) werden erkannt. Die virtuellen 
seriellen Geräte werden zwar in der USB Iteration "Linux" aufgelistet 
aber nicht unter "Android".
An ein Nexus komme ich leider nicht ran, aber ich denke die Chancen 
stehen gut, da vom Nexus berichtet wird, dass man damit an Arduinos ran 
kommt.

von dotm (Gast)


Lesenswert?

+1 für 328p!

von Peter Z. (hangloose)


Lesenswert?

Habe den ATMega328 hinzugefügt.
Ist allerdings ungetestet...
http://www.pezitec.com/avrisp/exe/avrisp.apk

von Mystik (Gast)


Lesenswert?

Pete K. schrieb:
> Kannst Du auch auf dem Smartphone kompilieren?
> Wenn nicht, verstehe ich den Mehrwert nicht so ganz.
>
> Hex-File per Email auf das Smartphone, um es dann den Controller zu
> flashen?

Electronics'nStuff schrieb:
> Ist ja ganz gut, aber wieso sollte man von seinem Handy einen µC flashen
> wollen?
>
> Gruss

.....wie schon Sebastian schrieb, ist es vorwiegend für den mobilen 
Service eine Super Sache.....mal eben schnell von Gerät zu Gerät mit 
einem kleinen Smartphones laufen und die neue Firmware 
aufspielen....Super Idee!

Weiter so und ein dickes Dankeschön an den Entwickler !!!!!!

PS. Feedback kommt natürlich, sobald ich einen Adapter zum testen 
habe....

von dotm (Gast)


Lesenswert?

danke für die integration von 328p! muss mir erst usb-otg kabel 
besorgen...
dieses programm ist besonders praktisch wenn man firmwareupdates an 
schlecht zu erreichtenden geräten durchführen muss.
ich wünschte es gebe sowas für arm cortex..

von Marian (phiarc) Benutzerseite


Lesenswert?

Du kannst dir vermutlich viel Arbeit sparen, wenn du nicht die 
Spec-Dateien selbst schreibst, sondern einfach einen kleinen Übersetzer 
vom avrdude-Format in dein Format. Das Format von avrdude ist nicht 
sonderlich komplex… :-)

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Marian B. schrieb:
> Du kannst dir vermutlich viel Arbeit sparen, wenn du nicht die
> Spec-Dateien selbst schreibst, sondern einfach einen kleinen Übersetzer
> vom avrdude-Format in dein Format. Das Format von avrdude ist nicht
> sonderlich komplex… :-)

Die Idee gefällt mir gut.
Vielleicht könnte sich die App auf Anforderung die Konfiguration von 
avrdude selber runterladen und dann verwenden. avrdude ist ein so weit 
verbreitetes Werkzeug, dass seine Konfigurationsdatei zu den aktuellsten 
im AVR-Bereich gehört.

http://svn.savannah.nongnu.org/viewvc/trunk/avrdude/avrdude.conf.in?root=avrdude&view=markup

von Peter Z. (hangloose)


Lesenswert?

Ja ein Parser für diese Config wäre schon schick.
Aber leider fehlt mir im Moment die Zeit dafür.

Außerdem hab ich bis jetzt noch kein Feedback bekommen
auf welchen Geräten die App sonst überhaupt läuft.

Huawei Mediapad S7 geht ja anscheinend schonmal nicht :-(

von eagle_hierarchie (Gast)


Lesenswert?

Rueckmeldung ... auf Samsung Galaxy Tab 2 10.1 / Android 4.0.3 
installiert. Keine Probleme mit dem Programm selber, hab aber keinen 
Programmer dran.

Einzige Auffaelligkeit ist das Fehlen der Bildschirmanpassung beim 
Drehen, da ich im Moment fast ausschliesslich 'landscape' verwende.

Laeuft stabil, wenn ich trotz fehlendem USB-Programmer alles mal 
'antatsche'. 'Toast' zum fehlenden Programmer klappt auch :-))

von Demel (Gast)


Lesenswert?

Hallo,

Hab es gerade auf einem Nexus 7 und dem Sony Xperia S getestet, mit 
folgendem Ergebnis:
Der Programmer wird auf beiden Geräten erkannt. Kontrollerauswahl, Erase 
usw, klappt alles. Nur ich kann kein Programm aufspielen, weil weder das 
Nexus 7 noch das Xpera S eine SD-Karte haben. Beim Nexus kommt nicht 
einmal die Auswahl "Program Flash". Die erscheint zumindest beim Xperia, 
aber die Datei kann ich nicht finden. Wo muss denn die Datei abgelegt 
werden, wenn man keine SD-Karte hat.
Zur Oberfläche: wäre es machbar die Mikrokontrollerauswahl auch direkt 
vor z.B. "Sign On" einzufügen?
Check Signature bricht ja mit einem Timeout-Failed ab, wenn nicht der 
richtige Kontroller erkannt wird, das ist etwas irritierend. Könnte man 
da nicht schreiben: falsche Signatur/Prozessor oder sowas?
Dann noch etwas zum mySmart Light. Wenn man mit dem Programmer verbunden 
ist und Connect USB -> Sign On -> Check Signatur durchgeführt hat, wird 
das Target nicht mehr freigeben und das Programm läuft nicht, auch wenn 
man Disconnect USB macht. Ist das beim mySmart Light normal?

Gruß, Demel

von Dusan (Gast)


Lesenswert?

Hallo,
nach ansehen des Programmers mySmartUSBLight wird die ATMega2560 nicht 
unterstüzt. Hast du dieses Procesor auch probiert? In kurze möchte ich 
mit meinem Samsung Galaxy Note 10.1 Android 4.1.2 die Programierung des 
ATMega2560 ausprobieren. Probiere den AVR Dragon benutzen. Werde danach 
feedback schreiben.

von Nik D. (y2kicn)


Lesenswert?

Das ganze klingt sehr interessant, ich habe aber leider nur einen usbASP 
adapter und kanns somit nicht selber ausprobieren.

Compilieren geht auf Android übrigens problemlos. avr-gcc läuft bei mir!

von Peter Z. (hangloose)


Lesenswert?

Leider funktioniert das Programm im Moment anscheinend nur mit meinem
Galaxy S3. Habe es am Galaxy S4 ausprobiert und ging nicht.
Scheint ein Timing Problem mit dem USB Treiber zu sein.
Aktuell komme ich aus Zeitmangel nicht dazu den Fehler zu suchen...

von Joachim (Gast)


Lesenswert?

Habe es auf dem Samsung S5 getestet und klappt 1A

von Joachim (Gast)


Lesenswert?

Gibt es noch weitere updates ??

von Max (Gast)


Lesenswert?

Hi
auf tiny.systems wird auch ein Verfahten zum Prozesor per Smartphone 
flashen gezeigt.
Gruss Max

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
Noch kein Account? Hier anmelden.