In-System-Programmierung

In-System-Programmierung

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.[1] 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.

Inhaltsverzeichnis

Methoden

Programmierung mit seriellen Schnittstellen

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 und preiswerte 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. [2]

Programmierung mit Bootloader

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

Anwendung

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

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

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 Consumer-Hardware ist es üblich geworden, dass die Firmware dieser Geräte ohne Zusatzhardware ‚geflasht‘, das heißt neu eingespielt, werden kann.

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

Beispiele

Beispiele für ISP-fähige Bausteine:

Siehe auch

Einzelnachweise

  1. ISP auf mikrocontroller.net
  2. http://en.wikipedia.org/wiki/In-system_programming
  3. AVR_In_System_Programmer auf mikrocontroller.net
  4. USB DFU Bootloaders für AVR Microcontroller von Atmel

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • System i — Modell 570 mit Power 6 Prozessoren (Oktober 2007) i5 Modell 570 (2006) Syst …   Deutsch Wikipedia

  • System i5 — System i Modell 570 mit Power 6 Prozessoren (Oktober 2007) i5 Modell 570 (2006) System i (frühere Namen AS/400 oder eServer iSeries oder System i5) ist eine Computer Baureihe der Firma IBM. IBMs Systeme …   Deutsch Wikipedia

  • System Center Operations Manager Command Shell — Windows PowerShell Screenshot von PowerShell 1.0 Basisdaten Entwickler: Microsoft Corporation Aktuelle Version …   Deutsch Wikipedia

  • System/36 — Das System/36, Kurzform /36, ist ein Computermodell der Firma IBM. Das System ist ein Mehrbenutzer und Multithreadsystem. IBM System/36 Inhaltsverzeichnis 1 Geschichte 2 Modelle und Hardware …   Deutsch Wikipedia

  • System/S36 — Das System/36, Kurzform /36, ist ein Computermodell der Firma IBM. Das System ist ein Mehrbenutzer und Multithreadsystem. IBM System/36 Inhaltsverzeichnis 1 Geschichte 2 Modelle und Hardware …   Deutsch Wikipedia

  • System Engineering — Systems Engineering Techniken werden in komplexen Entwicklungsprojekten angewendet Systems Engineering (auch Systems Design oder Systems Design Engineering) ist ein interdisziplinärer Ansatz, um komplexe technische Systeme in großen Projekten zu… …   Deutsch Wikipedia

  • System-Test — Ein Softwaretest ist ein Test während der Softwareentwicklung, um die Funktionalität einer Software an den Anforderungen und ihre Qualität zu messen, und Softwarefehler zu ermitteln. Inhaltsverzeichnis 1 Definition 2 Ziele 3 Testplanung …   Deutsch Wikipedia

  • System/34 — Techniker Konsole Platinen (SLT Technik) …   Deutsch Wikipedia

  • System Load — Load bezeichnet die momentan laufenden oder auf bestimmte Ereignisse wartenden Prozesse auf einem Computersystem. Man spricht dabei davon, dass „der Rechner einen Load von X hat“ (wobei X eine reelle Zahl größer gleich null ist). Sie wird… …   Deutsch Wikipedia

  • System Management Language — Die System Management Language (abgekürzt SML, Sml oder ISM/SML) ist ein Dialekt der Programmiersprache LISP, der seit den 1990er Jahren vor allem auf Großrechnern der Firma Bull Computer eingesetzt wird. Er ist als Skriptsprache enthalten in der …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”