Forum: Mikrocontroller und Digitale Elektronik ISP und Bootlader von AVR


von WalnussRabe (Gast)


Lesenswert?

Ich verstehe nicht wie ist der Zusammenhang zwischen ISP und Bootloader. 
Im Datensheet und Internet steht eine andere erklärung, wie ich das 
verstehe. ich sehe dass die beide nicht zu tun miteinander.

ich verstehe die beiden so

 AVR-Mikrocontroller kann entweder durch einen extern ISP-Programmer 
gebrannt oder mit Hilfe eines Bootloader-Programms. AVR-Mc enthalten 
kein Bootloader Programm, sondern muss durch einen extern ISP-Programmer 
gebrtannt werden.

Arduino-Board verfügt aber das Bootlader-Programm , dass kein 
ISP-Programmer mehr benötigt wird. Der auf Flash-Speicher installierte 
Booltoader-Programmer ermöglicht den Mc während des Betriebs 
umzuprogrammieren

wenn das stimmt, kann jemand sagen was für ein Bootloader-Programm auf 
Arduino-FLASH-Speicher gibt. das Bootloader-Programm auf Arduino NANO 
nur 2KByte groß und bei Mega 8 KByte  groß ist !!??? was unterscheiden 
die beide Bootloader-programme voneinander


vielen Dank

von c-hater (Gast)


Lesenswert?

WalnussRabe schrieb:

> Arduino-Board verfügt aber das Bootlader-Programm , dass kein
> ISP-Programmer mehr benötigt wird.

Falsch. Ein Bootloader bietet nicht alle Möglichkeiten, die die 
Programmierung per ISP bietet. Sobald also für eine Anwendung z.B. die 
Umprogramierung der Fuses erforderlich ist, braucht man sowieso einen 
ISP-Programmer.

> Der auf Flash-Speicher installierte
> Booltoader-Programmer ermöglicht den Mc während des Betriebs
> umzuprogrammieren

Nur eingeschränkt. Man kann den Flash überschreiben und den EEPROM, aber 
nicht Fuses und Lockbits.

> wenn das stimmt, kann jemand sagen was für ein Bootloader-Programm auf
> Arduino-FLASH-Speicher gibt. das Bootloader-Programm auf Arduino NANO
> nur 2KByte groß und bei Mega 8 KByte  groß ist !!???

Nein. Der Bootloader selber ist für beide nahezu gleich gross. Aber die 
Bootloaderbereiche der Hardware sind verschieden gross. Man kann die 
Größe der Bootloaderbereiche ändern (um sie z.B. besser auf die 
tatsächliche Größe des Bootloaders anzupassen), aber auch dafür braucht 
man wieder einen ISP-Programmer, weil man dazu die Fuses ändern muss.

von WalnussRabe (Gast)


Lesenswert?

ok vielen Dank für deine Antwort. Wenn man ein Code hochladen, braucht 
man bei Arduino kein ISP-Programmer. nur in fälle wie Änderung von 
Fuses.... wie sind FUSES wirklich ??? kenne ich nicht

von Karl M. (Gast)


Lesenswert?

WalnussRabe schrieb:
> wie sind FUSES wirklich ??? kenne ich nicht

Das steht wie immer alles haarklein im Datenblatt - man glaubt es kaum !

Ein FUSE-Bit ist ein Schalter der als spezielle Flashspeicherzelle 
implementiert wurde.

von c-hater (Gast)


Lesenswert?

WalnussRabe schrieb:

> ok vielen Dank für deine Antwort. Wenn man ein Code hochladen, braucht
> man bei Arduino kein ISP-Programmer. nur in fälle wie Änderung von
> Fuses.... wie sind FUSES wirklich ??? kenne ich nicht

Tja, dann hast du noch einiges zu lernen, würde ich mal sagen. Steht 
alles im Datenblatt des µC, den du verwenden willst, also einfach mal 
lesen, das Teil.

Vielleicht kannst du ja sogar besser englisch als deutsch?

von Manfred (Gast)


Lesenswert?

WalnussRabe schrieb:
> Wenn man ein Code hochladen, braucht
> man bei Arduino kein ISP-Programmer.
Richtig, genau das ist das Ziel vom Arduino: Programm erstellen und per 
USB-Schnittstelle in den Controller schreiben, ohne externe Hardware.

Für sehr viele Anwendungen genügt das.

Wenn Du einen Arduino per ISP programmierst, ist anschließend der 
Bootloader kaputt. Nicht schlimm, man kann ihn per ISP wieder hinein 
flashen.

von Stefan F. (Gast)


Lesenswert?

Der Arduino Bootloader für den Atmega328 ist etwas kleiner als 2kB, 
nicht 8kB.

Du kannst Fuses mit Steckbrücken vergleichen, die der Konfiguration des 
Computers dienen.

Mit Fuses stellst du zum Beispiel ein, ob ein Bootloader aktiviert 
werden soll. Und du stellst damit ein, welche Quelle das Taktsignal 
liefert. Es gibt noch weitere Sachen, die man mit Fuses einstellen kann 
- siehe Datenblatt.

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.