In-system programming

The In-System Programming ( ISP) allows programming from a logic circuit directly in the application system. In addition usually a simple serial connection is used, eg JTAG or SPI. The advantage of the in-system programming is that to be programmed circuit no longer needs to be removed from the target system. It is less mechanical stress and the entire programming process is faster.

Methods

Programming with serial interfaces

To program additional serial interfaces, an In-System Programmer (ISP ), and occasionally in-circuit programmer, used, which usually represents a small and inexpensive add-on hardware with which can be correspondingly designed programmable electronic modules programmed when installed. Programming in this context means that a previously created program and / or data in the internal non-volatile memory (eg, an internal EEPROM or flash memory ) of an electronic module to be written. The possible nor necessary provision of higher programming voltage is in the microprocessor itself

Programming with bootloader

The far rarer and more complex reprogramming via USB is similar to a (device) firmware upgrade that is possible, especially in consumer electronic products. It does not require any special hardware, but needs a boot loader, virtually the program for program loading and for the USB communication. Before the first in-system programming using USB it must be given to the microcontroller using conventional methods. However, it can already be pre-programmed at the factory.

Application

Typically, at the blocks to be programmed by microcontroller system-on -a- chip devices (SoC ) or "simple " memory whose data is programmed. You must, for example, from the outside, by the ISP, be put into a programming mode.

An in-system programmer usually has a plug-in that to be programmed on, inserted block is plugged or plugged into a specially provided for this purpose on the printed circuit board connection. The in-system programmer obtains its information usually from a PC, to which it is also connected. Normally, a software takes on the PC the entire control of the programming process, so that the ISP can be kept fairly simple and inexpensive. He sits in this case, the voltage level from the PC to the appropriate values ​​for the block to.

The control software on the PC is often integrated into a corresponding programming environment for software development for the specific module. Often the ISP hardware and the PC software can read out the data already present in the block, eg to check a programming operation.

Features

Furthermore, with an ISP, if any, off special features of the electronic component. For example, so-called Fuse bits that determine whether a once- written program is no longer permanently overwritten, or the program may be read from the outside.

Impact

In-system programming is an important feature of systems, especially in the development phase, and for maintenance. It saves the constant replacement, possibly even associated with desoldering of programmed block. Not all systems that can be programmed in system, need an additional in-system programmer. Especially with consumer hardware, it has become customary that the firmware of these devices ' without any additional hardware, flashed, that is re-recorded, can be.

ISP has been made possible by the integration of flash memory and microcontrollers.

Examples

Examples of ISP -capable devices:

  • CPLD from Lattice
  • AVR
  • PICmicro
  • TI MSP430
  • LPC family of NXP
93215
de