1zu160 - Forum



Anzeige:
AP Modellbahn - Die Modellbahnverwaltung

THEMA: Arduino Bootloader auf atmega 328

THEMA: Arduino Bootloader auf atmega 328
Startbeitrag
didi3003 - 02.10.13 21:36
Hallo Kollegen,
meine Frage ist eigentlich mehr für Programmierer,
ich stelle sie aber trotzdem hier,vielleicht hat doch der eine oder andere die Lösung.

Es geht um folgendes:
Brennen des Arduino Bootladers auf Atmega 328 P-Pu Mikrocontroller.
Da ich sowas noch nie gemacht habe(absolut keine Ahnung von der Materie),
und nach ausgiebigem googlen noch verwirrter bin frage ich mal an die Spezialisten ob jemand vielleicht eine einfache Anleitung hat.
Sollte mir jemand den Bootloader aufbrennen können wäre das noch besser.

Ich hoffe ihr könnt mir irgendwie weiterhelfen.

Danke und Gruß

                         Dietmar

Wenn du ein paar mehr Informationen gibst, ist dir leichter zu helfen. Normalerweise kommen Arduino-Boards mit fertig aufgespieltem Bootloader. Wenn nicht, unterstuetzt die Arduino IDE zig verschiedene Programmer, mit denen man den Bootloader wieder aufspielen kann. Am Billigsten sind die diversen USB-ASP Varianten von eBay.

Gruss,
  Peter
Hallo Peter,
ich habe ein Arduino Uno,alles funktioniert einwandfrei mit dem Mikrocontroller der im Lieferzustand vorhanden ist.
Nun habe ich einige Atmega 328P-PU hier liegen,ohne Bootloader,und diese laufen nicht auf dem Arduino.
Mein Ziel ist es die Controller zu programmieren um diese dann auf externe Platinen zu verbauen.
Da ich die 328er zur Verfügung habe möchte ich die auch verwenden,auch wenn deren Speicher wahrscheinlich viel zu groß für meine Vorhaben sind.
Da ich wie erwähnt ein Anfänger in Sachen Programmieren bin suche ich eine einfache und leicht verständliche Möglichkeit  den Bootloader aufzuspielen.
Ein Programmiergerät habe ich nicht,sollte ich mir doch mal zulegen da man das anscheinend öfter braucht,nur welches genau ?
Es gibt ja eine riesige Anzahl der verschiedensten Programmiergeräte.
Gruß Dietmar
Hallo,
Laut der Arduino Developement Environment Doku bietet die SW eine möglichkeit um den bootloader aufzuspielen:

Burn Bootloader
The items in this menu allow you to burn a bootloader onto the microcontroller on an Arduino board. This is not required for normal use of an Arduino board but is useful if you purchase a new ATmega microcontroller (which normally come without a bootloader). Ensure that you've selected the correct board from the Boards menu before burning the bootloader.

http://arduino.cc/en/Guide/Environment?from=Tutorial.Bootloader

Hab jetzt leider weder PC noch arduino zur Hand also kann ich dir nur so weit helfen.
lg Lukas
Hallo,

der Menüpunkt "Burn Bootloader" ist dafür gedacht. Man benötigt dazu entweder ein Atmel-AVR-Programmiergerät (z.B. von Atmel, myAVR, Olimex etc.) oder einen Arduino, den man zur Not auch als Programmer nutzen kann ("Arduino as ISP") - zum einmaligen Schreiben des Bootloaders reicht es alle mal. Wenn man einen AVR-Programmer hat, kann man sich den ganzen Zirkus mit dem Bootloader schenken und das Programm direkt flashen. Vorteile: Der volle Flash-Speicher steht für die Anwendung zur Verfügung und das Programm startet sofort.

Grüße, Peter W.
Hallo zusammen,
scheint doch komplizierter zu sein als ich dachte.
Mein Gedanke war einen Chip ohne Bootloader auf dem Arduino zu setzen und durch klick auf Menüpunkt  Burn Bootloader  den Chip mit Bootloader zu versehen und somit brauchbar für Arduino zu machen.
Wenn ich euch bisher richtig verstehe geht das nur unter Anwendung eines Programmiergerätes,oder eines weiteren Arduino Uno,oder wie ich gelesen habe mit einem Selbstbau auf einem Steckbrett.
Ich finde das alles sehr umfangreich,eine detailierte Anleitung zu meinem Vorhaben in Wort und Bild,bevorzugt in deutscher Sprache,wäre sehr hilfreich.
Ich bin halt sehr dumm und unwissend was das programmieren betrifft.

Auf weitere Antworten bin ich schon gespannt,allen die schon geantwortet habe herzlichen Dank.

Gruß
          Dietmar
Arduino hin oder her... was willst Du eigentlich machen? Brauchst Du wirklich die Funktionalität des Arduino oder willst Du selber Software bauen, die einfach mal was macht? Kompliziert ist eigentlich gar nix, nur wahrscheinlich einfach "neu" für Dich, was aber auch nicht hilft, geb ich auch zu.

Wir haben für November einen uC-Einsteiger-Kurs geplant. Falls Du an den Niederrhein kommen magst, bist Du herzlich willkommen. Dort werden wir mit einem "nackten" Controller beginnen und ihm nach und nach ein paar Funktionen entlocken. Wie weit wir dabei kommen, hängt von den Teilnehmern ab.

Es geht aber darum erst mal die Tools zu installieren (binutils,gcc/g++,avrlibc) und die Programmiersoftware (avrdude) und dann gehts auch schon los mit C/C++ Programmierung. Bin selber gespannt, was wir am Ende schaffen

Gruß
Klaus


Also ich sehe fuer dich zwei "einfache" Moeglichkeiten:

Den Arduino als ISP (also als Programmiergeraet) verwenden. Dabei bleibt dein "fertiger" Controller im Arduino-Board und der "frische" Controller muss auf eine eigene Platine. Nun weiss ich nicht, was fuer Zielplatinen du dir ausgesucht hast, idealerweise sollten sie einen ISP-Anschluss haben. Dann kannst die Zielplatine an den Arduino anschliessen, den Arduino an den Rechner und mit der Arduino IDE programmieren. Hier ist auch ein Tutorial dazu: http://arduino.cc/en/Tutorial/ArduinoISP

Die andere Variante ist, sich einen "richtigen" ISP zu besorgen. Wie gesagt, USB-ASP gibt es sehr guenstig auf eBay: http://www.ebay.de/sch/i.html?_sacat=0&_fr...=usbasp&LH_BIN=1 Dann geht es so: Frischen Controller in den Arduino, den Arduino an den USB-ASP haengen, den USB-ASP an den Rechner und mit der Arduino-IDE den Bootloader aufspielen.

Die zentrale Frage ist, was fuer Zielplatinen du hast. Die Idee am Bootloader ist ja, dass du den Controller dann im Zielboard ohne Programmer seriell oder via USB programmieren kannst. Wenn die Zielplatine weder Serielle Schnittstelle noch USB hat, bringt dich das nicht wirklich weiter.

Wenn du bisher weder programmieren kannst, noch mit Elektronik Erfahrung hast, ist der Mikrocontroller-Einstieg natuerlich eine grosse Huerde. Ideal ist eigentlich, erst mal auf dem Rechner grundlegende Programmierkentnisse zu erlernen. Dann mit fertiger Hardware arbeiten, die man nur mit Peripherie erweitert. Und dann erst den Schritt zu eigenen Platinen.

Gruss,
  Peter
Hallo Klaus,Hallo Peter,
meine Vorhaben sind erstmal Steuerung von Beleuchtungen auf der Moba,später dann auch Motorenansteuerung,und dann mal sehen wie mein Lernvermögen ist und demnach urteilen was ich noch anstellen kann.
Nach lesen im Web finde ich Arduino eine tolle Sache die mich begeistert,auch bei Rückschlägen oder kaum vorankommen weil ich nicht alles verstehe.
Mit 328er mit Bootloader geht ja schon was,nur die nackten wollen nicht so wie ich.
Fazit:
Ich werde mir ein weiteres Arduino Uno sowie ein Programmer besorgen,oder nochmals den Versuch auf dem Breadboard angehen,dann im Web noch viel nachlesen,mit viel Geduld sollte es schon irgendwann klappen.
Leider ist diesbzgl. viel in englischer Sprache,der Übersetzer ist auch nicht unbedingt der Hit.

Danke und Gruß  vom optimistischen Dietmar
HI Dietmar,

programmieren und Mikrocontroller ohne ausreichende Englischkenntnisse ist natuerlich extra muehsam. Ich habe hier noch ein Tutorial gefunden zum Arduino als ISP, aber eben auch wieder auf Englisch:

http://www.open-electronics.org/arduino-isp-in-...tand-alone-circuits/

Gruss,
  Peter
Hello!

Für einfache Umsetzung von Projekten eignet sich der Arduino Mini hervorragend um in ein Design eingefügt zu werden. Die Dinger kosten so wenig da zahlt sich Selbstbau nicht aus. Die haben eine kleine Platine mit 2.54'er SIL-Leisten. Das spart selbst eine Platine schnitzen. Mit dem drumrum wie Quarz, Reset Logik udglm überschreitet man schnell €10-15,- und mehr kostet der Mini auch nicht.

Zum Programmieren: Nimm einen 2. Arduino und verwende den als Programmiergerät. Man braucht keinen MKII oder ähnliches dazu. Auf den deutschen fritzling Seiten steht das glaub' ich auch beschrieben. Dieses Programmiergerät geht dann zur ICSP Schnittstelle des zu programmierenden "leeren" Prozessors. Entweder den Prozessor auf einen Arduino auflöten oder auf E-Pray einen Sockel fischen und den auflöten um darin die leeren Prozessoren einstecken zu können. Diese Vorgangsweise bietet eine schnelle Lösung um den Prozessor mit Strom zu versorgen und den Bootloader zu schreiben. Das Programmieren erfolgt dann direkt aus der Arduino IDE.

Alternativ dazu wenn es nicht wirklich viele Prozessoren sind die zu programmieren sind empfehle ich in eine Elektronikwerkstatt zu gehen. Die haben diverse Universal-Lader und zumeist auch eine große Schachtel an Sockeladapter für Deinen Chip. Dort einfach bitten den Bootloader reinzuschießen. Der Bootloader befindet sich im Arduino Verzeichnis am PC, den muss man mitbringen. Der Bootloader liegt unter [ArduinoWurzelVerzeichnis]\arduino-1.0.5\hardware\arduino\bootloaders Das Programmieren dauert nur wenige Sekunden. Ich habe hier in Wien herumgefragt (als BG Info für einen Artikel über Arduino in der kommenden DiMo) und bei verschiedenen Firmen sowas gefunden. Mobiltelefon Werkstätten, KFZ Elektronik, Elektronik Ingenieurbüros, Bauteil Händler. Wennst im Osten Österreichs bist komm' zu mir ich mach' Dir das.
-AH-
Hallo,

Du solltest vielleicht auch in einem Arduino-Forum nachfragen. Dort gibt es mehr Leute, die sich mit so etwas auskennen.

Zum Thema s. http://arduino.cc/en/Tutorial/ArduinoISP

Hab' ich auch schon gemacht, nachdem ich meinen zerschossen hatte. Unter den Beispielen ist ein Programm "ArduinoISP", unter Tools -> Programmer wählst Du "Arduino as ISP". Die genauen Einstellungen weiß ich allerdings nicht mehr.

Die CPU lässt sich wunderbar "nackt", also ohne Standardboard betreiben. Man braucht nur CPU, Quarz, 2 Kondensatoren, 1 Widerstand. Laut Datenblatt läuft die CPU auch ohne Quarz, dann mit etwa halber Geschwindigkeit. Habe ich probiert, ist mir aber nicht gelungen. Die CPU sprang in der Schaltung ohne Quarz einfach nicht an. Macht aber nichts.

Viele Grüße
Zwengelmann
Zitat - Antwort-Nr.: | Name:

Laut Datenblatt läuft die CPU auch ohne Quarz, dann mit etwa halber Geschwindigkeit. Habe ich probiert, ist mir aber nicht gelungen. Die CPU sprang in der Schaltung ohne Quarz einfach nicht an. Macht aber nichts.



Hi,

hattest du die Fuse-Bits auch passend dafuer gesetzt?

Gruss,
  pst.
Immer diese Kleinigkeiten Erst 'ne Sicherung raushauen, damit die CPU läuft. Eine seltsame Welt

Aber in der Tat wird es mehr nicht gewesen sein. Man sollte sich aber nicht die ISP Fuse mit abschalten. Dann wird die Kommunikation in Zukunft schwierig. Neuere AVRs erlauben das zum Glück nicht mehr.

Gruß
Klaus




Nur registrierte und eingeloggte User können Antworten schreiben.
Einloggen ->

Noch nicht registriert? Hier können Sie Ihren kostenlosen Account anlegen: Neuer N-Liste Account





Zum Seitenanfang

© by 1zu160.net;