Возможность программирования на месте - Field-programmability

An электронный устройство или Встроенная система как говорят программируемый или же программируемый на месте если это прошивка (Хранится в энергонезависимая память, Такие как ПЗУ ) можно модифицировать «в полевых условиях», не разбирая устройство и не возвращая его производителю.

Часто это крайне желательная функция, поскольку она может снизить стоимость и время выполнения замены багги или устаревшая прошивка. Например, цифровая камера поставщик может распространять прошивки с поддержкой нового образа формат файла инструктируя потребителей скачать новая прошивка изображение к камере через USB кабель.

История

Когда прошивка устройства хранится в маска ROM или же разовый программируемый PROM, его нельзя изменить без физической замены Интегральная схема, поэтому такое устройство не может быть программируемым в современном понимании. Стираемый PROM Прошивки на основе микропрограмм можно стереть и перепрограммировать, но только после длительного воздействия источника ультрафиолетового света высокой интенсивности.

Таким образом, программируемые устройства не применялись на практике до изобретения EEPROM и флэш-память в 1980-е гг. Ранние EEPROM можно было перепрограммировать только с помощью дорогих, специализированных программатор, так как они требовали высокого напряжения (10-20V, по сравнению с типичными 3-5 В логические уровни ) и не было стандартного программирования протокол; В результате полевое программирование в основном выполнялось профессиональными техниками и сервисными инженерами. Однако в начале 2000-х многие устройства были специально разработаны для программирования на месте обычными потребителями. Это стало возможным благодаря нескольким разработкам:

  • Современное EEPROM и вспышка устройства содержат внутренние зарядные насосы которые устраняют необходимость в высоких напряжениях.
  • Большинство потребителей имеют доступ к персональные компьютеры, который может выполнять произвольные протоколы программирования.
  • Вездесущий Интернет доступ предоставляет удобные средства для быстрого распространения образов прошивки.

Появились стандартные протоколы программирования устройств энергонезависимой памяти. Например, JTAG может использоваться для чтения и программирования микросхем EEPROM и Flash во многих бытовая электроника устройств. Многие такие устройства включают Заголовки JTAG внутри для заводского программирования и контроль качества, хотя нет внешних соединитель выставляется в готовом продукте.

Программируемая логика

В 80-е годы появились программируемая логика устройства (PLD), такие как PAL, PLA, и CPLD. Это интегральные схемы который может реализовывать почти произвольные цифровая логика функции, основанные на информации, аналогичной прошивке, хранящейся в энергонезависимой памяти.

Таким образом, устройства, содержащие PLD, можно рассматривать как программируемые на месте. аппаратное обеспечение, в то время как EEPROM и флэш-память действуют как хранилище для программируемых на месте программного обеспечения.

Программируемые вентильные матрицы (ПЛИС) были изобретены в 1984 году и представляют собой наиболее продвинутый вид программируемой логики, доступный сегодня. Эти высокопроизводительные устройства могут реализовывать чрезвычайно сложную логику, например микропроцессоры или же цифровые сигнальные процессоры. Сегодня они являются большим подспорьем в разработке и быстром внедрении цифровых электронных устройств. ПЛИС часто используются для прототипирование оборудования и аппаратное ускорение.

Возможности для любителей

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

Многочисленные онлайн-сообщества возникли вокруг устройств, которые, как оказалось, особенно подходят для такой модификации. Например, iPodLinux и OpenWrt проекты позволили пользователям запускать полнофункциональные дистрибутивы Linux на своих MP3-плеерах и беспроводных маршрутизаторах соответственно.

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

Смотрите также

внешняя ссылка