heise online Logo
Anmelden
Menü
  • c't – Magazin für Computertechnik
  • iX – Magazin für professionelle Informationstechnik
  • MIT Technology Review – Das Magazin für Innovation von Heise
  • c't Fotografie - Das Magazin rund ums digitale Bild
  • Mac & i – Nachrichten, Tests, Tipps und Meinungen rund um Apple
  • Make – Kreativ mit Technik
  • Alle Magazine im Browser lesen
IT News
  • Newsticker
  • heise Developer
  • heise Netze
  • heise Open Source
  • heise Security
Online-Magazine
  • heise+
  • Telepolis
  • heise Autos
  • TechStage
  • tipps+tricks
Services
  • Stellenmarkt heise Jobs
  • Weiterbildung
  • heise Download
  • Preisvergleich
  • Whitepaper/Webcasts
  • DSL-Vergleich
  • Netzwerk-Tools
  • Spielen bei Heise
  • Loseblattwerke
  • iMonitor
  • IT-Markt
Heise Medien
  • heise Shop
  • Abo
  • Veranstaltungen
  • Arbeiten bei Heise
  • Mediadaten
  • Presse
Anzeige Go! Schule morgen
Newsletter heise-Bot heise-Bot Push Nachrichten Push Push-Nachrichten
make
  • Newsletter
  • Kontakt
  • Heft
  • Mitmachen
  • Foren
  • Über uns
maker_faire
  1. Make
  2. Hintergrund
  3. Microcontroller flashen: Arduino Uno als In-System-Programmer

Microcontroller flashen: Arduino Uno als In-System-Programmer

Hintergrund 04.08.2015 16:54 Uhr Daniel Bachfeld
Arduino Uno als Programmer für PIC
Inhaltsverzeichnis
  1. Microcontroller flashen: Arduino Uno als In-System-Programmer
  2. Fremdgänger
  3. Sicherungen
  4. PICs programmieren
  5. Fazit
  6. Auf einer Seite lesen

Die Arduino-Plattform hat sich in der Bastlerszene unter anderem auch deshalb durchgesetzt, weil man keine speziellen Adapter benötigt, um ein Programm in den Flash-Speicher des Mikrocontrollers zu schreiben. Praktischerweise lässt sich der Arduino sogar selbst als Universal-Programmieradapter nutzen, um einzelne Mikrocontroller wie AVRs und PICs zu flashen.

Zutaten:
  • Arduino Uno
  • Breadboard
  • Drahtbrücken
  • Elko, 10µF

Ein Arduino eignet sich fürs Prototyping bestens. Mit mehr als 20 Euro ist der stationäre Einsatz in einer Schaltung allerdings nicht ganz billig, vor allem wenn ein ATmega für ein paar Euro und ein paar weitere Bauteile ausreichen würden. Während beim Arduino der Bootloader über die herkömmliche serielle Schnittstelle (via USB2Serial-Wandler) mit einem PC spricht, programmiert man einen "nackten" ATmega in der Regel direkt "In System" über sein Serial Peripheral Interface (SPI). Ein normaler PC unterstützt zwar die normale asynchrone, serielle RS232-Schnittstelle, jedoch nicht die synchrone SPI. Deshalb benötigt man einen Übersetzer – einen Programmer. Die Bandbreite reicht dabei von billigen Modellen wie den USBasp über den "AVR ISP" bis hin zu ganzen Evaluierungsboards wie dem STK500 beziehungsweise STK600.

Die Arduino-IDE unterstützt verschiedene externe Programmer. Auch der USBasp findet sich neben dem hauseigenen ArduinoISP.

Zum Flashen des Controller-Speichers arbeitet der externe Programmer als sogenannter Master, der den Atmel-Prozessor (Slave) steuert. Über die Reset-Leitung RST (Low) bringt er den Atmel in den programmierbereiten Zustand. Den Takt für die Datenübertragung gibt der Master über die Leitung SCK vor. Über die Leitung MOSI (Master Out, Slave in) sendet er Befehle an den Slave, die in der Regel aus vier Bytes bestehen. Das erste Byte signalisiert die gewünschte Operation und den Zielspeicher, etwa ob in das Flash oder das EEPROM geschrieben werden soll. Die Bytes zwei und drei enthalten die Speicheradresse; zuletzt kommt das Datenbyte.

Die Arduino-IDE bringt in den Beispielen bereits den Sketch für ArduinoISP mit. Den muss man zuerst per Upload in der Arduino übertragen.

Über die Leitung MISO (Master In, Slave Out) kann der Programmer hingegen nach Übermittlung des passenden Befehls Daten auslesen. Zwischen den Operationen sind gewisse Pausen einzuhalten. Genauere Details zum Ablauf beschreibt Atmel in seiner frei verfügbaren Application Note AVR910 [PDF]. Diese haben die Arduino-Entwickler genutzt, um mit ihren Boards einen AVR-Programmer nachzubilden. Auf diese Weise kann man im ersten Schritt mit einem Arduino sein Programm austesten und im zweiten Schritt denselben Arduino (mit einem anderen Sketch) nutzen, um das Programm in einen externen ATmega zu brennen.

Vorherige 1 2 3 4 5 Nächste
Kommentare lesen (2 Beiträge)

Mehr zum Thema

  • Arduino

Forum bei heise online: Arduino und Mikrocontroller

Teile diesen Beitrag

https://heise.de/-2769246 Drucken
Eigenwerbung
Das aktuelle Heft
Cover der aktuellen Ausgabe von Make

Die Make 2/2022 können Sie ab sofort im Zeitschriftenhandel und Heise Shop kaufen. Auf 114 Seiten u.a. mit diesen Themen: Pneumatik für Maker · Teslaspule · Bilderrahmen mit buntem ePaper · Energiemessung

Heft bestellen
Vorschau

Die Make 3/22 erscheint am 2. Juni 2022.

Anzeige
  • So geht intelligentes Gebäudemanagement
  • OPPO Find X5 Pro: Fotos und Videos auf professionellem Niveau
  • Zuverlässiger Zugriff dank Zero Trust
  • Wie IT zu nachhaltigem Wirtschaften beitragen kann
  • Sicher entwickeln im Open-Source-Universum
  • Kundenservice mit künstlicher Intelligenz
  • Wann lohnt es sich, die IT-Security auszulagern?
  • Weniger Umweltbelastung durch die IT
  • Die richtige Online-Strategie für Unternehmen
  • Klimaschutz durch intelligentes Data-Center-Design
Eigenwerbung
Make Education
Fünf Kinder sitzen um einen Roboterarm, an dem ein Mädchen schraubt.

Kostenlose Make-Artikel für Lehrkräfte

Make Education unterstützt Lehrerinnen und Lehrer bei der kreativen und praxisorientierten Unterrichtsgestaltung in den naturwissenschaftlichen Fächern. Jetzt anmelden!

Termine

Fehlt eine Veranstaltung? Termin eintragen

Make Jetzt im heise Shop:

Eigenwerbung
Make-Archiv

Das digitale Jahresarchiv

  • Recherchieren, Durchsuchen, Archivieren
  • Auch verfügbar: Jahresarchiv 2021!
  • Für Abonnenten im heise Shop zum Sonderpreis
Direkt bestellen!
  • Aktuell
  • Hintergrund
  • Projekte
    • Smart Home
  • Heft
  • Mitmachen
  • Foren
    • Elektronik Arduino Raspberry Pi 3D-Druck
  • Über uns
  • Newsletter
  • Kalender
  • Service
    • Twitter
    • Facebook
    • YouTube
    • Instagram
    • RSS
  • Datenschutz
  • Cookies & Tracking
  • Impressum
  • Kontakt
  • Barriere melden
  • Mediadaten
  • 1560610
  • Content Management by InterRed
  • Hosted by Plus.line
  • Copyright © 2022 Heise Medien