mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bootloader ein MUSS?


Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

ist ein Bootloader ein muss für den Betrieb des µC's?
Könnt ihr mir das etwas bitte näher bringen?

Danke
Rufus

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die Funktion eine Kontrollers ist eine Voraussetzung, dass das 
gewünschte Programm im Kontroller vorhanden ist.

Früher brachte man das Programm mit einem Programmiergerät in den 
Kontroller hinein, oder bei der Herstellung in das ROM.

Inzwischen liefert der Hersteller den Kontroller auch mit Bootloader 
programmiert, einem Hilfsprogramm, das dem Anwender erlaubt, über ISP 
oder serielle Schnittstelle, sein eigenes Programm in den Kontroller 
hineinzuschreiben.

Es geht also ohne, aber eben entweder nur beim Hersteller oder mit 
großen Schwierigkeiten für den Anwender.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Bootloader ist dann sinnvoll, wenn neue Firmware in ein fertig 
aufgebautes (und geschlossenes) Gerät eingespielt werden soll, entweder 
durch den Gerätebauer oder einen Endkunden. Im Experimentierstadium oder 
auf offen zugänglichen Platinen ist ein Bootloader unnötig, wenn man 
eine Programmierschnittstelle auf der Platine hat. Da man für einen 
Bootloader immer eine Software als Gegenstelle auf dem 
Programmier-Rechner oder einem externen Programmer braucht, spart ein 
Bootloader keinen Aufwand und stellt (außer im oben genannten Fall) 
damit nicht wirklich eine Alternative zu einer direkten 
Programmierschnittstelle dar.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Travel Rec. wrote:

> Im Experimentierstadium oder
> auf offen zugänglichen Platinen ist ein Bootloader unnötig

Ich finde ganz im Gegenteil einen Bootloader beim Entwickeln mit AVRs 
sehr komfortabel.
Er hat nämlich mehrere entscheidende Vorteile:

- ich muß nicht immer das STK500 mitschleppen, sondern kann den AVR 
direkt per USB-RS232 Adapter an das Notebook hängen,

- ich kann auch den Resetpin als IO benutzen,

- ich muß nur einen Pin nach außen führen, statt 4 für SPI, dadurch bin 
ich flexibler mit der Beschaltung durch die Applikation (SPI-Pins können 
z.B. nicht mit LEDs belastet werden),

- ich kann nicht versehentlich den AVR verfusen (darüber wird hier 
ständig geklagt).


Peter

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Definition des Bootloaders
So wie ich das verstehe, ist der Bootloader ein Hilfsprogramm, das dem 
Kontroller ermöglicht, selbst das Anwenderprogramm in den 
Programmspeicher zu laden. Nach dieser Definition wäre auch das 
residente ISP-Programm ein Bootloader. Die Einschränkung auf einen 
nachträglich eingespielten Bootloader für serielle (oder gar 
Eindraht-)Schnittstelle würde ich nicht machen.

Autor: Chris L. (kingkernel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:
> - ich kann auch den Resetpin als IO benutzen,

dafür hab ich debugwire. damit kann ich die fuses auch nicht zermurksen 
und kann debuggen und auch programmieren.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
peter-neu-ulm wrote:
> So wie ich das verstehe, ist der Bootloader ein Hilfsprogramm, das dem
> Kontroller ermöglicht, selbst das Anwenderprogramm in den
> Programmspeicher zu laden. Nach dieser Definition wäre auch das
> residente ISP-Programm ein Bootloader.

Nö.
Das ISP des AVR ist der Hardware-Programmmieralgorithmus des Flash.
D.h. es wird kein Programm auf der CPU ausgeführt.
Die CPU wird während des Programmierens im Reset gehalten.
Und damit ist es auch kein residentes Programm.
Also kein Bootloader.

Es gibt allerdings auch MCs (z.B. NXP-8051) mit nem Factory-Bootloader, 
der in einem nicht löschbaren PROM-Bereich sitzt. Dieser kann durch die 
Applikation oder eine bestimmte Bedingung nach dem Reset angesprungen 
werden.


Peter

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für eure Antworten.

@Peter Dannegger
>ich muß nicht immer das STK500 mitschleppen, sondern kann den AVR
>direkt per USB-RS232 Adapter an das Notebook hängen,

Wie meinst du das? Direkt. RxD (PD0) nach aussen führen?


>ich kann auch den Resetpin als IO benutzen

Das ist sehr praktisch, weil ich bei meinem Attiny13 einen Bootloader 
mitgeliefert bekommen habe, und musste nach der erst "Initialisierung" 
(laut Franzis), mit anderen Worten den Bootloader in den µC geladen, den 
Reset nicht mehr gegen GND legen.
Das ist mir allerding am ersten Tag, wo ich das Lernpaket bekommen hatte 
und die mini Platine gelötet, die Software installiert hatte und dann 
das Heft nahm und einfach darauf los laß, natürlich nicht aufgefallen. 
Aber jetzt wo mich das Thema interessiert ist mir das erst klar 
geworden.


>ich kann nicht versehentlich den AVR verfusen

Aber um den mit Absicht zu verfusen bzw. Fusebits verändern möchte, muss 
man wieder auf den STK500 draufstecken, oder?
Es sei denn man würde seine Platine so aufbauen, dass dort die 
Möglichkeit bestünde den Reset auf GND zu legen und halt allgemein an 
die SPI Pins drankommt, oder? Wie funktioniert das dann mit AVR Studio, 
der kein STK500 mehr hat?


Noch ein letztes, habe mir dein bootloader(v1.4) runter geladen. Beim 
assemblieren bekomme ich eine Fehlermeldung:
C:\..\Mega8boot\m8def.inc(345): error: Attempt to redefine keyword 'or'
Bekomme also nicht die *hex Datei erstellt. Ist diese Fehlermeldung 
bekannt?

MfG Rufus

Autor: Иван S. (ivan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus wrote:
> Noch ein letztes, habe mir dein bootloader(v1.4) runter geladen. Beim
> assemblieren bekomme ich eine Fehlermeldung:
> C:\..\Mega8boot\m8def.inc(345): error: Attempt to redefine keyword 'or'
> Bekomme also nicht die *hex Datei erstellt. Ist diese Fehlermeldung
> bekannt?

Ich nutze zwar keine aus Prinzip keine Chips der Firma Atmel (ausser 
Restmengen an Spiecher, die ich mal geschenkt bekommen habe), habe mir 
aber die Zeile 345 der m8def.inc angesehen. Dort steht:
> .equ  OR =3  ; old name kept for compatibilty

Was hindert dich also daran, die Datei zu öffnen und die Zeile 
auszukommentieren?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus wrote:

> Wie meinst du das? Direkt. RxD (PD0) nach aussen führen?

Im Prinzip ja, ich hänge allerdings noch 2 Schutzdioden dran und einen 
Widerstand, siehe Schaltplan im Bootloader-ZIP.


> Aber um den mit Absicht zu verfusen bzw. Fusebits verändern möchte, muss
> man wieder auf den STK500 draufstecken, oder?

Ja. Allerdings weiß man in der Regel, wenn man den AVR in eine bestimmte 
Schaltung steckt, was dort für Fuses benötigt werden.

> Noch ein letztes, habe mir dein bootloader(v1.4) runter geladen. Beim
> assemblieren bekomme ich eine Fehlermeldung:
> C:\..\Mega8boot\m8def.inc(345): error: Attempt to redefine keyword 'or'

Nimm besser mal v2.1 und zum Assemblieren den AVRASM2 aus dem AVRStudio.
Der findet dann das richtige Include selber.


Peter

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was hindert dich also daran, die Datei zu öffnen und die Zeile
>auszukommentieren?

Ich habe eine andere version Runtergeladen "fastload_V14", das hat 
geklappt.


So, wenn ich jetzt ein Programm laden will, was ich selbst geschrieben 
habe, darf doch der µC nicht mehr vorher gelöscht werden oder?
Weil in AVR Studio 4, ISP mit STK500 Fenster ist im Register Program: 
"Erase device befor flash programming" haken gesetzt ist.



ATmega8 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x001fd0    446     20    466    8192   5.7%
[.dseg] 0x000060 0x000420      0    960    960    1024  93.8%
[.eseg] 0x000000 0x000000      0      0      0     512   0.0%

kann mir jemand die Tabelle etwas erläutern bitte?

MfG Rufus

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Peter :)

Ich war ja doch nicht aufm falschem Weg.

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> memory-use-Anzeige
Size: zur Verfügung stehende Zahl der Speicherplätze(hier die vom 
Atmega8 ?)
Use: davon benutzter Anteil in %
Used:Zahl der benutzten Speicherplätze
Data: Zahl der Datenbyte ( im Programm-Eeprom anscheinend eine Tabelle 
mit 20 Byte Daten)( im RAM 960 von 1024 Byte für Daten belegt)

cseg: Programm-EEPROM
dseg: RAM
eseg: Daten-EEPROM, vom Programm her beschreibbar, hier nicht benutzt.

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke peter-neu-ulm

Ich hab das immernoch nicht richtig gerafft. Fastload_V14 hab ich drauf 
gemacht, wie packe ich jetzt meine eigenen codes darauf? Muss der Reset 
Jumper aus dem STK500 entfernt werden? Oder muss generell and der 
Verkabelung was geändert werden?
Der Bootloader "sitzt" im letzten viertels des Speichers, hab ich mal 
gelesen. Ist das so? D.H. am Anfang kommen dann meine Codes hin?

Tut mir echt leid, ich verstehe das immernoch nicht (mit dem 
Bootloader).
Ich dachte zwar es ist etwas Licht am Ende des Tunnels zu sehen, aber es 
ist doch noch ein weiter Weg.

MfG Rufus

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Dieter S. (accutron)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also um es mit anderen Worten zu sagen: Der Bootloader ist ein 
Hilfsprogramm zum Laden des eigentlichen Programms. Vorteil ist, dass 
man lediglich eine asynchrone Schnittstelle (also nur Rx und Tx) 
benötigt, um das Programm zu laden. Der Bootloader muss dabei nicht 
unbedingt bereits im Mikrocontroller vom Hersteller ins ROM gelegt 
worden sein -- bei manchen Controllern, so dem 68HC11, ist es auch 
möglich, den Bootloader selbst ins RAM zu laden, von wo aus er dann den 
Rest besorgt.

Dieter

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Dieter.


Peter Dannegger wrote:
>Nimm besser mal v2.1 und zum Assemblieren den AVRASM2 aus dem AVRStudio.
>Der findet dann das richtige Include selber.

hmm, wo finde ich die v2.1? Hab gesucht aber nix gefunden.

MfG Rufus

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus wrote:
> hmm, wo finde ich die v2.1? Hab gesucht aber nix gefunden.

Hmm, gute Frage, wenn die Threads sehr lang werden.

Hier z.B.:

http://www.avrfreaks.net/index.php?module=Freaks%2...

Man muß sich allerdings anmelden.

Vielleicht sollte man hier auch das Projekt und die Diskussion dazu 
getrennt verwalten.


Peter

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke Peter.
Habe jetzt die Version 2.1, habe mich dort angemeldet.
Wärst du bitte so nett und könntest mir das mal mit dem Brennen 
erklären?
Das assemblieren bekomme ich hin, denke ich, mit AVR Studio 4. Ich bin 
mir unsicher beim Brennen, da scheint es, dass ich ein anderes Programm 
dafür nehmen muss, stimmt das? AVRDude? oder WinAVR? oder geht es auch 
mit AVR Studio?

MfG Rufus

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> könntest mir das mal mit dem Brennen erklären?

Deinem anderen Thread:
Beitrag "Neuer STK500 und ATmega8"
ist zu entnehmen, dass Du über das STK500 verfügst und auch über 
AVR-Studio.

Du weißt aber scheinbar nicht, wie man damit umgeht. Also klicke doch 
bitte mal mit der Maus im AVR-Studio auf den Menüpunkt "Help" und wähle 
aus den angebotenen Hilfethemen das STK500 aus. Oder blättere einfach 
mal etwas in den angebotenen Hilfethemen herum, da steht nämlich alles 
drin, was man beim Umgang mit Original-Tools von ATMEL wissen muss.

Ich habe den Eindruck, dass Du dich nur deshalb auf den Bootloader 
stürzt, weil Du zu bequem bist, Dich in den Umgang mit dem STK500 
einzuarbeiten. Peters Bootloader ist eine feine Sache, ersetzt aber 
nicht die ISP- (oder HV-) Programmierung vollends, denn irgendwie muss 
der Bootloader ja erstmal in den AVR rein, denn die AVRs werden ja leer 
geliefert. Egal, ob Du den Bootloader benutzt oder nicht, um das 
Erlernen des Umgangs mit dem STK500 wirst Du nicht drumherum kommen. Und 
ich vermute mal, dass Du den Bootloader Bootloader sein lässt, wenn Du 
erstmal mit dem STK500 klar kommst.

~

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe den Eindruck, dass Du dich nur deshalb auf den Bootloader
>stürzt, weil Du zu bequem bist, Dich in den Umgang mit dem STK500
>einzuarbeiten.

Richtig. Wo ich damals meinen Führerschein gemacht habe, musste ich auch 
nicht wissen wie die Architektur des Autos ist oder wie dir 
Getriebeübersetzung funktioniert, ich musste nur wissen wie man fährt 
und die StVo kennen. Als Lernhilfe gab es sogar einen Fahrlehrer. Ich 
dachte eigentlich, dass Foren auch dafür da sind um Hilfe ersuchen zu 
können. Es ist nicht so, dass ich Faul bin oder "so" bequem bin, dass 
ich alles anderen machen lasse. Ich habe nämlich Anfang November 
angefangen hier zu lesen und Ende Dezember (genau Heiligabend) habe ich 
die eignetliche HW (STK500 und Mega8, ATtiny13 schon mitte Dezember) 
bekommen. Eine neue Materie ist halt etwas mühselig zu lernen. Wenn man 
den ganzen Tag nur liest und liest, dann sieht man manchmal den Wald vor 
lauter Bäumen nicht mehr. Deshalb brauche ich halt etwas Erläuterung. 
Vielleicht geht es dir ja nicht so und dir kommt alles zugeflogen.
Ich habe ein Projekt laufen, wobei die µC Programmierung eigentlich 
Nebensache ist. Habe das ganze auch schön mit dem Lernpaket von Franzis 
(ATtiny13) angefangen und irgendwann gemerkt das die I/O's nicht 
ausreichen. Aus diesem Forum habe ich entnommen, dass der Mega8 über 
einen sehr guten Support verfügt (mit Tutorial uns alles), drum habe ich 
mich dafür entschieden.
Vielleicht bin ich auch etwas mit dem tiny13 verwöhnt worden, weil 
Franzis einen Bootloader mitliefert und ich den direkt in meiner 
Schaltung Lesen/Schreiben kann. Ohne Reset an GND legen zu müssen etc..
Mit dem Mega8 geht das auch das habe ich ja nun schon mermals gelesen. 
Meine eigentliche Frage lautete:
... könntest mir das mal mit dem Brennen erklären?

Antworten ist freiwillig. Ich bitte nur um etwas, bevor sich einer die 
Zeit nimmt, etwas zu klimmpern wie:
>blättere einfach
>mal etwas in den angebotenen Hilfethemen herum.
Stell dir vor ich kenne sogar die SuFu und nutze es sogar unentwegt.

>Du weißt aber scheinbar nicht, wie man damit umgeht.
Wenn ich es wüsste, würde ich nicht so doof fragen.

Könnte mir vielleicht einfach nur die Frage beantworten oder es sein 
lassen.
Ich danke alle denen die Hilfreiche Antworten schreiben und scheinbar 
auch Interesse haben einem zu helfen.

MfG Rufus

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ... könntest mir das mal mit dem Brennen erklären?

Ich versuche es mal...

Status: AVR-Studio Version 4.xx ist gestartet, das STK500 ist an COM 1 
bis 4 angeschlossen, bekommt Spannung von einem Netzteil 9 bis 12V DC, 
ist eingeschaltet und hat beim Einschalten das Farbspiel der LED 
abgearbeitet...

- Connect-Button oder Menü/Tools/Program AVR/Connect

- dort das STK500 auswählen und die korrekte Schnittstelle auswählen

- in Registerkarte "Board" die eingestellte Spannung überprüfen und ggf 
ändern (als Test, ob das STK500 antwortet)

Wenn das ok ist, dann wird der AVR interessant, ansonsten muss 
untersucht werden, warum das STK500 nicht angesprochen werden kann. Das 
kann z.B. daran liegen, dass irgendeine andere Software im Hintergrund 
den COM-Port für sich reserviert und für Andere blockiert.
Meist möchte das AVR-Studio bei einem werksneuen STK500 erst noch ein 
Firmware-Update durchführen, da sich irgendwann mal das Protokoll 
geändert hat. Dann ist den Anweisungen zu folgen (Firmware-Prog-Taste 
drücken, usw.).

So, gehen wir davon aus, dass das STK500 ansprechbar ist und schalten es 
erstmal aus.

- AVR richtig herum in den richtigen Programmiersockel stecken, alle 
anderen Sockel müssen leer sein.

- 6-poliges ISP-Kabel gemäß Handbuch an den richtigen der 3 Anschlüsse 
anschließen.

- Jumper des STK500 gemäß Handbuch an den vorliegenden Fall anpassen.

- STK500 einschalten (Farbspiel beobachten).

- Programm-Button im AVR-Studio anklicken oder Programmierdialog über 
das Menü aufrufen.

- Auf Registerkarte "Program" den AVR-Typ, den Projektordner und die 
gewünschte Hexdatei einstellen.

- Auf Registerkarte "Advanched" die Signature auslesen und überprüfen 
(dient hauptsächlich dem Test der Kommunikation).

- Auf Registerkarte "Program" die ausgewählte Hexdatei ins Flash 
brennen.

- Bei allen Vorgängen die Rückmeldung lesen und verstehen.


Übrigens: Als ich (vor mehr als 4 Jahrzehnten) meinen Führerschein 
gemacht hatte, da gehörte die Funktionsweise von Motor, Getriebe, 
Fahrgestell, Elektrik usw. sehr wohl zum Lehrstoff. Und das war gut so!

~

Autor: Rufus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Sinus...,

danke für deine ausführliche Erklärung. Bis dahin bin auch gekommen, hat 
auch soweit alles wunderbar geklappt. Siehst du, war doch nicht so 
schwer :)

Dank dir habe ich endlich auch wieder etwas Selbstsicherheit, weil ich 
es ja doch richtig verstanden habe.

Nun, nachdem der Bootloader in den Flash gespielt ist (das war übrigends 
einer der Dinge die ich nicht verstanden hatte), müsste es doch auch 
folgender Maßen funktionieren:
-Reset Jumper entfernen
-RS232 Spare-Port des STK's (Drahtbrücken zwischen dem PORTx und den 
RS232-Spare Pfostenstecker verbinden), Direktverbindung zwischen PC und 
Mega8 sollte doch zustande kommen, oder? Falls ja, müsste ich wiederum 
ein anderes Programm benutzen um meine ASM's übertragen zu können oder?
Hab da was mit AVEDude gelesen.
(mit dem Lernpaket gab es ein spezielles Programm für den Upload der 
*.hex)
Der AVR Studio erwartet ja wiederum eine Verbindung mit dem STK500.
Ich hoffe ich konnte es gerade richtig rüberbringen und es wird auch 
verstanden was ich meine.

MfG Rufus

P.S. @Sinusgeek
...mehr als 4 Jhrzehnte? Respekt...und noch so Fit mit µC & Elektronik? 
:)

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Siehst du, war doch nicht so schwer :)

Wie? Was? Naja, stimmt, die Infos hättest Du auch in der Hilfe zum 
AVR-Studio gefunden. Mir hat es auch keiner erklärt und im Alter lernt 
es sich schwerer. Ist aber gut, dass das jetzt klappt.

> Direktverbindung zwischen PC und Mega8 ...

Wenn der Mega8 schon im STK500 steckt, dann sehe ich keinen großen Sinn, 
einen Bootloader zu benutzen. Nein, ich habe nichts gegen Peters 
Bootloader, auf eigenen Schaltungen ist dessen Einsatz genial, aber für 
Tests auf dem STK500 genügt ISP vollkommen. Ich hatte jedenfalls noch 
keinen Grund am heimischen STK500 oder am Dragon einen Bootloader 
einzusetzen. Und der Fall "beim Kunden" tritt bei mir nicht auf, da AVRs 
und Elektronik für mich Hobby sind.

Mit dem Lernpaket darfst Du mich nicht behelligen, für Sowas gebe ich 
kein Geld aus. Ich bevorzuge inzwischen zum Programmieren 
Original-ATMEL-Equipment. Und die Zielschaltung läuft meist auf kleinen 
Eigenbau-Platinen (mit recht groben Leiterzügen). Als Sprache nutze ich 
nur AVR-Assembler des AVR-Studios. So ist Programmerstellung und Flashen 
alles in einem Programmpaket. Und das gibts kostenlos vom Hersteller der 
AVRs.

Selbst auf Zielschaltungen auf Eigenbau-Platinen nutze ich bisher keinen 
Bootloader, ich habe ISP-Adapter, die ich von oben auf die eingelöteten 
AVRs aufstecken kann. Da ich dies schon nutzte, bevor Peter seinen 
Bootloader hier veröffentlichte, komme ich auch ohne Bootloader zurecht, 
eben aus Gewohnheit und Bequemlichkeit.

> ...mehr als 4 Jhrzehnte? Respekt...und noch so Fit mit µC & Elektronik?

Danke, Führerschein seit 1966, AVRs aber erst seit ein paar Jahren, aber 
sooooo fit nun auch wieder nicht, eher dezifit (zu 10% fit)... ;-)

~

Autor: Dominique Görsch (dgoersch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch ich sehe in Rufus Fall keinen Bedarf für einen Bootloader. Wenn er 
es schafft den Bootloader zu assemblieren und zu flashen, schafft er das 
wohl ebenso mit seinem eigenen Code. Nachdem er einen Programmer hat und 
sein µC ohnehin auf dem Board steckt, wäre es doch am neheliegensten 
einfach den eigenen Code zu flashen, bevor man mit 'nem Bootloader 
rumhantiert, dessen Sinn und Zweck man anscheinend nicht verstanden hat.

Gruß
Dominique Görsch

Autor: Rufus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

>Wenn der Mega8 schon im STK500 steckt, dann sehe ich keinen großen Sinn,
>einen Bootloader zu benutzen.

genau das isses ja, ich will den µC nicht ständig aus der Platine in den 
STK stecken müssen. Es werden keine "Kunden" spezifische Anwendungen 
sein, sondern nur für mich auch als Hobby. Aber dennoch will ich etwas 
kompfort haben, weil ich auch nicht der Pro Programmierer bin der das 
Programm einmal schreibt den µC in die Platine/Schaltung steckt und es 
läuft alles auf anhieb. Ich sehe es jetzt schon das ich eventl. jedesmal 
"ein Bit" ändern muss. Dieses hin und her will ich halt vermeiden. Da 
ist der Bootloader die optimale Lösung. Weil ich auch festgestellt habe, 
dass man am Simulator auch nicht alles optimal Simulieren kann.
Jeder hat seine eigene Methode zu proggen, ich mach es sehr gerne das 
ich z.B. meine Ergebnisse via SW-UART aufm Terminal ausgebe und es 
überprüfe. Mag unkonventionell sein, aber das ist halt meine Methode.
Noch einen großen Vorteil sehe ich darin, dass man die Schaltung relativ 
klein halten kann (mit Bootloader). Ich möchte meinen Mega8 mit einem 
Quarzoszilator oszilieren (8Mhz (das mit 4 Beinchen)), also die Fuses 
richtig setzen!
Das Problem ist noch, was ich festgestellt habe, die Forum Sprache. 
Manche sprechen von Flashen und wiederum manche von Brennen, übertragen 
ist klar, aufspielen, schießen...usw. Jetzt leuchtet mir das alles 
bischen ein.


>Mit dem Lernpaket darfst Du mich nicht behelligen, für Sowas gebe ich
>kein Geld aus.
Das ist wiederrum eine Ansichtssache, ich finde, dass das keine 
Fehlinvestition war. Dadurch habe ich schon einiges leichter gelernt, 
aber halt immernoch etwas unsicher. Das 14DIP Sockel ermöglicht es die 
Schaltung (auf dem Bread Board) direkt mit dem µC zu verbinden, und 
dadurch kann man sehr effizient seine Schaltungen testen und damit 
rumexperementieren. So in etwa soll der Mega8 auch funktionieren. Die 
Möglichkeit gibt es auch mit dem STK (EXPAND0).

Meine Frage lautet daher:
- Den PC mit RS232 Spare verbinden
- RS232 Spare Pfostenstecker mit PORTx verbinden
- Reset Jumper entfernen
- ISP (6adriges Flachbandkabel) entfernen

Und somit mit dem Mega8 direkt kommunizieren. AVR Studio erwartet den 
STK500. Mit welchem Programm kann ich die *.hex Datei in den µC 
übertragen?
Der µC steckt zwar auf dem STK Board, wird aber sozusagen extern 
programmiert. Nicht über RS232 CTRL sondern über RS232 Spare mit der 
Verbindung zu dem jeweiligem PORT. Bei dem ATtiny13 geht mit der 
mitgelieferten SW (s. Anhang), mit welcher SW geht es bei der Mega8?

MfG Rufus

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mit welchem Programm kann ich die *.hex Datei in den µC
> übertragen?

Ein Bootloader besteht immer aus 2 Teilen, die aufeinander abgestimmt 
sein müssen. Der eine Teil wird in den AVR gebrannt, der andere Teil im 
PC aufgerufen. Zum Franzis-Bootloader passt vermutlich nur das 
Franzis-Programm (PC), zum PeDa-Bootloader vermutlich nur PeDas 
PC-Programm mit derselben Versionsnummer. Ob der AVR dabei nun in einer 
eigenen Schaltung sitzt oder auf einem STK500, sollte dabei nicht 
relevant sein.

Relevant dürfte allerdings sein, ob Du die Pegelanpassung mit MAX232 
(MAX3232) oder mit einer Sparschaltung machst, da der MAX(3)232 die 
Pegel invertiert, einige Sparschaltungen aber glaube nicht. Ich vermute, 
Du favorisierst Peters "Eindrahtlösung" und empfehle Dir daher, die 
Beschaltung laut Peters Dokumentation (ich kenne V2.1 nicht, V.1.7 habe 
ich mir mangels Bedarf damals auch nur flüchtig angesehen) auf einer 
externen Platine aufzubauen und das Bootloaden am STK500 vorbei zu 
machen. Dann brauchst Du vermutlich nur GND und den einen Portpin zu 
kontaktieren.

~

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.