Content deleted Content added
Hierophect (talk | contribs) improved description |
Updated reference to formally published books |
||
Line 11:
[[Image:Isp headers.svg|thumb|6- and 10-pin AVR ISP headers]]
'''In-system programming''' (ISP), also called '''in-circuit serial programming''' (ICSP), is the ability of some [[programmable logic device]]s, [[microcontroller]]s, and other [[embedded device]]s to be programmed while installed in a complete system, rather than requiring the chip to be programmed prior to installing it into the system. It allows firmware updates to be delivered to the on-chip memory of microcontrollers and related processors without requiring specialist programming circuitry on the circuit board, and simplifies design work. <ref>[https://www.oreilly.com/library/view/designing-embedded-hardware/0596007558/ch01.html''Oreilly, Designing Embedded Hardware, 2nd Edition by John Catsoulis'']</ref>
There are several mutually-incompatible in-system programming protocols for programming [[microcontroller]] devices, including [[PIC microcontroller]]s, [[Atmel AVR|AVRs]], and the [[Parallax Propeller]]. ICSP has been primarily implemented by [[Microchip Technology]] for programming PIC and dsPIC devices.
Line 21:
Typically, chips supporting ISP have internal circuitry to generate any necessary programming voltage from the system's normal supply voltage, and communicate with the programmer via a serial protocol. Most programmable logic devices use a variant of the [[JTAG]] protocol for ISP, in order to facilitate easier integration with automated testing procedures. Other devices usually use proprietary protocols or protocols defined by older standards. In systems complex enough to require moderately large [[glue logic]], designers may implement a JTAG-controlled programming subsystem for non-JTAG devices such as [[flash memory]] and microcontrollers, allowing the entire programming and test procedure to be accomplished under the control of a single protocol.
== Devices supporting In-System Programming ==
An example of devices using ISP is the [[Atmel AVR|AVR]] line of micro-controllers by [[Atmel]] such as the [[ATmega#Basic families|ATmega]] series.▼
A number of devices presently support in-system programming. These include;
ARM processors.
AVR Microcontrollers
PIC Microcontrollers
8051 based Microcontrollers
▲
== Microchip ICSP ==
Line 62 ⟶ 69:
==References==
{{reflist}}
==See also==
|