Наверняка вы слышали фразы вроде: «обновил прошивку телефона», «у фотоаппарата проблемы с прошивкой» или «пиратская прошивка». Сейчас эти фразы означают любой софт, который управляет железом на низком уровне.
О чём речь
Сам термин «прошивка» появился примерно 70 лет назад: это было время, когда ещё не было интегрированных микросхем и микроэлектроники, а вычислительные машины уже были. И вот тогда вместо флеш-памяти и жёстких дисков использовали память на магнитных сердечниках.
Сердечник — это тороид (типа бублик) из специального материала, который можно намагничивать с помощью тока. Через сердечники пропускают ток в разных направлениях, и в зависимости от этого менялись магнитные свойства этого сердечника. Намагниченный сердечник означал единицу, размагниченный — ноль.
Кайф был в том, что намагниченный сердечник оставался намагниченным, не мешал соседям и терял заряд очень медленно, поэтому такую технологию можно было с некоторой натяжкой назвать компьютерной памятью.
Чтобы собрать рабочий модуль памяти, нужно было продевать множество проводов через множество бубликов, что напоминало процесс прошивания иголкой и ниткой. Процесс был ручным: сидели инженеры и шили себе память. Отсюда и слово — «прошивка».
Потом изобрели печатные платы и интегрированные микросхемы, жить стало веселей, появилась флеш-память и магнитные накопители. Процесс записи данных поменялся, а термин остался. С тех пор прошивкой называют программу, заложенную в микросхему и отвечающую за её работу.
Зачем нужна прошивка
Прошивка в электронике отвечает за работу всего устройства — телефона, фотоаппарата, умной колонки, часов или охранного модуля. Сама прошивка хранится либо в той же микросхеме в блоке памяти, либо в отдельном чипе, если для неё нужно много места.
Когда устройство включается, происходит такое:
- На микросхему подаётся напряжение.
- Микросхема подготавливает память и все модули для работы прошивки.
- После этого она идёт туда, где лежит прошивка, и запускает оттуда команды по очереди.
👉 Получается, что прошивка — это программа, которая отвечает за работу всего устройства на самом низком уровне.
Зачем менять прошивку
Иногда производитель устройства не добавляет в него некоторые возможности. В этом случае программисты извлекают файл прошивки из устройства, разбираются, из чего он состоит, и смотрят, можно ли в нём что-то изменить, чтобы сделать устройство лучше.
История из жизни одного производителя смартфонов: при производстве телефонов используется один модуль камеры и в дешёвых, и в дорогих моделях. Чтобы они не конкурировали между собой, производитель может в прошивке дешёвой модели отключить оптическую стабилизацию или ночную съёмку. В итоге покупатели знают, что если нужна ночная съёмка, то нужно взять дорогую модель, потому что она это умеет, а дешёвая нет.
Но если в прошивке убрать это ограничение и загрузить её на дешёвый телефон, то он тоже станет снимать и со стабилизацией, и ночной режим появится. В итоге за те же деньги пользователь может получить новые возможности устройства. Но теряет гарантию производителя.
Другой пример — из мира фотоаппаратов. У старых камер Canon есть стандартная прошивка, у неё много ограничений. Разработчики придумали альтернативную прошивку Magic Lantern, которая делает из камеры настоящего зверя для съёмки видео.
Прошивка — не для всей электроники
Есть много устройств, которые прошить не получится: либо нужно распаивать микросхему, либо она защищена от записи. Чаще всего это простая бытовая техника: пульты от телевизоров, миксеры, микроволновки, детские игрушки и тому подобное.
👉 Общее правило такое: если устройство можно подключить к интернету или к компьютеру — скорее всего, его можно прошить. Работает это не всегда, но чаще всего так.
А можно ничего не прошивать и пользоваться как есть?
Можно, иногда даже нужно, если прошивка отвечает за важные системы, например за работу домашнего газового котла, автомобильных систем безопасности или кардиостимулятора.