stringtranslate.com

Возможность программирования в полевых условиях

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

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

История

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

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

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

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

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

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

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

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

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

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

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

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

Внешние ссылки