www.mikrocontroller.net

Forum: Compiler & IDEs self programming


Autor: Andreas Wacker (andy80)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja PonyProg mit SIProg Adapter an serieller Schnittstelle.

Autor: Andreas Wacker (andy80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Flashen sollte ohne zusätzliche Hardware gehen.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Wacker (andy80)
Datum:

Bewertung
0 lesenswert
nicht 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
?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Andreas Wacker (andy80)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Wacker (andy80)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Wacker (andy80)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Daniel aka Khani (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.