Hallo! Der Mega16 soll sich über das Hyperterminal flashen lassen. Wie muß ich den sample code von ATMEL (application note avr109: self programming) anpassen, damit auch hex-files über das Terminal geflasht werden können? Gibt es andere Möglichkeiten ? gruß, andy
Ohne zusätzliche Hardware geht's nicht. Laut Application Note brauchst du mindestens den "AVR Open Source Programmer (AVROSP)", um das Bootloader-Programm einmalig in den AVR reinzuschaffen. Anschliessend kannst du mit dem Bootloader-Programm den übrigen Flashinhalt vom PC holen. Dabei braucht es aber auch eine Hardware um -12V/+12V RS232 Pegel auf 0V/5V TTL Pegel vom AVR umzusetzen.
GCC-Portierung von AVR109 gibt's hier: http://www.sax.de/~joerg/AVR109-gcc.tar.gz > Dabei braucht es aber auch eine Hardware um > -12V/+12V RS232 Pegel auf 0V/5V TTL Pegel vom AVR umzusetzen. Die Pegel sind gar nicht sooo wichtig (viele PC-RS-232- Schnittstellen kommen auch mit CMOS-Pegel klar), aber die Negation sollte man nicht vergessen. Low am AVR muss sich in +(5...12) V auf der RS-232-Seite umsetzen und umgekehrt.
Aha. Der Bootloader muß nicht über das Terminal geschoben werden. Dafür hab ich den JTAG ICE. Danach sollte er sich aber ohne zusätzliche Hardware über das Terminal flashen lassen. Wie krieg ich das mit den Hex-Files geregelt ? Geht das standardmäßig mit dem gegebenen sample code oder muß ich da selber noch Hand anlegen ?
Nö, der AVR109-Code spricht AVR109-Protokoll. AVROSP wurde dir schon genannt, AVRDUDE kann auch damit reden. Warum musst du das Hexfile denn uunbedingt über ein Terminal- programm laden können?
Das muß nicht sein. Es ist wäre allerdings besonders komfortabel, wenn man das mit dem Terminal machen könnte. Da bräuchte man weder software noch hardware zum flashen. Also mit dem JTAG ICE Programmer kann ich definitv nicht den Bootloader ersetzen?
> Da bräuchte man weder software > noch hardware zum flashen. Nun, das glaube ich nicht. Ein VT320 würde ich eindeutig unter ,,Hardware'' einsortieren (ist sicher lustig, wenn da jemand seine ihex-Records eintippen kann, nicht? :), und einen Terminalemulator unter ,,Software''. > Also mit dem JTAG ICE Programmer kann ich definitv nicht den > Bootloader ersetzen? Die Frage verstehe ich nicht. Das JTAG ICE kann eine Größenordnung mehr als ein popeliger Bootloader. Irgendwie vergleichst du hier Äpfel mit Birnen, dünkt mir.
Ja gut, klar gibt's hardware + software. Allerdings ist das schon bei jedem Lidl Rechner mit Winxp dabei. Deshalb eben komfortabel - ohne extra Anschaffungen. Dann formulier ich es anders: Mit dem ICE Programmer + AVR Studio als Werkzeuge kann ich nicht den Bootloader ersetzen ?
> Allerdings ist das schon bei > jedem Lidl Rechner mit Winxp dabei. Naja. Ich hab' zwar kein Windows, aber was ich bislang von Hyperterminal gehört habe, würde ich dem nicht unbedingt die Firmware meines Controllers anvertrauen. > ...ohne extra Anschaffungen. Was ist denn an AVRDUDE oder AVROSP eine ,,Anschaffung''? > Mit dem ICE Programmer + AVR Studio als > Werkzeuge kann ich nicht den Bootloader ersetzen? Wenn du ein JTAG ICE und eine Software zum Ansteuern hast (wie sie z. B. bei AVR Studio dabei ist, auch AVRDUDE könnte das genauso sein), kannst du viel mehr, als ein Bootloader kann. Dann verstehe ich nur nicht, warum du überhaupt erst über einen Bootloader diskutieren willst.
> Naja. Ich hab' zwar kein Windows, aber was ich bislang > von Hyperterminal gehört habe, würde ich dem nicht unbedingt > die Firmware meines Controllers anvertrauen. Ok, das wußte ich nicht. > Was ist denn an AVRDUDE oder AVROSP eine ,,Anschaffung''? Keine Ahnung, kenne AVRDUDE und AVROSP nicht. Vom Himmel fällt es sicher nicht, deswegen ist doch bestimmt irgendein Aufwand damit verbunden. > Wenn du ein JTAG ICE und eine Software zum Ansteuern hast (wie > sie z. B. bei AVR Studio dabei ist, auch AVRDUDE könnte das > genauso sein), kannst du viel mehr, als ein Bootloader kann. > Dann verstehe ich nur nicht, warum du überhaupt erst über einen > Bootloader diskutieren willst. Wenn das fertige Produkt irgendwann vermarktet wird, wäre es günstig, dass der Kunde Softwareupgrades selber durchführen kann. Ziel ist es so viel Arbeit (und Aufwand) wie möglich für den Flashvorgang zu reduzieren.
Hallo, meine Vorschläge, um das Problem zu lösen (beide schon mal praktiziert): - Auf dem Controller wird eine ganz einfache Routine implementiert, die es einem erlaubt in das Flash zu schreiben (Lockbits wollen wir dabei eh nicht verbiegen). Als Grundlage nimmt man die Appnote 109. Aus dieser schneidet man sich die flash-Schreiberoutinen heraus und verwendet sie weiter. Dann setzt man eine einfache Flusssteuerung auf, die es einem erlaubt, die Informationsflut vom PC zu managen (hardware mit RTS/CTS zum Beispiel, oder XON-XOFF). Der Kunde lädt dann ein flash-file vom Hersteller herunter und kann dann das Hyperterminal (oder eines, was er für besser hält) starten. Er erhält Meldungen, was er machen soll und tut es. - Man nimmt den kompletten AVR109-Bootloader und brennt ihn in den Controller. Dann zieht man sich die Appnote 911 : AVROSP rein und macht folgendes: Das jeweils aktuelle flash-File wird in den Quelltext kopiert und beim Programmstart des AVROSP in den angeschlossenen Controller via Bootloader hineinprogrammiert. Vorteil Methode 1 : Unabhängig von der Betriebssystemplattform auf der Kundenseite Vorteil Methode 2 : Einfacher zu bedienen für den Kunden
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.