Was ist ICSP?

» home «

Was ist eigentlich ISP bzw. ICSP? Viele Controllerboards bieten diese Schnittstelle, jedoch ist kaum beschrieben was ICSP überhaupt ist - genau das klärt dieser Beitrag.

Die In-System-Programmierung (ISP) ermöglicht das Programmieren einer Logischen Schaltung direkt im Einsatzsystem. Dazu wird meist eine einfache serielle Verbindung genutzt, z. B. JTAG oder SPI. Der Vorteil der In-System-Programmierung ist, dass der zu programmierende Schaltkreis nicht mehr aus dem Zielsystem entfernt werden muss. Er wird weniger mechanisch belastet und der gesamte Programmiervorgang ist schneller.

Programmierung mit serieller Schnittstelle

Zur Programmierung über zusätzliche serielle Schnittstellen wird ein In-System-Programmer (ISP), gelegentlich auch In-Circuit-Programmer, benutzt, der üblicherweise eine kleine Zusatzhardware darstellt, mit der sich dafür ausgelegte programmierbare Elektronikbausteine im eingebauten Zustand programmieren lassen. Programmieren in diesem Zusammenhang bedeutet, dass ein zuvor erstelltes Programm und/oder Daten in den internen, nichtflüchtigen Speicher (z. B. ein internes EEPROM oder Flash-Speicher) eines Elektronikbausteins geschrieben werden. Die eventuelle noch nötige Bereitstellung von höherer Programmierspannung erfolgt im Microprozessor selbst.

Typischerweise handelt es sich bei den zu programmierenden Bausteinen um Mikrocontroller, System-on-a-Chip-Bausteine (SoC) oder um „einfache“ Speicher, deren Daten programmiert werden. Sie müssen sich z. B. von außen, durch den ISP, in einen Programmiermodus versetzen lassen. Ein In-System-Programmer besitzt üblicherweise eine Steckverbindung, die auf den zu programmierenden, eingebauten Baustein aufgesteckt wird oder an einen extra für diesen Zweck auf der Leiterplatte vorgesehenen Anschluss angesteckt wird. Der In-System-Programmer bezieht seine Daten üblicherweise von einem PC, mit dem er ebenfalls verbunden ist. Im Normalfall übernimmt eine Software auf dem PC die gesamte Steuerung des Programmierablaufs, so dass der ISP recht einfach und preiswert gehalten werden kann. Er setzt in diesem Fall die Spannungspegel vom PC in für den Baustein geeignete Werte um. Die Steuersoftware auf dem PC ist häufig in eine entsprechende Programmierumgebung zur Softwareerstellung für den spezifischen Baustein integriert. Häufig kann die ISP-Hardware und die PC-Software auch die bereits im Baustein vorhandenen Daten auslesen, z. B. zur Kontrolle eines Programmiervorgangs.

Fuse Bits

Weiterhin lassen sich mit einem ISP, soweit vorhanden, auch spezielle Funktionen des Elektronikbausteins schalten. So zum Beispiel sogenannte Fuse-Bits, die festlegen, ob ein einmal geschriebenes Programm permanent, nicht mehr überschreibbar ist, oder das Programm von außen ausgelesen werden darf.

In der Praxis

Das Arduino ISP ist ein kompakter AVR-ISP (In-System Programmer), der auf David Mellis Projekt FabISP basiert. Mithilfe des Programmiergeräts lassen sich Arduino Sketches hochladen und auch der Bootloader auf alle AVR-basierten Boards inkl. Arduinos mit ISCP-Stiftleiste brennen. Verwenden Sie diesen externen Programmer um z.B. den Bootloader zu entfernen und nutzen Sie den zusätzlichen Speicher für Ihr Sketch.

Nutzen Sie den Arduino ISP, um den Arduino Bootloader auf den Mikrocontroller zu brennen und stellen Sie damit z.B. Boards wieder her, die über einen korrumpierten Bootloader verfügen. Ebenfalls können Sie neue ATmega Mikrocontroller über die serielle Schnittstelle Ihres Computers mit dem Arduino Bootloader bespielen und damit für den eigenständigen Einsatz auf dem Arduino Board vorbereiten.

Oliver Lohse   •  3.Jan.2021

Navigation


home
Omega 2
ESP32 NodeMCU
Arduino
Raspberry Pi
Python
PHP

Es geht um den heißem Scheiß über den alle reden - IoT (das Internet der Dinge). Doch zunächst der rechtliche Teil auf dieser rein privat betriebenen Webseite.

Die Webseite verwendet keine Cookies oder sonstigen Tracking-Tools, um das Leserverhalten zu speichern.

AT Befehle HC-05, HC-06


Der HC-05 ist ein preiswertes Bluetooth Modul und kann, im Gegensatz zum HC-06, sowohl als Master und auch als Slave arbeiten. Dieser Beitrag zeigt wichtige AT Befehle um ihn mit Hilfe des ARDUINO Boards einzurichten und für eine Verbindung vorzubereiten.

MicroPython installieren


Installieren Sie auf der NodeMCU ESP32 (resp. NodeMCU ESP8266) Micropython und die Thonny IDE in sechs einfachen Schritten, der Beitrag zeigt Ihnen wie einfach das geht.


© by O.Lohse • Impressumhome