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

редактировать

Встроенное программное обеспечение - это компьютер программное обеспечение, написанные для управляющих машин или устройств, которые обычно не считаются компьютерами, обычно называемые встроенными системами. Обычно он предназначен для конкретного оборудования, на котором он работает, и имеет ограничения по времени и памяти. Этот термин иногда используется взаимозаменяемо с прошивкой.

. Точная и стабильная особенность заключается в том, что никакие или не все функции встроенного программного обеспечения запускаются / управляются через человеческий интерфейс, а вместо этого через машинные интерфейсы.

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

Содержание

  • 1 Операционные системы
  • 2 Отличия от прикладного программного обеспечения
  • 3 Протоколы связи
  • 4 Ссылки
  • 5 См. также

Операционные системы

В отличие от стандартных компьютеров, которые обычно используют такие операционные системы, как OS X, Windows или GNU / Linux, встроенное программное обеспечение может не использовать операционную систему, или, когда они все-таки используются, можно выбирать из самых разных операционных систем, обычно из операционной системы реального времени. Это выполняется от небольших операций одного человека, состоящих из цикла выполнения и таймера, до LynxOS, VxWorks, BeRTOS, ThreadX, в Windows CE или Linux (с исправленным ядром). Другие включают OpenWrt, PikeOS, eCos, Fusion RTOS, Nucleus RTOS, RTEMS, INTEGRITY., uC / OS, QNX, FreeBSD и OSE. Код обычно пишется на C или C ++, но на различных языках программирования высокого уровня, таких как Python и JavaScript, теперь также широко используются для целевых микроконтроллеров и встроенных систем. Ada используется в некоторых военных и авиационных проектах.

Отличия от прикладного программного обеспечения

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

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

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

Разработка программного обеспечения требует использования кросс-компилятора, который работает на компьютере, но производит исполняемый код для целевого устройства. Отладка требует использования внутрисхемного эмулятора , JTAG или SWD. Разработчики программного обеспечения часто имеют доступ к полному исходному коду ядра (ОС).

Размер запоминающего устройства и ОЗУ может значительно различаться. Некоторые системы работают с 16 КБ флэш-памяти и 4 КБ ОЗУ с процессором, работающим на частоте 8 МГц, другие системы могут конкурировать с современными компьютерами. Эти требования к пространству приводят к тому, что больше работы выполняется на C или встроенный C ++ вместо C ++. Интерпретируемые языки, такие как BASIC (в то время как, например, Parallax Propeller может использовать скомпилированный BASIC) и Java (Java ME Embedded 8.3 доступен, например, для ARM Cortex-M4, Микроконтроллеры Cortex-M7 и более старые ARM11, используемые в Raspberry Pi и Intel Galileo Gen.2) обычно не используются ; в то время как реализация интерпретируемого языка Python 3 - MicroPython - однако доступна специально для использования микроконтроллером, например 32-битный ARM -сайт (например, BBC micro: bit ) и 16-битный микроконтроллеры PIC.

Протоколы связи

Связь между процессорами и между одним процессором и другими компонентами очень важна. Помимо прямой адресации памяти, распространенные протоколы включают I²C, SPI, последовательные порты и USB.

, разработанные протоколы связи. для использования во встроенных системах доступны как с закрытым исходным кодом от компаний, включая InterNiche Technologies и CMX Systems. Протоколы с открытым исходным кодом происходят от uIP, lwip и других.

Ссылки

  • Эдвард А. Ли, «Встроенное программное обеспечение», Advances in Computers (М. Зельковиц, редактор) 56, Academic Press, Лондон, 2002.

См. Также

Последняя правка сделана 2021-05-19 08:28:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте