Внутрисхемное программирование

Внутрисхемное программирование

Внутрисхемное программирование (англ. In-System Programming, сокр. ISP) — технология программирования электронных компонентов (ПЛИС, микроконтроллеры и т. п.), позволяющая программировать компонент, уже установленный в устройство. До появления этой технологии компоненты программировались перед установкой в устройство, для их перепрограммирования требовалось их извлечение из устройства.

Главным преимуществом технологии является возможность объединения процесса программирования и тестирования при производстве, исключив отдельную фазу программирования компонентов перед окончательной сборкой. Технология также позволяет производителям устройств обойтись без закупки заранее запрограммированных компонентов, выполняя программирование прямо в процессе производства. Это позволяет снизить стоимость производства и вносить изменения в программируемую часть устройства без остановки производства.

Микросхемы, имеющие возможность внутрисхемного программирования, обычно имеют специальную схему, генерирующую напряжения, необходимые для программирования, из обычного напряжения питания, а также схему для коммуникации с программатором посредством последовательного интерфейса. Большинство микросхем используют вариации протокола JTAG.

Существуют два основных способа ISP: а) программатор работает с ПЗУ и EEPROM микроконтроллера (МК) как с внешней памятью, самостоятельно размещая байты прошивки по нужным адресам. Ядро МК при этом не задействовано, а выводы переведены в высокоимпедансное состояние; б) используется bootloader - небольшая программа, записанная, обычно, в конце ПЗУ МК. При этом сектор ПЗУ, отведёный под bootloader, должен быть отмечен тем или иным способом. Обычно, установкой fuse бит в состояние, указывающее на наличие bootloader-а и объём ПЗУ (с конца) под него отведённый. В этом случае при старте МК управление передаётся сначала bootloader-у (вектор старта переносится с нулевого адреса ПЗУ на первый байт сектора bootloader-а). Bootloader проверяет наличие заранее определённых условий (комбинации сигналов на выводах МК, состоянии переменной в EEPROM и т.п.) и если условия не совпадает, передаёт управление основной программе. Если же условия совпадают, bootloader переходит в режим программирования, готовый принимать данные через любой, заранее определённый программистом, интерфейс и размещать их в ПЗУ. При этом МК программирует "сам себя".

Преимущество bootloader-а в том, что возможно программирование МК через любой имеющийся у него интерфейс любым удобным протоколом (даже зашифрованным, если bootloader возьмет на себя и расшифровку). Bootloader удобен при удалённом обновлении прошивки МК. Недостаток - часть ПЗУ недоступна для размещения основной программы.



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Внутрисхемное программирование" в других словарях:

  • PIC — У этого термина существуют и другие значения, см. PIC (значения). О микросхеме Intel 8259A см. Контроллер прерываний …   Википедия

  • Intel 8051 — Intel P8051 Intel 8051  это однокристальный микроконтроллер (не путать с процессором) гарвардской архитектуры, который был впервые произведен Intel в 1980 году …   Википедия

  • КР1816ВЕ51 — Intel P8051 Intel 8051  это однокристальный микроконтроллер (не путать с процессором) гарвардской архитектуры, который был впервые произведен 1980 году, для использования во встраиваемых системах. В течение 1980 ых и начале 1990 ых годов был… …   Википедия

  • Программатор — ПЗУ с ультрафиолетовым стиранием Программатор  аппаратно программное устройство, предназначенное для записи/считывания информации в постоянное запоминающее устройство (однократно записывае …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»