Forum: Compiler & IDEs self programming


von Andreas W. (andy80)


Lesenswert?

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

von Ingo (Gast)


Lesenswert?

Ja PonyProg mit SIProg Adapter an serieller Schnittstelle.

von Andreas W. (andy80)


Lesenswert?

Das Flashen sollte ohne zusätzliche Hardware gehen.

von Stefan (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Andreas W. (andy80)


Lesenswert?

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
?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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?

von Andreas W. (andy80)


Lesenswert?

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?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> 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.

von Andreas W. (andy80)


Lesenswert?

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 ?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> 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.

von Andreas W. (andy80)


Lesenswert?

> 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.

von Daniel aka Khani (Gast)


Lesenswert?

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