mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino via ISP flashen


Autor: Spannungsteiler (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo uC-Forum!

Hat jemand schon mit AVR-Studio4 über SPI Schnittstelle einen
Arduino mini oder pro mini geflascht/programmiert.

Funktioniert es einfach?

Meine Überlegung ist, statt ATMega328P Prozessor einen arduino-mini
zu nehmen. Vorteil wäre,dass der uC sich schon auf eine mini Platine
befindet. Somit hätte ich schon Lötanschlüsse für Anschlussdrähte.
Ausserdem ist der Taktgeber auch vorhanden. also eine komplette
Minimalbeschaltung wäre gegeben.
Fernost Preise wären etwa gleich wie hier der ATMega328 Prozessorpreis.

Danke für euere Infos!

Autor: Arduinoquäler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsteiler schrieb:
> Funktioniert es einfach?

Warum sollte es nicht?

Die SPI Leitungen sind ja 1:1 vom Prozessor herausgeführt.

Und irgendwann hat ja ein Arduino Hersteller auch mal einen
Bootloader draufspielen müssen .....  wie hätte er das ohne
SPI machen sollen?

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ich noch nicht gemacht, aber wo soll das Problem sein?
ATmega328p habe ich nur als DIL über ISP und Studio4 programmiert, 
genauso muss es auf dem miniPRO gehen.

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

Bewertung
0 lesenswert
nicht lesenswert
Na klar, so wirds gemacht. So handhabe ich das auch seit einiger Zeit 
schon... mit dem Atmega32u4. Billiger kommt man an fertige Hardware 
nicht ran. Ich hatte bis dato auch noch nie ein Hardwareproblem wegen 
der Module aus Fernost gehabt.Ich nutze immer ein Leonardo Micro Clone

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das geht ohne Probleme. Du kannst en Bootloader sogar drauf lassen, 
falls dich dessen Speicherbedarf nicht stört.

Autor: Alex D. (allu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsteiler schrieb:
> Hat jemand schon mit AVR-Studio4 über SPI Schnittstelle einen
> Arduino mini oder pro mini geflascht/programmiert.

Ja, Pro Mini mit AVR-Studio 6.2 (AVR-ISP-MK2). Funktionierte ohne 
Probleme.

Autor: Spannungsteiler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, vielen Dank an euch Alle!

Die Frage stellte sich mir, weil ich im web kaum Beispiele finde,
wie man arduino-mini über ISP programmiert.

Überwiegend sind serielle Verbindungen beschrieben.
Ich habe angefangen mich mit AVR-Studio4 zu beschäftigen und habe
mir einen USB-ISP Light Adapter fürs Flashen dazugekauft.

Damit hatte ichden Arduino-UNO über ISP bereits erfolgreich geflasht.
Nun bin ich auf der suche nach preiswerte "all-in-one-miniplatine".

So kam ich zum arduini-mini Board, und zur Frage an euch, welche
Erfahrungen ihr damit schon gemacht habt?

Ich weiß, es ist eine Anfänger-Frage, aber durch euere Erfahrungen
fühlt man sich gleich unterstüzt!

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsteiler schrieb:
> Meine Überlegung ist, statt ATMega328P Prozessor einen arduino-mini
> zu nehmen.

Auf einem Arduino Mini Board wirst du einen ATmega328 finden, es sei 
denn, der Mini ist schon sehr betagt (dann ATmega168).

Warum willst du einen Arduino Mini per ISP flashen. Der Bootloader ist 
doch drauf.

Autor: Spannungsteiler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> Warum willst du einen Arduino Mini per ISP flashen. Der Bootloader ist
> doch drauf.

Oh, die Frage ist gut!  Ich will einfach lernen. Habe kaum andere
praktische Ziele, ausser, zu lernen den Umgang mit Atmega und
AVR-Studio4.
Auch gezielt nehme ich kein Atmel-studio 5,6,7 usw!

Bisher hatte ich mir die C-Grundlagen mit dem Arduinoplattform 
angeeignet
und ein-paar Projekt auf die Beine gestellt.
Nun wage ich den Schritt zumm AVR-Studio und Bootloadloses flashen..

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die Frage stellte sich mir, weil ich im web kaum Beispiele finde,
> wie man arduino-mini über ISP programmiert.

Weil man dazu kein Beispiel braucht. Der Mikrocontroller wird auf diesem 
Board genau so programmiert, wie auf jedem anderen Board oder gar auf 
den Steckbrett. ISP ist ISP.

: Bearbeitet durch User
Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Ja das geht ohne Probleme. Du kannst en Bootloader sogar drauf lassen,
> falls dich dessen Speicherbedarf nicht stört.

Naja.....
Ohne besondere Vorkehrungen drohen Probleme.

Vermeidung:
1: Anwendung und Bootloader in eine Hex packen und gemeinsam brennen.
2: Fuses auf "ohne Bootloader" umstellen

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ohne besondere Vorkehrungen drohen Probleme.

Vermutlich würde dein Beitrag mit konkreter Angabe (welche Probleme) 
hilfreicher sein. Ich habe mit dem Bootloader jedenfalls kein Problem, 
wenn ich meine Anwendungen über ISP flashe.

Autor: Cyblord ---- (cyblord)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Spannungsteiler schrieb:
> Die Frage stellte sich mir, weil ich im web kaum Beispiele finde,
> wie man arduino-mini über ISP programmiert.

Weil das kaum ein hirntoter Arduino Nutzer auf die Kette bekommt. Und 
warum soll er auch? Das Ding per USB einstöpseln und nach kurzer Suche 
und ein paar Threads in Foren den DOWNLOAD Button finden reicht doch. 
Das geht auch noch mit dem Gehirn im Einmachglas nebendran.

Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Ich habe mit dem Bootloader jedenfalls kein Problem,
> wenn ich meine Anwendungen über ISP flashe.
Der wird nicht überschrieben?

Stefan U. schrieb:
> Vermutlich würde dein Beitrag mit konkreter Angabe (welche Probleme)
> hilfreicher sein.
Ok...
Dann eben etwas ausführlicher....
Einer große Anwendung kann in den Bootloader Bereich herein ragen.
Wenn dann doch noch der Bootloader Resetvektor per Fuse aktiviert ist, 
wird deine Anwendung versagen, denn da wird einfach blind ins Ende rein 
gesprungen.

Milder fällt das Problem aus, wenn der obere Speicher ungenutzt bleibt. 
Dann stehen da nur 0xFF, also NOPs. Die werden abgeklappert, bis der 
Programmzeiger den WrapAround macht. Ab da gehts wie erwartet weiter.

: Bearbeitet durch User
Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cyblord -. schrieb:
> Spannungsteiler schrieb:
>> Die Frage stellte sich mir, weil ich im web kaum Beispiele finde,
>> wie man arduino-mini über ISP programmiert.
>
> Weil das kaum ein hirntoter Arduino Nutzer auf die Kette bekommt. Und
> warum soll er auch? Das Ding per USB einstöpseln und nach kurzer Suche
> und ein paar Threads in Foren den DOWNLOAD Button finden reicht doch.
> Das geht auch noch mit dem Gehirn im Einmachglas nebendran.

  ><((((*>

: Bearbeitet durch User
Autor: Spannungsteiler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach meinem Verständnis bedeutet das ISP-Flashen, dass
ich kein Bootloader mehr bräuchte.

Zwar würden 1K Flasch mehr zu Verfügung stehen, hätte ich aber
den Nachteil, nur über ISP eine Programmänderung vornehmen zu können.

Ist es so korrekt?

Wie gesagt, es dient mir als Lernaufgabe! Bin trozdem über verschiedene
sogar widersprüchliche Antworten dankbar, da ich so euere
Erfahrungen und Einstellungen für mein Vorankommen verwenden kann.

Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsteiler schrieb:
> Bin trozdem über verschiedene
> sogar widersprüchliche Antworten dankbar,
Sehr weise!

Und, jetzt kommts:
Du kannst sie sogar anhand des Datenblattes überprüfen!
Auch im Versuch.

Und damit, mit Fug und Recht, den Unsinn aussortieren und das Richtige 
zu deinem eigenem Wissen machen.

: Bearbeitet durch User
Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Ich habe mit dem Bootloader jedenfalls kein Problem,
>> wenn ich meine Anwendungen über ISP flashe.

> Der wird nicht überschrieben?

Wird er nicht, sofern die Anwendung in den noch freien Speicherbereich 
passt. Der Bootloader liegt ja am oberen Ende des Flash Speichers. Das 
Anwendungsprogramm beginnt unten und wächst nach oben hin.

Darauf muss man natürlich selbst achten. Ich glaube, avrdude (und co) 
sind in dieser Hinsicht leider nicht Deppensicher.

> Nach meinem Verständnis bedeutet das ISP-Flashen, dass
> ich kein Bootloader mehr bräuchte.

Ja

> Zwar würden 1K Flasch mehr zu Verfügung stehen, hätte ich aber
> den Nachteil, nur über ISP eine Programmänderung vornehmen zu können.

Ja

Wenn du allerdings einen ISP Anschluss und einen ISP Programmieradapter 
hast, kannst du den Bootloader jederzeit wieder neu installieren, wenn 
du meinst, ihn zu brauchen.

: Bearbeitet durch User
Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Wird er nicht, sofern die Anwendung in den noch freien Speicherbereich
> passt. Der Bootloader liegt ja am oberen Ende des Flash Speichers. Das
> Anwendungsprogramm beginnt unten und wächst nach oben hin.

Soweit mir bekannt kann man per ICSP keine einzelnen Pages löschen.
Einzig ein Chip Erase ist möglich.
Und damit ist der Bootloader im Nirvana.

Wenn es da Möglichkeiten gibt, sind sie mir nicht bekannt.
Und ich würde mich über einen Link zur betreffenden Doku sehr freuen.

Ich kann dir z.B. diesen bieten: http://www.atmel.com/images/doc0943.pdf

: Bearbeitet durch User
Autor: Spannungsteiler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arduino F. schrieb:
> Wenn es da Möglichkeiten gibt, sind sie mir nicht bekannt.
> Und ich würde mich über einen Link zur betreffenden Doku sehr freuen.

Das wäre auch meine nächste Frage gewesen :-)

Ich habe dieses Zitat gefunden;

>> Beim Programmieren über ISP kann man nur den gesamten Flash löschen
(system erase). Andererseits kann man den Teil des Flash der die
Applikation hält, nicht beschreiben ohne ihn vorher zu löschen.
Ergo muß man den Bootloader beim Programmieren über ISP jedesmal
neu mit aufspielen. <<

Autor: Axel Schwenke (a-za-z0-9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsteiler schrieb:
> Ich habe dieses Zitat gefunden;
>
>>> Beim Programmieren über ISP kann man nur den gesamten Flash löschen
> (system erase). Andererseits kann man den Teil des Flash der die
> Applikation hält, nicht beschreiben ohne ihn vorher zu löschen.
> Ergo muß man den Bootloader beim Programmieren über ISP jedesmal
> neu mit aufspielen. <<

Es wäre besser gewesen, wenn du den dazugehörigen Thread verlinkt 
hättest.

Ansonsten stehe ich nach wie vor zu dieser Aussage. Einen ATmega, der 
bis auf den Bootloader leer ist, kann man genau einmal per ISP 
programmieren ohne ihn vorher zu löschen. Die Wahrscheinlichkeit, daß 
Programm und Bootloder sich überschneiden besteht zwar. Aber man kann 
das unmöglich übersehen, wenn der Flash-Inhalt verifiziert wird.

Vor jedem weiteren Neubeschreiben des Flash muß man ihn erstmal löschen. 
Und dabei löscht man den Bootloader zwangsweise mit. Man muß einen 
Bootloader natürlich nicht zwangsweise wieder aufspielen, sondern nur 
dann, wenn man später einen braucht (das war im o.g. Thread ausdrücklich 
verlangt). Andererseits:

Spannungsteiler schrieb:
> Zwar würden 1K Flasch mehr zu Verfügung stehen, hätte ich aber
> den Nachteil, nur über ISP eine Programmänderung vornehmen zu können.

Ich halte das für gar keinen Nachteil. Wenn ich entweder mit dem Auto 
oder mit den Fahrrad zum Bäcker fahren kann und mich für das Fahrrad 
entscheide und das Auto meiner Frau zum Einkaufen überlasse, dann ist es 
doch kein Nachteil daß das Auto nicht vor dem Haus steht.

: Bearbeitet durch User
Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Man muß einen
> Bootloader natürlich nicht zwangsweise wieder aufspielen, sondern nur
> dann, wenn man später einen braucht
Meiner bescheidenen Ansicht nach, ist es völlig OK den Bootloader zu 
entfernen. Aber dann sollte man auch konsequenter weise die betreffenden 
Fuses richtig setzen.

Vergisst man das, hat man schlampig gearbeitet.
.. und das wollen wir doch nicht ...

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arduino F. schrieb:
> Meiner bescheidenen Ansicht nach, ist es völlig OK den Bootloader zu
> entfernen. Aber dann sollte man auch konsequenter weise die betreffenden
> Fuses richtig setzen.

Wer sagt denn das er das nicht will?! Bzw. das er die Fuses nicht 
umstellen will?! o.O

Arduino F. schrieb:
> ...hat man schlampig gearbeitet.
> .. und das wollen wir doch nicht ...

Sagt einer, der Arduino in seinem Namen hat! :-D YMMD!

Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
> Wer sagt denn das er das nicht will?! Bzw. das er die Fuses nicht
> umstellen will?! o.O

Die mehrfache Empfehlung hier im Thread war:
"Bootloader kannste einfach platt machen!"
"Alles gut, passiert sonst nix."
Oder so ähnlich.
Aber das ist in letzter Konsequenz falsch, weil unzureichend.
Und sowas einem, möglicher Weise, Anfänger zu raten, naja...



Draco schrieb:
> Sagt einer, der Arduino in seinem Namen hat! :-D YMMD!
Ist doch schön, wenn ich dir eine Freude machen konnte!
Gerne geschehen.

: Bearbeitet durch User
Autor: Chris F. (chfreund) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube der TE versteht nicht, dass es zwei paar Schuhe sind ob man 
standardisierte Binaries (Sketches) von einer Art Betriebssystem 
(Arduino) starten lässt oder ob man direkt den gesamten Code für die 
Anwendung auf den MC lädt.

Das man den ATMega mit Arduino "über usb" programmiert klappt, weil die 
USB-Unterstützung schon im Arduino-OS-Binary enthalten ist und die 
Boards dafür passend aufgebaut sind. Du kannst auch mit einem 
AVR-Programmierer irgendeinen AVR mit dem Arduino-Bootloader bespielen 
und danach die Arduino-Sketches draufladen.

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cyblord -. schrieb:
> Weil das kaum ein hirntoter Arduino Nutzer auf die Kette bekommt. Und
> warum soll er auch? Das Ding per USB einstöpseln und nach kurzer Suche
> und ein paar Threads in Foren den DOWNLOAD Button finden reicht doch.
> Das geht auch noch mit dem Gehirn im Einmachglas nebendran.

Deines liegt wohl gerade im Schnapsglas, anders ist der Kommentar nicht 
erklärbar.

Chris F. schrieb:
> Ich glaube der TE versteht nicht, dass es zwei paar Schuhe sind ob man
> standardisierte Binaries (Sketches) von einer Art Betriebssystem
> (Arduino) starten lässt oder ob man direkt den gesamten Code für die
> Anwendung auf den MC lädt.
>
> Das man den ATMega mit Arduino "über usb" programmiert klappt, weil die
> USB-Unterstützung schon im Arduino-OS-Binary enthalten ist und die
> Boards dafür passend aufgebaut sind.

"Arduino-OS" - darf ich mir das wie ein embedded Linux oder einen 
Basic-Interpreter vorstellen?

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> Chris F. schrieb:
>> Ich glaube der TE versteht nicht, dass es zwei paar Schuhe sind ob man
>> standardisierte Binaries (Sketches) von einer Art Betriebssystem
>> (Arduino) starten lässt oder ob man direkt den gesamten Code für die
>> Anwendung auf den MC lädt.
>>
>> Das man den ATMega mit Arduino "über usb" programmiert klappt, weil die
>> USB-Unterstützung schon im Arduino-OS-Binary enthalten ist und die
>> Boards dafür passend aufgebaut sind.
>
> "Arduino-OS" - darf ich mir das wie ein embedded Linux oder einen
> Basic-Interpreter vorstellen?

So nen Quark.

Das was Chris F. geschrieben hat ist völliger Schwachsinn.

Arduino ist weder nen OS, die "USB-Unterstützung" ist nur ein Bootloader 
und Arduino ist ausschließlich eine IDE, genauso wie AVR Studio, MicroE 
oder Keil oder whatever.

Die dazugehörige Hardware besteht aus einem normalen µC mit entweder 
nativen USB (z.b. die Mega32u4) oder aber mit einem USB-Seriell-Adapter 
(z.b. der Mega328). Man schreibt seinen Code dort in C - wobei dort die 
Projekte als "Sketches" bezeichnet werden (Warum auch immer!!!) - 
Arduino bringt eigene Bibliotheken mit, welche aber über das gesamte 
Spektrum der µCs gespannt ist, und genau hier liegt der eigentlich 
Knackpunkt - das macht den produzierten Code, langsam, aufgebläht etc... 
aber das ist ne andere Diskussionsebene.

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
>> "Arduino-OS" - darf ich mir das wie ein embedded Linux oder einen
>> Basic-Interpreter vorstellen?
> So nen Quark.
> Das was Chris F. geschrieben hat ist völliger Schwachsinn.

Danke für Deine Mühe, ich dachte, meine Frage wird als Ironie erkannt 
:-)

> Arduino bringt eigene Bibliotheken mit, welche aber über das gesamte
> Spektrum der µCs gespannt ist, und genau hier liegt der eigentlich
> Knackpunkt - das macht den produzierten Code, langsam, aufgebläht etc...
> aber das ist ne andere Diskussionsebene.

Richtig, ich kenne diese Kritik. Da die Cina-Nanos billig sind, meine 
Anwendungen nicht wirklich zeitkritisch und ich in der Arduino-Umgebung 
Zeiten um 1 ms ordentlich einhalten kann, werde ich diese weiterhin 
einsetzen.

Was ich noch nicht gefunden habe, weshalb die Chinesen immer "ISCP" oder 
"ICSP" neben den Programmieranschluß drucken, der doch eigentlich "ISP" 
heißen sollte. Und ja, mein ISP-China-Clone funktioniert, aber USB und 
Bootloader sind so schön bequem.

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> Was ich noch nicht gefunden habe, weshalb die Chinesen immer "ISCP" oder
> "ICSP" neben den Programmieranschluß drucken, der doch eigentlich "ISP"
> heißen sollte. Und ja, mein ISP-China-Clone funktioniert, aber USB und
> Bootloader sind so schön bequem.


Keine Frage, ich nutze diese China-Clone auch, aber halt nicht in der 
Ardunio Umgebung. Ich nutze sie über AVR / Atmel Studio und programmiere 
sie über ISP.

Das USB Bootloader so schön bequem sind, ist richtig - gibts aber 
natürlich von Atmel auch: einfach mal nach DFU googlen (Haben die 
AT90USB und die Atmega16/32U schon von Haus aus drauf). Oder auch Flip, 
für die nicht USB-Devices.

@ISP vs. ICSP

Naja, ist bloß ne andere Schreibweise, bedeutet aber das gleiche.

ISP  = In-System-Programming
ICSP = In-Circuit-Serial-Programming

Autor: Chris F. (chfreund) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> "Arduino-OS" - darf ich mir das wie ein embedded Linux oder einen
> Basic-Interpreter vorstellen?

Nein, das ist ein Bootloader-BIOS das auch die serielle Kommunikation 
zum Aufspielen von Programmen regelt. Auf den aktuellen Boards ist ein 
usb-seriell-umsetzer.

Autor: Chris F. (chfreund) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
> So nen Quark.
>
> Das was Chris F. geschrieben hat ist völliger Schwachsinn.
>
> Arduino ist weder nen OS, die "USB-Unterstützung" ist nur ein Bootloader
> und Arduino ist ausschließlich eine IDE, genauso wie AVR Studio, MicroE
> oder Keil oder whatever.

Auch dieser "Bootloader" ist ein OS und Arduino besteht nicht 
ausschließlich aus der Entwicklungsumgebung. Bitte nicht ausfallend und 
frech werden, wenn man keine Ahnung hat.

Der Bootloader hat keine USB-Unterstützung, die wird durch externe 
usb-seriell-konverter realisiert, mittlerweile gibt es dafür auch 
selbstgestrickte Varianten die auf einem avr laufen, sonst kommt das in 
einem ch340, ft232 oder anderen Bauteilen.

Autor: Cyblord ---- (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris F. schrieb:
> Draco schrieb:
>> So nen Quark.
>>
>> Das was Chris F. geschrieben hat ist völliger Schwachsinn.
>>
> Auch dieser "Bootloader" ist ein OS
Seit wann ist ein Bootloader ein OS?

> und Arduino besteht nicht
> ausschließlich aus der Entwicklungsumgebung. Bitte nicht ausfallend und
> frech werden, wenn man keine Ahnung hat.

Nein es besteht auch aus einem SW Framework mit HW Abstraktion.
Trotzdem noch kein OS.

Wikipedia sagt z.B.:

>Ein Betriebssystem ist eine Zusammenstellung von Computerprogrammen, die
> die Systemressourcen eines Computers wie Arbeitsspeicher, Festplatten,
> Ein- und Ausgabegeräte verwaltet und diese Anwendungsprogrammen zur
> Verfügung stellt.

Das Arduino Framework verteilt aber nun keine Systemressourcen und es 
gibt auch keine Anwendungen, die davon losgekoppelt laufen und solche 
Ressourcen zugeteilt bekommen würden. Weder Speicher noch Prozessorzeit 
noch sonst irgendwas.

Es gibt nur eine einzige Anwendung und die linkt statisch ein paar Libs 
dazu welche vorfegertige Funktionalitäten bereitstellen und etwas 
Abstraktion betreiben. Was libs eben so tun.

: Bearbeitet durch User
Autor: Chris F. (chfreund) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nie geschrieben, dass das ganze Framework ein OS ist.

Cyblord -. schrieb:
> Seit wann ist ein Bootloader ein OS?

Der Arduino-Bootloader ist auch kein Bootloader, sondern ein 
Chainloader, da er bereits die Firmware für die I/O lädt um Programme in 
den Festspeicher zu laden und die Ressourcen des MC verwaltet und 
vorbereitet. Ein reiner Bootloader enthält keine Anwendungen.

Autor: Cyblord ---- (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris F. schrieb:
> Ich habe nie geschrieben, dass das ganze Framework ein OS ist.
Sondern nur der Bootloader? Wird ja immer schräger.

>
> Cyblord -. schrieb:
>> Seit wann ist ein Bootloader ein OS?
>
> Der Arduino-Bootloader ist auch kein Bootloader, sondern ein
> Chainloader, da er bereits die Firmware für die I/O lädt um Programme in
> den Festspeicher zu laden und die Ressourcen des MC verwaltet und
> vorbereitet. Ein reiner Bootloader enthält keine Anwendungen.

Aber jeder Bootloader muss die IOs und andere Ressourcen aktivieren um 
zu arbeiten und ein Bootloader ist nun mal dafür da um Programme in den 
"Festspeicher" zu schreiben. Was genau ist da nun bei Arduino Bootloader 
so besonders warum sollte der nun als OS klassifiziert werden.
Entscheidend für ein OS ist nicht, ob es Ressourcen NUTZT, sondern 
anderen Anwendungen zur Verfügung stellt und einteilt.

Und selbst wenn es sich um einen Chainloader handeln würde (wie kommst 
du darauf, welche anderen Bootloader werden vorher oder nachher 
aufgerufen?) was änder sich dadurch in der Betrachtung OS oder nicht OS?

> Ein reiner Bootloader enthält keine Anwendungen.
Sondern?
Ein Bootloader ist auch nur ein Anwendungsprogramm.

: Bearbeitet durch User
Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris F. schrieb:
> Ich habe nie geschrieben, dass das ganze Framework ein OS ist.
>
> Cyblord -. schrieb:
>> Seit wann ist ein Bootloader ein OS?
>
> Der Arduino-Bootloader ist auch kein Bootloader, sondern ein
> Chainloader, da er bereits die Firmware für die I/O lädt um Programme in
> den Festspeicher zu laden und die Ressourcen des MC verwaltet und
> vorbereitet. Ein reiner Bootloader enthält keine Anwendungen.

Was redest du da für einen Quark?!

Das ist ein ganz normaler Bootloader. Der Vector wird ausschließlich bei 
Reset angesprungen. Ich weiß nicht wo du das her hast, aber es wird 
weder eine Resourcen verwaltet noch vorbereitet für den eigentlich 
Programmablauf, noch lädt er während der Laufzeit irgendwelche 
"Programme" in den "Festspeicher". Er arbeitet ausschließlich für sich: 
Setzt seine Variablen, leidet seine Interruptvectoren auf seinen 
Resetvector um und zurück, und das ausschließlich beim Programmieren / 
Sprung in Vector.

Der AVR (halt der Arduino) läuft in seinem Programmcode, kommt der 
Resetvector, springt er in den Bootloader, dieser lädt das kompilierte 
HEX dann in Flash des µCs. Das wars, mehr macht der nicht... und das 
auch nur beim Programmieren.

Du solltest dich ganz dringend mit dem Thema, Bootloader und die 
allgemeine Funktionsweise eines Programmablaufes innerhalb eines µCs 
auseinandersetzen! Da hilft dir vielleicht auch mal ein Blick in eine 
ASM eines einfachen LED-Blinkers, einmal über AVR-GCC und einmal in der 
Arduino-IDE kompiliert.



Chris F. schrieb:
> Der Bootloader hat keine USB-Unterstützung, die wird durch externe
> usb-seriell-konverter realisiert, mittlerweile gibt es dafür auch
> selbstgestrickte Varianten die auf einem avr laufen, sonst kommt das in
> einem ch340, ft232 oder anderen Bauteilen.

Ebenfalls falsch.

Die "Arduinos" welche einen USB AVR AT90USB oder Mega32u4 an Board 
haben, haben natürlich keinen USB-Seriellwandler. Diese nutzen die 
HW-USB der µCs aus... schau da mal nach Arduino Leonardo z.b.


Wie gesagt Chris: belese dich bitte zu dem Thema! Du hast da 
grundsätzliche Defizite, die man eigentlich wissen muss!

Autor: BlaBla (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Ich hab' recht.... ich hab' recht.... ich hab' recht.... bla bla

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris F. schrieb:
> Der Bootloader hat keine USB-Unterstützung, die wird durch externe
> usb-seriell-konverter realisiert,

Richtig, z.B. durch ein Stück Hardware CH340 oder einen FT232. Der 
Bootloader nimmt seriell die Daten entgegen und schreibt sie in den 
Speicher, kein Stück mehr.

Beim Aurduino von einem Betriebssystem zu sprechen, ist Unfug der groben 
Art.

Autor: Arduino Fanboy (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> Beim Aurduino von einem Betriebssystem zu sprechen, ist Unfug der groben
> Art.

Beim Arduino von einem Betriebssystem zu sprechen, ist Unfug der groben
Art!

: Bearbeitet durch User
Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BlaBla schrieb:
> Ich hab' recht.... ich hab' recht.... ich hab' recht.... bla bla

Darum geht es nicht, denn falsche Behauptungen braucht man halt auch 
nicht unbedingt stehen lassen - und Chris wird ja sicherlich was dabei 
gelernt haben, und wird nun demnächst wahrscheinlich die Arbeitsweise 
eines µC mit Bootloader richtig verstehen und einsetzen können. ;-)

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.