Встроенное программное обеспечение

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Прошивкой (англ. Firmware, fw) называется содержимое энергонезависимой памяти компьютера или любого цифрового вычислительного устройства — микрокалькулятора, сотового телефона, GPS-навигатора и т. д., в которой содержится его микропрограмма.

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

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

Большинство устройств допускают замену содержимого памяти («перепрошивку»). Способы «перепрошивки» могут быть самыми различными — от физической замены микросхемы памяти до передачи данных по беспроводным каналам.

Содержание

История [править]

Жгут прошивки для ПЗУ на П-образных сердечниках
Материнская плата для анализатора спектра для 440A Nicolet. Примерно 1975 год

Термин «прошивка» появился в 60-х годах ХХ века, когда в ЭВМ использовалась память на магнитных сердечниках. В постоянных запоминающих устройствах (ПЗУ) использовались Ш-образные и П-образные сердечники. Ш-образные сердечники имели зазор около 1 мм, через который и укладывался провод. Для записи двоичной «1» провод укладывался в одно окно сердечника, а для записи «0» — в другое. В сердечник высотой 14 мм укладывалось 1024 провода, что соответствовало 1К данных одного разряда. Работа выполнялась протягиванием провода вручную с помощью «карандаша», из кончика которого тянулся провод, и таблиц прошивки. При такой кропотливой и утомительной работе возникали ошибки, которые выявлялись на специальных стендах проверки. Исправление ошибок осуществлялось обрезанием ошибочного провода и прошивкой взамен него нового.

В начале 70-х годов появились П-образные сердечники, которые позволяли использовать для прошивки автоматические станки. Прошивка выполнялась не непосредственно в устройстве ПЗУ, а в жгутах по 64, 128 или 256 проводов. Прошиваемые данные вводились в станок с помощью перфокарт. На специальной оснастке жгуты снимались со станка, обвязывались нитками, и концы проводов распаивались на колодки. После этого жгуты укладывались в блок ПЗУ. Как при ручной прошивке, так и при работе на прошивочном станке требовалась аккуратность и хорошее зрение, поэтому на прошивке работали молодые девушки, что и по наше время остается характерным для других областей микроэлектроники.

Применение [править]

Микропрограммы («прошивки») применяются везде, где применяются микропроцессоры: в мобильных телефонах, фотоаппаратах, измерительных приборах, телевизорах, платёжных картах и т. п.

Зачастую различные по возможностям и цене приборы отличаются лишь версиями микропрограммы. Для обозначения версии микропрограммы используется номер партии аппаратного обеспечения или другие специализированные идентификаторы. Часто смена «прошивки» производится изготовителем без уведомления потребителя.

Примеры реализации [править]

Широко известным примером является BIOS, поставляемая вместе с материнской платой компьютера и обеспечивающая начальную подготовку компьютера к запуску операционной системы.

«Прошивки» могут создаваться «с нуля» для данного конкретного типа устройства, либо иметь в основе готовую операционную систему, как правило, с открытым исходным кодом.

Так, для небольших устройств иногда используется FreeRTOS. В последнее время, в связи с удешевлением памяти, достаточно часто применяется GNU/Linux.

Для написания исходных текстов программ используются ассемблеры, язык Си, языки типа Verilog для микросхем с программируемой логикой (ПЛИС).

Юридические и финансовые вопросы [править]

Несмотря на то что применение микропрограмм в целом удешевляет конструирование и изготовление устройства, разработка «прошивки» обычно занимает большее время и стоит дороже, чем разработка аппаратного обеспечения прибора [источник не указан 916 дней].

В связи с этим фирмы-производители, как правило, очень ревностно следят за сохранностью «прошивок»: лицензионное соглашение с потребителем запрещает извлекать и изучать «прошивки» тем или иным способом:

  • самовольная замена «прошивки» на другую («перепрошивка») обычно прекращает действие гарантийных обязательств фирмы;
  • процедуры обслуживания и изменения режимов работы микропрограмм обычно не разглашаются и в лучшем случае известны только работникам фирменных сервисных центров.

Некоторые фирмы (Microchip, Atmel и др.) производят микропроцессоры со встроенной программируемой памятью, такой, что записанная на них программа уже не может быть считана штатными средствами. С другой стороны, фирмы-конкуренты иногда используют для считывания, например, электронные микроскопы.

Ссылки [править]

Литература [править]

Смирнов Г.С. Ферритовая память ЭВМ “Урал”. Страницы истории разработок. — Пенза, 2006.