Was hat es mit einem Bootloader auf sich?

Ich plane, einen ATmega328-Chip von Atmel zu kaufen, ihn in mein Arduino-Board zu stecken, zu programmieren, später zu entfernen und dann auf eine Leiterplatte zu löten.

Kann ich den Chip einfach kaufen und auf dem Arduino-Board programmieren, oder muss er einen Arduino-Bootloader haben?

Sie können Ihr vorhandenes Arduino-Board als ISP-Adapter verwenden, um einen Bootloader und/oder ein Anwendungsprogramm in Ihren neuen Chip zu programmieren, nachdem Sie ihn auf Ihrem Board platziert haben.
@user3731004 - was ist ein "Atmel385"? Atmel erkennt es nicht, noch erkennen sie atmega385 oder attiny385. Meinst du Atmega328 ?
@ user3731004 - wird der Chip auf der Zielplatine "wie ein Arduino aussehen" ("dann auf eine Platine löten")? Das heißt, wäre es in der Lage, sich über serielle E / A neu zu programmieren , nachdem es in die Zielplatine gelötet wurde?
Wenn Sie einen Bootloader im Arduino-Stil programmieren (oder damit kaufen), ja. Ansonsten nein.
@gbulmer, ja ich meinte einen Atmel328, Entschuldigung

Antworten (2)

Nein, Sie können nicht "... einfach den Chip kaufen und auf dem Arduino-Board programmieren"

Wenn Sie keinen vorprogrammierten ATmega328 kaufen, benötigen Sie einen seriellen In-Circuit-Programmierer.

Atmel verkauft das AVRISP mkII . Nur zur Orientierung, Sie zahlen möglicherweise über 30 GBP für eines davon.

Es gibt kostengünstigere Optionen, die auf dem Open Source USBtiny basieren

Es wurde verbessert und von Ladyada in einen Bausatz verwandelt

Ein Freund hat eines von einer bekannten Marktplatz-Website gekauft, und es funktioniert gut. Ich habe nur kurz nachgesehen und festgestellt, dass es ohne Plastikgehäuse für unter 5 £ fertig ist. YMMV

Es gibt auch ein Ladyada DIY-Shield-Projekt, um den Arduino in einen Programmierer zu verwandeln

Es gibt mehrere Projekte, die noch einfacher sind, zB Mega-ISP mit Steckbrett als Sockel für den unprogrammierten ATmega

Ich würde dich auch weiterempfehlen

  1. Setzen Sie einen 2x3-Pin-ISP-Header auf Ihre neue Platine und verbinden Sie ihn korrekt mit dem Chip, damit er zum Programmieren des Chips verwendet werden kann, wenn er an Bord ist. dies impliziert, dass RESET und SPI verwendet werden können, ohne dass das eingebettete System kaputt geht oder sich falsch verhält, oder
  2. Löten Sie den Chip nicht in die Platine, sondern verwenden Sie stattdessen einen Sockel, damit Sie ihn herausziehen können

Dann ist es einfach, den Chip neu zu programmieren, wenn Sie einen Fehler im Code finden oder eine Änderung vornehmen müssen; beides ist sehr verbreitet. Andernfalls wird es schwierig, es zu beheben.

Zusammenfassung
Wenn Sie bereits ein Arduino und ein Steckbrett haben, dann haben Sie alles, was Sie zum Programmieren eines ATmega benötigen. Sie müssen keinen In-Circuit Serial Programmer (ISP) kaufen, und Sie werden den unprogrammierten ATmega nicht in den Arduino stecken. Wenn Sie dies jedoch häufig tun, ist ein ISP eine vernünftige Investition.

Ja.

Das heißt, es ist möglich, es ohne den Arduino-Bootloader zu programmieren, aber nicht über die serielle Schnittstelle. Ohne den Bootloader müssen Sie ISP verwenden, um Code und Daten in den Flash und EEPROM hochzuladen; Sobald der Bootloader installiert ist, kann stattdessen die serielle Verbindung verwendet werden.

Beachten Sie, dass Sicherungen und Sperrbits nicht über die serielle Schnittstelle, sondern nur über den ISP programmiert werden können. Sie sollten also wahrscheinlich trotzdem in einen ISP-Programmierer investieren.