Hallo! Ich bin momentan auf der suche nach einer Möglichkeit einen AVR per Bootloader zu flashen. Das ganze soll Idiotensicher werden.. ;-) D.h. am PC Updateprogramm starten und dann auf UPDATE drücken. Damit das ganze auch einigermassen kompatibel ist, soll die Verbindung über USB erfolgen. Als Bootloader würde ich gerne den von Peter D. verwenden. Mein Problem ist jedoch die PC-Seite. Ich kann weder Delphi noch besitze ich diese Software.. :-( Zu Verfügung hätte ich LabView, was hier aber wohl nicht das Gelbe vom Ei ist sowie die kostenlose Express-Version von M$ VisualBasic. Was ich mir auch schon überlegt habe: einen kl. zusätzlichen AVR auf die Hardware zusätzlich verbauen und dann Update per Avrdude..?!? Weitere Möglichkeiten? :)
Gast wrote: > Was ich mir auch schon überlegt habe: einen kl. zusätzlichen AVR auf die > Hardware zusätzlich verbauen und dann Update per Avrdude..?!? Das geht auch mit einem Bootloader. De-facto-Standard für das Protokoll wäre AVR109 (ursprünglich vom AVR Butterfly, eine Variante des alten AVR910-Protokolls), aber selbst abgespeckte STK500-V1-Protokolle finden sich in Bootloadern, bspw. im USBISP von Matthias Weißer.
Gast wrote: > Ich bin momentan auf der suche nach einer Möglichkeit einen AVR per > Bootloader zu flashen. > > Das ganze soll Idiotensicher werden.. ;-) > D.h. am PC Updateprogramm starten und dann auf UPDATE drücken. Ja und wo ist das Problem? Schreib die Kommandozeile in ne Batch und leg den Link darauf aufm Desktop ab. Bzw. die meisten IDEs erlauben es, Fremdtools aufzurufen, also einfach in Deine IDE mit reinkonfigurieren. > Damit das ganze auch einigermassen kompatibel ist, soll die Verbindung > über USB erfolgen. Dazu müßtest Du wissen, als welche COM sich der USB-RS-232 Adapter anmeldet. > Als Bootloader würde ich gerne den von Peter D. verwenden. Mein Problem > ist jedoch die PC-Seite. Das PC-Programm (fboot.exe) ist doch dabei, einfach mal das ZIP auspacken. Peter
Und eine zu aktuellen Windows-Versionen verträglichere EXE gibt es ebenfalls irgendwo. Allerdings muss man immer noch 2 Knöpfe drücken. Einen im Windows und einen beim Controller (Reset, oder Strom).
@A. K. Echt? Für den Bootloader von Peter? Wo man nur noch 'einen Button' drücken muß und sich mit WinXP bzw. Vista verträgt? Hab ich da was übersehen? :-o
Also wir machen das so: Bootfähige CD erstellen mit FreeDOS als Betriebssystem. Dort hab ich ganz einfach mit dem guten (ur-)alten QBasic ein kl. Menü zusammengebaut (EXE), wo man im Prinzip nur noch die COM-Schnittstelle auswählen muß und los gehts.. ;o) Da eine CD nichts kostet und der Kundenkreis überschaubar ist, ist dies die einfachste Möglichkeit. Man brauch nichts zu installieren und läuft (dank DOS) auf jedem PC mit serieller Schnittstelle. Die Kunden bekommen so eine CD zugeschickt, wenn wieder ein Update verfügbar ist. Ausserdem ist das Image auf unserem FTP-Server und kann sich somit jeder Kunde auch selbst holen. Bisher waren noch alle damit voll zufrieden, weil absolut NICHTS am System gemacht werden musste und für uns dies auch die einfachste (billigste) Möglichkeit.. :)
Ich hab mal einen AVR Bootloader geschrieben, der http:// versteht. Fuer den PC gibt es einen Proxy in Java. Dann kann man ein Update mit dem Browser durchfuehren.
@Hasi: Die Idee mit der CD gefällt mir irgendwie.. :) Problem ist hald nur, dass die RS232 langsam aber sich ausstirbt. (schade eigendlich..) Mit USB wäre das ganze natürlich am 'zukunftsichersten', aber dank neuer (unbekannter) Technik + VID/PID verhältnismäßig teuer.. :(
dann nimm den hier Beitrag "AVR-Bootloader mit Verschlüsselung" Der kann das Gleiche wie der vom Peter und hat eine einfach zu bedienende PC Software inklusive.
Gast wrote: > dann nimm den hier Beitrag "AVR-Bootloader mit Verschlüsselung" > Der kann das Gleiche wie der vom Peter und hat eine einfach zu > bedienende PC Software inklusive. Soweit ich weiß, kann er aber nicht von der Applikation auf das Flash schreiben. Peter
@Peter, du meinst das der im AVR geladene Code nicht seinen eigenen FLASH schreiben kann ? Als erstes halte ich das ja für ein fragwürdiges Feature, also aus Sicht der Stabilität der eigenen Anwendung, zweitens frage ich mich wie oft man dies braucht und drittens ist es wohl wirklich kein Problem sowas nach zu implementieren. Die Schnittstellen zum Bootloader für die eigene Anwendung sind vorhanden und müssen nur erweitert werden. Mal spitz gefragt ;) was ist mit all den anderen Funktionen des Bootloaders die Deiner nicht hat ? Gruß Hagen
Hagen Re wrote: > Mal spitz gefragt ;) was ist mit all den anderen Funktionen des > Bootloaders die Deiner nicht hat ? Er hat genau alle die Funktionen, die ich benötige. Und eine davon ist, Daten zur Laufzeit speichern zu müssen, die die Größe des EEPROM übersteigen (konkret sind es 4kB Kalibrationsdaten auf nem ATmega168). Dabei wird eine Zerstörung des Bootloaders abgewiesen. Die Zerstörung der Applikation muß diese natürlich selber abweisen, da der Bootloader ja nicht wissen kann, welchen Bereich sie quasi als EEPROM benutzt. Vorteilhaft ist auch, daß das Speichern im Flash wesentlich schneller geht als im EEPROM. Peter P.S.: Ich vermute mal, daß es Deinen Bootloader ohne meinen garnicht geben würde.
>P.S.: >Ich vermute mal, daß es Deinen Bootloader ohne meinen garnicht geben >würde. Nein falsch vermutet, ich brauchte einen Bootloader der verschlüsselte und damit kryptographisch sicherere Updates kann. Aber darum gehts in diesem Thread garnicht, der OP suchte einen Bootloader mit möglichst einfach zu bedienender Windows Software. Gruß Hagen
Hagen Re wrote: > der OP suchte einen > Bootloader mit möglichst einfach zu bedienender Windows Software. Nö, er hatte nur nicht geschnallt, daß das PC-Programm schon mit dabei ist. Manche erwarten wohl erstmal ein riesiges Install-Gedöns, anstatt nur ne kleine EXE. Noch einfachere Bedienung ist kaum möglich, die einzige mögliche Bedienung ist Abbruch. Peter
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.