Что такое Прошивка?
Прошивка (firmware, микропрограмма) - программное обеспечение, встроенное («зашитое») в аппаратное устройство. Часто представляется в виде микросхем флеш-ПЗУ или в виде файлов образов микропрограммы, которые могут быть загружены в аппаратное обеспечение.
Под прошивкой понимается следующее:
- Компьютерная программа, записанная на интегральной микросхеме ПЗУ и управляющая работой аппаратного обеспечения.
- Программа, записанная на той же микросхеме, что и процессор и превращающая его в специализированный для управления аппаратным обеспечением (микроконтроллер).
- Программа по тактам, управляющая ресурсами вычислительного устройства (ALU, сдвигатели, мультиплексоры и др.). Обычно, в командном слове, выделяются отдельные биты для управления необходимым устройством.
- Программа конфигурирования различных ПЛИС (FPGA, CPLD, PAL и т. п.).
Зачастую различные по возможностям и цене приборы отличаются лишь версиями прошивки. Для обозначения версии прошивки используется номер партии аппаратного обеспечения или другие специализированные идентификаторы, часто смена прошивки производится изготовителем без уведомления потребителя.
Прошивки (микропрограммы) применяются везде, где применяются микропроцессоры: в мобильных телефонах, фотоаппаратах, измерительных приборах, телевизорах, платёжных картах и т. д. и т. п.
Широко известным примером является BIOS, поставляемая вместе с материнской платой компьютера и обеспечивающая начальную подготовку компьютера к запуску операционной системы. Прошивки могут создаваться «с нуля» для данного конкретного типа устройства, либо иметь в основе готовую операционную систему, как правило, с открытым исходным кодом. Так, для небольших устройств иногда используется FreeRTOS. В последнее время, в связи с удешевлением памяти, достаточно часто применяется GNU/Linux.
Для написания исходных текстов программ используются ассемблеры, язык Си, языки типа Verilog'а для микросхем с программируемой логикой (ПЛИС).