Автоматное программирование
- 1 year ago
- 0
- 0
Внутрисхемное программирование ( англ. in-system programming , сокр. ISP , также in-circuit serial programming, ICSP ) — технология программирования электронных компонентов ( ПЛИС , микроконтроллеры и т. п.), позволяющая программировать компонент, уже установленный в устройство. До появления этой технологии компоненты программировались перед установкой в устройство, для их перепрограммирования требовалось их извлечение из устройства.
Главным преимуществом технологии является возможность объединения процесса программирования и тестирования при производстве, исключив отдельную фазу программирования компонентов перед окончательной сборкой. Технология также позволяет производителям устройств обойтись без закупки заранее запрограммированных компонентов, выполняя программирование прямо в процессе производства. Это позволяет снизить стоимость производства и вносить изменения в программируемую часть устройства без остановки производства.
Микросхемы, имеющие возможность внутрисхемного программирования, обычно имеют специальную схему, генерирующую напряжения, необходимые для программирования, из обычного напряжения питания, а также схему для коммуникации с программатором посредством последовательного интерфейса (большинство микросхем использует вариации протокола JTAG ). Программирование через интерфейс ISP происходит по пяти линиям связи: MOSI, MISO, SCK , RESET и GND .
Существуют два основных способа ISP:
Преимущество загрузчика заключается в том, что возможно программирование МК через любой имеющийся у него интерфейс любым удобным протоколом (даже зашифрованным, если загрузчик возьмёт на себя и расшифровку). Загрузчик также удобен при удалённом обновлении прошивки МК. Недостаток — часть ПЗУ недоступна для размещения основной программы.
После того как загрузчик записал в память микроконтроллера прошивку, он в дальнейшем или запускает прикладную программу сам или ожидает какой-то команды от управляющей программы на компьютере, это зависит от реализации конкретного загрузчика.
Обновление прошивки микроконтроллера также может производится этим же загрузчиком, при этом сам он не затирается (хотя такая возможность и существует).