Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. In-System-Programmierung – Wikipedia
In-System-Programmierung – Wikipedia
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von In-System Programmer)
Beispiele für die Pinbelegung für den Programmiergeräte-Anschluss

Die In-System-Programmierung (ISP), auch englisch In-circuit serial programming (ICSP), ermöglicht das Programmieren einer logischen Schaltung direkt im Einsatzsystem. Dazu wird meist eine einfache serielle Verbindung genutzt, z. B. JTAG oder SPI.[1] Der Vorteil der In-System-Programmierung ist, dass der zu programmierende Baustein sonst aus dem Zielsystem entfernt werden müsste oder vor der Montage ein weiterer Produktionsschritt zur Programmierung eingeführt werden müsste. Hintergrund: Im Zuge der Bauteileminiaturisierung werden zunehmend Chipgehäuse verwendet, die nur gelötet, aber nicht (einfach) gesteckt werden können. Sie werden so weniger mechanisch belastet, und der gesamte Programmiervorgang ist schneller und weniger potenziellen Fehlerquellen ausgesetzt.

Methoden

[Bearbeiten | Quelltext bearbeiten]

Programmierung mit seriellen Schnittstellen

[Bearbeiten | Quelltext bearbeiten]
In-System-Programmer

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 Firmware (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 eventuell noch nötige Bereitstellung von höherer Programmierspannung erfolgt üblicherweise im Elektronikbaustein selbst.

Programmierung mit Bootloader

[Bearbeiten | Quelltext bearbeiten]

Die weit seltenere und aufwändigere Neuprogrammierung über USB ist vergleichbar mit einem (Device) Firmware Upgrade, das vor allem in Produkten der Konsumelektronik möglich ist. Es kommt ohne spezielle Hardware aus, braucht aber einen Bootloader, quasi das Programm zum Programmieren und für die USB-Kommunikation. Vor der ersten In-System-Programmierung mit USB muss er dem Mikrocontroller auf herkömmlichem Weg über ein (In-System-)Programmiergerät zukommen. Er kann aber auch schon im Werk vorprogrammiert werden (Maskenprogrammierung).[2][3]

Anwendung

[Bearbeiten | Quelltext bearbeiten]

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.

Features

[Bearbeiten | Quelltext bearbeiten]

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.

Auswirkung

[Bearbeiten | Quelltext bearbeiten]

In-System-Programmierbarkeit ist eine wichtige Eigenschaft von Systemen, besonders in der Entwicklungsphase und bei der Wartung. Sie spart das ständige Auswechseln, eventuell sogar verbunden mit Auslöten, des zu programmierenden Bausteins. Nicht alle Systeme, die in system programmierbar sind, benötigen dazu einen zusätzlichen In-System-Programmer. Gerade bei Endverbrauchergeräten ist es üblich geworden, dass die Firmware dieser Geräte ohne Zusatzhardware ‚geflasht‘, das heißt neu eingespielt, werden kann. Das ist allerdings ggf. erst nach der Erstinbetriebnahme möglich, da dazu meist ein Bootloader vorhanden sein muss; siehe dazu den entsprechenden Abschnitt weiter oben.

Möglich wurde ISP durch die Integration von Flash-Speicher und Mikrocontroller.

Beispiele

[Bearbeiten | Quelltext bearbeiten]

Beispiele für ISP-fähige Bausteine:

  • CPLD von Lattice
  • AVR
  • PICmicro
  • TI MSP430
  • STM32
  • LPC-Familie von NXP

Siehe auch

[Bearbeiten | Quelltext bearbeiten]
  • In-Circuit-Emulator
  • Programmiergerät

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • ISP für MSP430 von TI
  • ISP für beliebige I2C/SPI EEPROMs via Ethernet-Schnittstelle
  • Aktuelle ISP-Programmer im Vergleich
  • Überblick über alle gängigen AVR-ISP

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ ISP auf mikrocontroller.net
  2. ↑ AVR_In_System_Programmer auf mikrocontroller.net
  3. ↑ USB DFU Bootloaders (PDF-Datei; 853 kB) für AVR Microcontroller von Atmel
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=In-System-Programmierung&oldid=232685332“
Kategorien:
  • Programmierung
  • Mikroelektronik

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id